Ocena:

Książka ta jest uznawana za niezbędne źródło wiedzy na temat wydajności w programowaniu systemowym, cenione za praktyczne spostrzeżenia i jasne przedstawienie złożonych tematów. Choć wielu uważa ją za bardzo wartościową i wciągającą, niektórzy czytelnicy zmagają się z organizacją autora i trafnością niektórych treści.
Zalety:⬤ dostarcza praktycznych, bezsensownych porad dotyczących wydajności oprogramowania
⬤ dobrze napisana i zwięzła
⬤ wciągający styl pisania
⬤ dogłębna eksploracja podstawowych pojęć i kompromisów
⬤ służy zarówno jako źródło wiedzy, jak i praktyczny podręcznik
⬤ oferuje wgląd w rozległe doświadczenie autora w tej dziedzinie.
⬤ Niektórzy czytelnicy uważają, że pomysły autora są trudne do naśladowania ze względu na brak jasnej organizacji
⬤ niektóre rozdziały mogą zawierać nieistotne informacje
⬤ niewystarczający nacisk na nowoczesną dynamikę wielordzeniową / wieloprocesorową
⬤ postrzegane przez niektórych jako przewartościowane.
(na podstawie 4 opinii czytelników)
Understanding Software Dynamics
Od aplikacji mobilnych i chmurowych, przez gry wideo, po sterowanie pojazdami bez kierowcy, coraz więcej oprogramowania jest ograniczonych czasowo: musi niezawodnie dostarczać wyniki w sposób płynny, spójny i praktycznie natychmiastowy. Jeśli to się nie udaje, klienci są niezadowoleni - a czasami zagrożone jest życie. Gdy oprogramowanie z ograniczeniami czasowymi nie spełnia swoich wymagań, inżynierowie oprogramowania muszą szybko zidentyfikować i wyeliminować przyczyny źródłowe. Jest to trudne, a do tej pory dostępnych było niewiele narzędzi, które mogłyby w tym pomóc.
Teraz światowej sławy ekspert w dziedzinie wydajności oprogramowania, Richard Sites, stawia czoła temu problemowi, oferując metody eksperckie i zaawansowane narzędzia do zrozumienia złożonej dynamiki oprogramowania z ograniczeniami czasowymi, poprawy niezawodności oprogramowania i rozwiązywania trudnych problemów z wydajnością. Zajmuje się procesorem, pamięcią, dyskiem, siecią i nie tylko, pomagając naprawić programy, które zawsze są zbyt wolne lub działają dobrze w niektórych momentach, ale w niewytłumaczalny sposób zwalniają w innych.
Sites czerpie z kilkudziesięcioletniego doświadczenia w pionierskiej optymalizacji wydajności oprogramowania oraz bogatego doświadczenia w nauczaniu programistów na poziomie magisterskim. Przedstawia zasady i techniki, które można wykorzystać w dowolnym środowisku, od urządzeń wbudowanych po centra danych, oświetlając je przykładami opartymi na procesorach x86 lub ARM z systemem Linux i połączonych przez Ethernet. Sites prowadzi również czytelników przez budowanie i stosowanie nowego, niezwykle niskonakładowego narzędzia open source, KUtrace, aby dokładnie prześledzić, co jest wykonywane na każdym rdzeniu procesora. Korzystając ze spostrzeżeń zebranych za pomocą tego narzędzia, czytelnicy mogą zastosować zniuansowane podejście do zwiększania wydajności - a nie tylko techniki brutalnej siły, takie jak wyłączanie pamięci podręcznej lub rdzeni.