We współczesnym świecie, pełnym pośpiechu i rywalizacji, sprawność programu jest pokaźna dla klientów, jak oferowane przez niego funkcje. Ten ergonomiczny podręcznik wyjaśnia podstawowe zasady podnoszenia sprawności, które pomagają w optymalizacji kodu C++. Uczy, jak przypasowywać poprawny kod C++ tak, by działał on szybciej i zużywał mniej zasobów na każdym komputerze, począwszy od zegarka, przez telefon, stację roboczą, superkomputer, aż po globalną sieć serwerów.
Autor Kurt Guntheroth pokazuje szereg przykładów przedstawiających, w jaki sposób można, stopniowo wdrażając przedstawione zasady, osiągnąć kod spełniający kryteria konsumentów dotyczące reaktywności i przepustowości. O przydatności porad zamieszczonych w tej książce będzie się można przekonać, gdy kolega z zespołu zawoła: „Zaczęło działać niesamowicie szybko. Kto coś naprawił?"
Dowiedz się jak:
• Wyznaczać kandydatów do optymalizacji przy użyciu programu profilującego, a także czasomierzy programowych
• Przeprowadzać powtarzalne eksperymenty w celu mierzenia skuteczności zmienionych wersji kodu
• Optymalizować wykorzystanie zmiennych intensywnych
• Podnieść efektywność kosztownych pętli i funkcji
• Przyspieszyć działanie funkcji przetwarzających ciągi
• Rozpoznawać skuteczne algorytmy i wzorce optymalizacyjne
• Identyfikować solidne i słabe strony klas kontenerów w C++
• Analizować wyszukiwanie i sortowanie z perspektywy optymalizatora
• W wydajny sposób używać funkcji przesyłania strumieniowego we/wy w języku C++
• W skuteczny sposób stosować w kodzie C++ funkcje równoległe bazujące na wątkach
„ Cenne źródło funkcjonalnych porad — aktualnych, adekwatnych i osadzonych w rzeczywistości. Potężne kompendium wiedzy o nowym obliczu języka C++."
—Jerry Tan
Starszy programista,
The Depository Trust & Clearing Corporation
Kurt Guntheroth, programista z ponad 35-letnim doświadczeniem, od ćwierćwiecza zajmuje się opracowywaniem produktywnego kodu C++. Rozwija programy dla platform Windows, Linux, a także systemów wbudowanych. Kurt mieszka w Seattle w stanie Waszyngton.