Reddit-learnprogramming – czy hack znany jako “Duff's Device” jest używany w rzeczywistych aplikacjach?

urządzenie Duffa jest (prawie) zawsze przykładem tego, co nazwalibyśmy “mikro-optymalizacją.”Klasycznym przykładem mikro-optymalizacji jest taka, która komplikuje i splata podstawę kodu, nie powodując zauważalnej poprawy wydajności aplikacji.

Większość trików, takich jak urządzenie Duffa, które optymalizuje jedną pętlę, jedną małą funkcję itp., to mikro-optymalizacje. Procesory są tak cholernie szybkie w dzisiejszych czasach, że zwykle nie uzyskujesz żadnej wymiernej poprawy za pomocą tych sztuczek. Zdecydowanie utrudniasz zrozumienie i utrzymanie kodu o rząd wielkości. Oprócz szybkości procesora Kompilatory są obecnie naprawdę inteligentne. Mogą robić takie sztuczki za kulisami, aby zoptymalizować skompilowany program, bez potrzeby bastardowania kodu źródłowego.

większość “problemów” z wydajnością jest obecnie na wyższym poziomie niż poszczególne pętle. Myślenie w kategoriach tego, w jaki sposób model danych jest reprezentowany na dysku i w pamięci, jak można ograniczyć wymianę między dyskiem a pamięcią RAM, jak zoptymalizować ilość danych serializowanych, wysyłanych i deserializowanych przez sieć itp. Następnie zapoznasz się z algorytmami wyższego poziomu i podejściami, które podejmujesz, aby rozwiązać problem związany z procesorem. Dotarcie do punktu optymalizacji pojedynczej pętli za pomocą czegoś takiego jak urządzenie Duffa jest dziś prawie zawsze niewłaściwą rzeczą.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.