Reddit-learnprogramming – je hack známý jako “Duff's zařízení” používané v reálných aplikacích?

Duffovo zařízení je (téměř) vždy příkladem toho, co bychom nazvali “mikrooptimalizací”.”Klasickým příkladem mikrooptimalizace je ten, který komplikuje a stáčí kódovou základnu, aniž by přinesl jakékoli znatelné zlepšení výkonu aplikace.

většina triků, jako je Duffovo zařízení, které optimalizuje jednu smyčku, jednu malou funkci atd., jsou mikrooptimalizace. Procesory jsou v těchto dnech tak zatraceně rychlé, že pomocí těchto triků obvykle nezískáte žádné měřitelné zlepšení. Rozhodně však ztěžujete pochopení a udržování svého kódu. Kromě rychlosti procesoru jsou kompilátory v dnešní době opravdu chytré. Mohou dělat triky, jako je tento v zákulisí optimalizovat kompilovaný program, aniž byste museli bastardizovat zdrojový kód.

většina výkonnostních “problémů” v těchto dnech je ve skutečnosti na vyšší úrovni než jednotlivé smyčky. Přemýšlíte o tom, jak je váš datový model reprezentován na disku a v paměti, jak můžete omezit výměnu mezi diskem a RAM, jak optimalizovat množství dat serializovaných, odeslaných a dezerializovaných v síti atd. Odtud se dostanete do algoritmů vyšší úrovně a přístupů, které používáte k vyřešení problému skutečně vázaného na CPU. Dostat se do bodu optimalizace jedné smyčky s něčím, jako je Duffovo zařízení, je dnes téměř vždy špatná věc.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.