Ocena:

Książka otrzymuje mieszane recenzje, chwalone za kompleksowe omówienie nowoczesnego języka C++ i programowania o wysokiej wydajności, zwłaszcza z uwzględnieniem materiału C++20. Podczas gdy wielu recenzentów docenia jej głębię i praktyczne porady, pojawiają się istotne uwagi krytyczne dotyczące jakości publikacji, kwestii formatowania i trafności niektórych treści. Ogólnie rzecz biorąc, jest ona zalecana dla osób z wcześniejszą znajomością języka C++, choć początkujący mogą uznać ją za wyzwanie.
Zalety:⬤ Kompleksowe i dogłębne omówienie nowoczesnego języka C++ (C++20).
⬤ Wyważone i przemyślane porady, kładące nacisk na nowoczesne idiomy.
⬤ Praktyczne przykłady, które pomagają w zrozumieniu programowania o wysokiej wydajności.
⬤ Przejrzyste wyjaśnienia, które upraszczają złożone tematy, dzięki czemu jest to cenne źródło informacji zarówno dla średnio zaawansowanych, jak i doświadczonych programistów.
⬤ Zawiera ważne informacje związane z aktualnymi standardami C++, zachęcając do efektywnego kodowania.
⬤ Słaba jakość publikacji krytykowana przez wielu recenzentów (np. jakość papieru, formatowanie).
⬤ Niespójne nagłówki sekcji i słaba struktura organizacyjna utrudniają nawigację.
⬤ Niektóre treści postrzegane jako zbyt podstawowe lub powtarzalne, pozbawione wystarczającej ilości szczegółów na temat wysokowydajnej optymalizacji.
⬤ Specyficzne problemy z formatowaniem w wersji na Kindle, takie jak myślniki w kodzie źródłowym.
⬤ Zwrócono uwagę na pewne nieścisłości i literówki, które obniżają ogólną jakość.
(na podstawie 34 opinii czytelników)
C++ High Performance, Second Edition: Master the art of optimizing the functioning of your C++ code
Kompleksowy przewodnik, który pomoże początkującym i profesjonalnym programistom C++ zwiększyć wydajność ich aplikacji, pozwalając im działać szybciej i zużywać mniej zasobów.
Zakup książki w wersji drukowanej lub Kindle obejmuje bezpłatny eBook w formacie PDF.
Kluczowe cechy
⬤ Zaktualizowano do C++20 z całkowicie zmienionym kodem i większą ilością treści na temat obsługi błędów, testów porównawczych, alokatorów pamięci i programowania współbieżnego.
⬤ Poznaj najnowsze funkcje C++20, w tym koncepcje, zakresy i procedury.
⬤ Wykorzystaj konstrukcje i techniki C++ do przeprowadzenia skutecznej optymalizacji struktury danych i zarządzania pamięcią.
Opis książki
C++ High Performance, Second Edition ma na celu poprowadzenie użytkownika przez optymalizację wydajności aplikacji C++ poprzez umożliwienie im szybszego działania i zużywania mniejszej ilości zasobów na urządzeniu, na którym są uruchamiane, bez uszczerbku dla czytelności bazy kodu.
Książka rozpoczyna się od krótkiego wprowadzenia do języka C++ i niektórych jego nowoczesnych koncepcji. Po zapoznaniu się z podstawami, pozwala zmierzyć i zidentyfikować wąskie gardła w bazie kodu C++ oraz jak je wyeliminować przy użyciu nowoczesnych konstrukcji i technik C++. W trakcie tego procesu stopniowo poprawisz swój styl pisania kodu. Będziesz dalej zagłębiać się w optymalizację struktur danych, zarządzanie pamięcią i sposoby jej efektywnego wykorzystania w odniesieniu do pamięci podręcznych procesora.
Po położeniu fundamentów, książka nauczy Cię wykorzystywać algorytmy, zakresy i kontenery ze standardowej biblioteki, aby osiągnąć szybsze wykonanie, pisać czytelny kod i używać niestandardowych iteratorów. Zapewnia praktyczne doświadczenie w metaprogramowaniu C++, procedurach współbieżnych, refleksji w celu zmniejszenia ilości standardowego kodu, obiektach proxy do wykonywania optymalizacji pod maską, programowaniu współbieżnym i strukturach danych bez blokad. Książka kończy się przeglądem algorytmów równoległych.
Pod koniec tej książki rozwiniesz umiejętność korzystania z każdego narzędzia zgodnie z jego potrzebami, aby zwiększyć wydajność swojego projektu C++.
Czego się nauczysz
⬤ Pisać wyspecjalizowane struktury danych dla kodu o krytycznym znaczeniu dla wydajności.
⬤ Wykorzystanie nowoczesnych technik metaprogramowania w celu zmniejszenia liczby obliczeń wykonywanych w czasie działania aplikacji.
⬤ Efektywne zarządzanie pamięcią przy użyciu niestandardowych alokatorów pamięci.
⬤ Redukcja standardowego kodu przy użyciu technik refleksji.
⬤ Czerp korzyści z programowania współbieżnego bez blokad.
⬤ Uzyskanie wglądu w subtelne optymalizacje wykorzystywane przez standardowe algorytmy biblioteczne.
⬤ Komponowanie algorytmów przy użyciu biblioteki zakresów.
⬤ Rozwijanie umiejętności stosowania aspektów metaprogramowania, takich jak constexpr, ograniczenia i koncepcje.
⬤ Zaimplementować leniwe generatory i zadania asynchroniczne przy użyciu procedur C++20.
Dla kogo jest ta książka
.
Jeśli jesteś programistą C++, który chce poprawić wydajność swojego kodu lub po prostu chce podnieść swoje umiejętności na wyższy poziom, ta książka jest dla Ciebie.