>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Optimalizace obecně
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Existují obecná pravidla optimizování pro 486 a Pentáč.
Tady jsou :
• Snažte se mít co nejvíc proměnných v registrech. Pamět je
pomalá záležitost a přístup do ní procesor hrozně zdržuje.
• "Zarovnávání" dat a kódu na sudé adresy (memory align).
Nejrychlejší přístup je po 4 bytech (dword).
• Vyhněte se používání reálných čísel. Fixed-point aritmetika
poskytuje dostatečnou přesnost i pro malá čísla - záleží jak
velkou zvolíte desetinnou část.
• Nepoužívat instrukci LOOP. Nahraďte ji raději kombinací
DEC/JNZ
• Omezit instrukce OUT/IN. Například v módech X, kde je nutno
přepínat bitové roviny je lepší udělat si "bafr" pro každou
bitovou rovinu a poté je "nafrkat" do paměti.
• Používat SHR/SHL/LEA místo násobení/dělení
• A vůbec - nepoužívat složitější matematické funkce - jsou
strašně pomalý - je lepší udělat si v paměti pole a do něho
předpočítat nějaké ty údaje. Platí to hlavně pro Sin, Cos a
vůbec goniometrické funkce, Sqrt, mocniny na n-tou a tak ...
• Násobení konstantou v cyklu nahradit aritmetickou posloupností
výheň