Dne 6. a 7. září proběhl 5. ročník Technical Computing Camp v Brně, akce pořádané…
Kontrolní seznam pro optimalizaci kódu v prostředí MATLAB
Kontrolní seznam pro optimalizaci kódu v prostředí MATLAB:
- Rozhodněte se, jestli má smysl optimalizovat a kdy ne.
- Stanovte realistické výkonnostní cíle.
- Změřte výkon aplikace před optimalizací a opakovaně měřte během optimalizačního procesu. Ukončete optimalizační proces, jakmile je dosaženo požadovaného výsledku, viz předchozí bod.
- Použijte profilování a tic/toc funkce pro zjištění problematických úseků kódu.
- Umístěte invarianty mimo smyčky pro zjednodušení běhu smyčky.
- Připravte si paměť pro proměnné.
- Používejte ukládání do mezipaměti, jak jen to jde.
- Používejte vektorizaci a hromadné indexování.
- Iterujte dolů po řádcích než po sloupcích.
- Omezte velikost m souborů na max 2000 řádků kódu.
- Zpracovávejte menší datové bloky. Vyvažujte odezvu a propustnost.
- Co možná nejvíce zjednodušte složitost cílového algoritmu a konečnou přesnost řešení.
- Používejte správné datové typy, preferujte numerické datové typy, řídké datové typy, pokud je to možné a omezte přetypování za běhu programu.
- Vyhněte se datasetům, table (tabulkám), categorical array (kategorickým polím) a použijte radši alternativy.
- Nahraďte stringy numerickými datovými typy, speciálně pro datum a čas.
- Vyhněte se anonymním funkcím, pokud můžete použít normální ukazatel na funkci.
- Používejte spíše procedurální programování než objektové.
- Vypněte úlohu po startu MATLAB start-up akcelerátor, zvláště pokud máte nainstalováno více verzí MATLABu.
- Používejte MATLAB bez uživatelského rozhraní, pokud ho nepotřebujete.
- Používejte nejnovější verze MATLABu.
- Použijte Parallel Computer Toolbox pro multivláknové a GPU programování.
- Použijte Distributed Computing Server pro cloudové programování.
- Používejte MATLAB Coder pro automatický převod MATLAB kódu do jazyka C.
- Používejte kódy třetích stran, pokud se jedná o specifické úkoly.
- Používejte již vytvořené grafické objekty místo vytváření nových.
- Používejte statické legendy nebo legendy a barevné mapy nepoužívejte vůbec.
- Vytvářejte a aktualizujte grafické komponenty v neviditelném režimu.
- Úkoly, které nesouvisí s grafikou, odložte až na konec aktualizace zobrazení.
- Používejte drawnow v okamžiku, kdy jste skončili s úpravou/aktualizací grafického objektu.
- Potlačte výstup do konzoly pomocí středníku na konci příkazu.
- Konsolidujte operace nad diskem a sítí.
- Minimalizujte přístup na síť a na HDD.
- Používejte binární soubory místo textových, kdykoliv je to možné.
- Používejte textscan při čtení textových souborů místo alternativ.
- Používejte nejnovější verze utilit z MATLAB File Exchange, které mohou nahradit i vestavěné funkce MATLAB a být rychlejší.
0 komentářů k zobrazení