Książka zawiera opis metod używanych do zwiększania szybkości działania
programów na drodze optymalizacji. Publikacja jest przeznaczona dla
programistów tworzących aplikacje na platformach PC oraz uniksowych. Autor poświęcił
szczególną uwagę kwestiom pamięci RAM i pamięci podręcznej, ale wskazuje również
typowe błędy popełniane przez programistów rzutujące na szybkość działania
programów i przedstawia techniki efektywnego pisania kodu.
W książce znajdują się również szczegółowe opisy urządzeń, mechanizmów
oddziaływania między różnymi częściami komputera. Programiści dowiedzą się
również, jak w językach wysokiego poziomu skutecznie implementować metody
programowania realizowane zazwyczaj w asemblerze.
Książka jest przeznaczona dla programistów mających pewne doświadczenie w
programowaniu w językach C i C++ oraz dla osób zajmujących się programowaniem
systemowym znających w pewnym stopniu asemblera. Mimo to opisane techniki optymalizacji
nie są związane z żadnym konkretnym językiem wysokiego poziomu. Dlatego znajomość
języka C jest niezbędna jedynie w celu zrozumienia podanego w książce kodu
źródłowego.
Ta publikacja będzie także przydatna sprzętowcom oraz technikom - zwłaszcza tym,
którzy zajmują się budowaniem komputerów i poprawianiem ich parametrów, gdyż
znajdują się tu szczegółowe opisy zasad działania sprzętu oraz omówienia
najczęściej występujących wąskich gardeł.
Ogólne zalecenia autora dotyczące optymalizacji kodu:
Przed przystąpieniem do optymalizacji kodu opracować niezawodną
niezoptymalizowaną wersję tego kodu.
Używać optymalizacji algorytmicznej, a nie funkcji systemu, w celu uzyskania
poprawy działania.
Nie mylić optymalizacji kodu z implementacją w asemblerze.
Przed podjęciem próby ponownego napisania programu w asemblerze przejrzeć
kod asemblerowy wygenerowany przez kompilator i ocenić jego wydajność.
Jeśli kod asemblerowy jest idealny, ale program wciąż działa powoli,
załadować go do dezasemblera.
Przy opracowywaniu kodu asemblerowego tworzyć zgrabne i wydajne rozwiązania,
pozbawione wodotrysków.
Kris Kaspersky jest autorem artykułów i książek na tematy
związane z hakingiem, dezasemblacją i optymalizacją kodu. Zajmował się wieloma
problemami dotyczącymi bezpieczeństwa i programowania systemowego, w tym opracowywania
kompilatorów, technik optymalizacji, badania mechanizmów zabezpieczeń, tworzenia jąder
systemów operacyjnych czasu rzeczywistego oraz programów antywirusowych.
404 strony, miękka oprawa