Sztuka pisania wydajnych programów: Zaawansowany przewodnik programisty po efektywnym wykorzystaniu sprzętu i optymalizacji kompilatora na przykładach C++

Ocena:   (4,6 na 5)

Sztuka pisania wydajnych programów: Zaawansowany przewodnik programisty po efektywnym wykorzystaniu sprzętu i optymalizacji kompilatora na przykładach C++ (G. Pikus Fedor)

Opinie czytelników

Obecnie brak opinii czytelników. Ocena opiera się na 75 głosach.

Oryginalny tytuł:

The Art of Writing Efficient Programs: An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples

Zawartość książki:

Zapoznaj się z różnymi technikami poprawy wydajności, takimi jak współbieżność, programowanie bez blokad, operacje atomowe, równoległość i zarządzanie pamięcią.

Kluczowe cechy:

⬤ Zrozumienie ograniczeń współczesnych procesorów i ich wpływu na wydajność.

⬤ Dowiedz się, jak uniknąć pisania nieefektywnego kodu i uzyskać najlepsze optymalizacje od kompilatora.

⬤ Poznanie kompromisów i kosztów pisania wydajnych programów.

Opis książki:

Wielki darmowy lunch "wydajność dba o siebie" dobiegł końca. Do niedawna programy stawały się szybsze same z siebie, gdy procesory były ulepszane, ale tak się już nie dzieje. Częstotliwość taktowania nowych procesorów osiągnęła niemal szczyt. Nowe architektury zapewniają niewielkie ulepszenia dla istniejących programów, ale pomaga to tylko nieznacznie. Procesory stają się coraz większe i wydajniejsze, ale większość tej nowej mocy jest zużywana przez zwiększoną liczbę rdzeni przetwarzających i innych "dodatkowych" jednostek obliczeniowych. Aby pisać wydajne oprogramowanie, trzeba teraz wiedzieć, jak programować, dobrze wykorzystując dostępne zasoby obliczeniowe, a ta książka nauczy Cię, jak to zrobić.

Książka obejmuje wszystkie główne aspekty pisania wydajnych programów, takie jak efektywne wykorzystanie zasobów procesora i pamięci, unikanie niepotrzebnych obliczeń, mierzenie wydajności oraz dobre wykorzystanie współbieżności i wielowątkowości. Dowiesz się również o optymalizacjach kompilatora i jak efektywniej korzystać z języka programowania (C)+). Wreszcie, zrozumiesz, jak decyzje projektowe wpływają na wydajność.

Pod koniec tej książki będziesz miał nie tylko wystarczającą wiedzę na temat procesorów i kompilatorów, aby pisać wydajne programy, ale będziesz także w stanie zrozumieć, jakich technik używać i co mierzyć podczas poprawy wydajności. U podstaw tej książki leży nauka uczenia się.

Czego się nauczysz:

⬤ Dowiedz się, jak efektywnie wykorzystywać sprzętowe zasoby obliczeniowe w swoich programach.

⬤ Zrozumieć związek między kolejnością pamięci a barierami pamięci.

⬤ Zapoznać się z implikacjami wydajności różnych struktur i organizacji danych.

⬤ Ocenić wpływ współbieżnego dostępu do pamięci na wydajność i jak go zminimalizować.

⬤ Odkrycie, kiedy używać, a kiedy nie używać technik programowania bez blokad.

⬤ Zbadanie różnych sposobów poprawy skuteczności optymalizacji kompilatora.

⬤ Projektowanie interfejsów API dla współbieżnych struktur danych i struktur danych o wysokiej wydajności w celu uniknięcia nieefektywności.

Dla kogo jest ta książka:

Ta książka jest przeznaczona dla doświadczonych deweloperów i programistów, którzy pracują nad projektami o krytycznym znaczeniu dla wydajności i chcą poznać różne techniki poprawy wydajności swojego kodu. Programiści, którzy należą do społeczności zajmujących się handlem algorytmicznym, grami, bioinformatyką, genomiką obliczeniową lub obliczeniową dynamiką płynów, mogą nauczyć się różnych technik z tej książki i zastosować je w swojej dziedzinie pracy.

Mimo że w książce wykorzystano język C++, przedstawione w niej koncepcje można łatwo przenieść lub zastosować do innych skompilowanych języków, takich jak C, Java, Rust, Go i innych.

Dodatkowe informacje o książce:

ISBN:9781800208117
Autor:
Wydawca:
Język:angielski
Oprawa:Miękka oprawa

Zakup:

Obecnie dostępne, na stanie.

Inne książki autora:

Hands-On Design Patterns with C++: Rozwiązywanie typowych problemów w C++ za pomocą nowoczesnych...
Wszechstronny przewodnik z obszernym omówieniem...
Hands-On Design Patterns with C++: Rozwiązywanie typowych problemów w C++ za pomocą nowoczesnych wzorców projektowych i tworzenie solidnych aplikacji - Hands-On Design Patterns with C++: Solve common C++ problems with modern design patterns and build robust applications
Sztuka pisania wydajnych programów: Zaawansowany przewodnik programisty po efektywnym wykorzystaniu...
Zapoznaj się z różnymi technikami poprawy...
Sztuka pisania wydajnych programów: Zaawansowany przewodnik programisty po efektywnym wykorzystaniu sprzętu i optymalizacji kompilatora na przykładach C++ - The Art of Writing Efficient Programs: An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples
Praktyczne wzorce projektowe w C++ - wydanie drugie: Rozwiązywanie typowych problemów w C++ za...
Wszechstronny przewodnik z obszernym omówieniem...
Praktyczne wzorce projektowe w C++ - wydanie drugie: Rozwiązywanie typowych problemów w C++ za pomocą nowoczesnych wzorców projektowych i tworzenie solidnych aplikacji - Hands-On Design Patterns with C++ - Second Edition: Solve common C++ problems with modern design patterns and build robust applications

Prace autora wydały następujące wydawnictwa: