Jeszcze kilka lat temu,zwiększyć prędkość działania programu, wystarczyło wymienić procesor. Dzisiejsze procesory nie są znacząco szybsze od poprzedników. Nowsze architektury gwarantują zaledwie nieduże przyrosty sprawności istniejących już programów. Nie ma innego wyjścia: jeśli programista chce wytwarzać skuteczne oprogramowanie, musi wiedzieć, jak stosownie używać przystępnych zasobów obliczeniowych. Jest to nieprzystępna sztuka, wymagająca ciągłej gotowości do nauki.
To książka dedykowana dla doświadczonych programistów, którzy chcą produktywnie kreować sprawny kod. Omówiono w niej, jak korzystać z zasobów procesora i pamięci, unikać zbędnych obliczeń, mierzyć skuteczność kodu i dobrze stosować współbieżność i wielowątkowość. Zaprezentowano też zagadnienia związane z optymalizacjami przeprowadzanymi poprzez kompilator oraz metody sprawniejszego korzystania z atrybuty języka programowania (C++). Starannie wyjaśniono zasady projektowania oprogramowania pod kątem produktywności i żeby ułatwić przyswajanie wiedzy, zamieszczono niemało przykładów, które będą przydatne w czasie samodzielnej nauki. Dzięki dogłębnemu zrozumieniu wiedzy ujętej w książce łatwiej będzie podejmować właściwe decyzje podczas projektowania nowego systemu albo modyfikowania już istniejącej architektury.
Najciekawsze zagadnienia:
- korzystanie ze sprzętowych zasobów obliczeniowych
- uporządkowanie pamięci i należyte zorganizowanie informacji
- sprawność operacji a współbieżny dostęp
- stosowanie technik programowania bez zastosowania blokady
- powiększanie wydajności optymalizacji za pomocą kompilatora
- interfejsy API dla współbieżnych struktur informacji i struktur o pokaźnej produktywności
prawidłowe decyzje projektowe to klucz do skuteczności kodu!