Sztuka tworzenia wydajnego kodu. Przewodnik po zaawansowanych technikach wykorzystywania sprzętu i kompilatorów
- Autor:
- Fedor G. Pikus
- Ocena:
- 6.0/6 Opinie: 1
- Stron:
- 408
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Sztuka tworzenia wydajnego kodu. Przewodnik po zaawansowanych technikach wykorzystywania sprzętu i kompilatorów
Jeszcze kilka lat temu, by zwiększyć szybkość działania programu, wystarczyło wymienić procesor. Dzisiejsze procesory nie są znacząco szybsze od poprzedników. Nowsze architektury zapewniają zaledwie niewielkie przyrosty wydajności istniejących już programów. Nie ma innego wyjścia: jeśli programista chce tworzyć efektywne oprogramowanie, musi wiedzieć, jak odpowiednio używać dostępnych zasobów obliczeniowych. Jest to trudna sztuka, wymagająca ciągłej gotowości do nauki.
To książka przeznaczona dla doświadczonych programistów, którzy chcą sprawnie tworzyć efektywny kod. Omówiono w niej, jak korzystać z zasobów procesora i pamięci, unikać zbędnych obliczeń, mierzyć wydajność kodu i prawidłowo stosować współbieżność i wielowątkowość. Zaprezentowano również zagadnienia związane z optymalizacjami przeprowadzanymi przez kompilator, a także metody efektywniejszego korzystania z właściwości języka programowania (C++). Dokładnie wyjaśniono zasady projektowania oprogramowania pod kątem wydajności i aby ułatwić przyswajanie wiedzy, zamieszczono wiele 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 lub modyfikowania już istniejącej architektury.
Najciekawsze zagadnienia:
- korzystanie ze sprzętowych zasobów obliczeniowych
- uporządkowanie pamięci i należyte zorganizowanie danych
- wydajność operacji a współbieżny dostęp
- stosowanie technik programowania bez użycia blokady
- zwiększanie efektywności optymalizacji za pomocą kompilatora
- interfejsy API dla współbieżnych struktur danych i struktur o dużej wydajności
Dobre decyzje projektowe to klucz do wydajności kodu!
Skończyły się czasy znakomitych, "darmowych obiadów" w postaci "wydajności dbającej samą o siebie". Aż do niedawna programy same stawały się szybsze w wyniku wymiany procesorów, ale to już nie ma więcej miejsca. Częstotliwość zegara nowych procesorów osiągnęła niemal szczyt możliwości. Nowe architektury zapewniają niewielkie przyrosty wydajności istniejących programów, ale stanowi to tylko nieznaczną pomoc. Procesory stają się coraz większe i wydajniejsze, lecz większość tej nowej mocy obliczeniowej pochłaniana jest przez zwiększającą się liczbę rdzeni obliczeniowych oraz inne "specjalne" jednostki obliczeniowe. Aby tworzyć efektywne oprogramowanie, trzeba obecnie wiedzieć, jak programować, korzystając odpowiednio z dostępnych zasobów obliczeniowych. Dzięki tej książce dowiesz się, jak to osiągnąć.
W książce omówiono wszystkie podstawowe aspekty związane z tworzeniem efektywnych programów, takie jak skuteczne korzystanie z zasobów procesora i pamięci, unikanie zbędnych obliczeń, mierzenie wydajności oraz zapewnienie korzyści wynikających z zastosowania współbieżności i wielowątkowości. Dowiesz się również o optymalizacjach przeprowadzanych przez kompilator oraz metodach efektywniejszego wykorzystania języka programowania (C++). I wreszcie, zrozumiesz, jak decyzje projektowe wpływają na wydajność.
Po przeczytaniu książki nie tylko zdobędzie się wiedzę o procesorach i kompilatorach wystarczającą do pisania efektywnych programów, ale też możliwe będzie w trakcie procesu poprawiania wydajności właściwe wybieranie technik oraz tego, co zostanie objęte pomiarem. Podsumowując, książka pozwala dowiedzieć się, jak się uczyć.
Zagadnienia poruszane w książce:
- Efektywne użycie w programach sprzętowych zasobów obliczeniowych.
- Powiązanie między uporządkowaniem pamięci i jej barierami.
- Wpływ na wydajność różnych struktur i organizacji danych.
- Ocena wpływu na wydajność operacji współbieżnego dostępu do pamięci i sposób minimalizowania go.
- Analiza przypadków, w których należy i nie należy stosować technik programowania bez użycia blokady.
- Różne metody zwiększania efektywności optymalizacji stosowanych przez kompilatory.
- Projektowanie interfejsów API w celu uniknięcia nieefektywności w przypadku współbieżnych struktur danych oraz struktur o dużej wydajności.
Wybrane bestsellery
-
Design patterns is a library of reusable components designed for software architecture, not for concrete implementation. In this book, you’ll learn to recognize and apply various C++ design patterns and idioms. In this second edition, you’ll gain a deep understanding of design patte...
Hands-On Design Patterns with C++. Solve common C++ problems with modern design patterns and build robust applications - Second Edition Hands-On Design Patterns with C++. Solve common C++ problems with modern design patterns and build robust applications - Second Edition
-
This book takes you through a systematic study of every aspect involved in improving the performance of your programs. It provides you with solutions to a range of performance-related troubleshooting scenarios and equips you with the knowledge and tools necessary for writing efficient programs wh...
The Art of Writing Efficient Programs. An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples The Art of Writing Efficient Programs. An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples
-
Design patterns are a library of reusable components designed for software architecture, not for concrete implementation. In this book, we’ll teach you how to recognize and apply various C++ design patterns and idioms. By the end of the book, you’ll have an understanding of how to u...
Hands-On Design Patterns with C++. Solve common C++ problems with modern design patterns and build robust applications Hands-On Design Patterns with C++. Solve common C++ problems with modern design patterns and build robust applications
-
Ta książka pomoże Ci w doskonaleniu umiejętności potrzebnych na każdym etapie dochodzenia cyfrowego, od zbierania dowodów, poprzez ich analizę, po tworzenie raportów. Dzięki wielu wskazówkom i praktycznym ćwiczeniom przyswoisz techniki analizy, ekstrakcji danych i raportowania przy użyciu zaawans...
Informatyka śledcza i Kali Linux. Przeprowadź analizy nośników pamięci, ruchu sieciowego i zawartości RAM-u za pomocą narzędzi systemu Kali Linux 2022.x. Wydanie III Informatyka śledcza i Kali Linux. Przeprowadź analizy nośników pamięci, ruchu sieciowego i zawartości RAM-u za pomocą narzędzi systemu Kali Linux 2022.x. Wydanie III
(59.40 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Jeśli słowo „szyfr” budzi w Tobie przyjemny dreszczyk emocji, mamy dla Ciebie prawdziwą gratkę. Już za chwilę poznasz największe tajemnice ludzkości. Prezentowane w tej książce tajemnicze kody służyły dyplomatom, armiom pierwszej i drugiej wojny światowej, wreszcie zimnowojennym szpie...(23.40 zł najniższa cena z 30 dni)
27.30 zł
39.00 zł(-30%) -
To drugie wydanie popularnego przewodnika dla śledczych. Dzięki niemu sprawnie przygotujesz się do pracy z narzędziami kryminalistycznymi i zapoznasz się ze stosowanymi w informatyce śledczej technikami. Nauczysz się pozyskiwać informacje o podejrzanych i zabezpieczać znajdujące się w sieci dane,...
Informatyka śledcza. Gromadzenie, analiza i zabezpieczanie dowodów elektronicznych dla początkujących. Wydanie II Informatyka śledcza. Gromadzenie, analiza i zabezpieczanie dowodów elektronicznych dla początkujących. Wydanie II
(47.40 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
To trzecie wydanie przewodnika autorstwa twórców Kubernetesa. Zostało starannie zaktualizowane i wzbogacone o tak ważne zagadnienia jak bezpieczeństwo, dostęp do Kubernetesa za pomocą kodu napisanego w różnych językach programowania czy tworzenie aplikacji wieloklastrowych. Dzięki książce poznasz...
Kubernetes. Tworzenie niezawodnych systemów rozproszonych. Wydanie III Kubernetes. Tworzenie niezawodnych systemów rozproszonych. Wydanie III
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Jeśli masz już pewne umiejętności pentestera, dzięki tej książce poszerzysz swoją wiedzę o zaawansowanych narzędziach dostępnych w Kali Linux, a także nauczysz się wyrafinowanych taktyk stosowanych przez prawdziwych hakerów do atakowania sieci komputerowych. Omówiono tu różne sposoby instalowania...
Kali Linux i zaawansowane testy penetracyjne. Zostań ekspertem cyberbezpieczeństwa za pomocą Metasploit, Nmap, Wireshark i Burp Suite. Wydanie IV Kali Linux i zaawansowane testy penetracyjne. Zostań ekspertem cyberbezpieczeństwa za pomocą Metasploit, Nmap, Wireshark i Burp Suite. Wydanie IV
(59.40 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Ta książka jest kompleksowym i praktycznym przewodnikiem po hakowaniu aplikacji internetowych w ramach udziału w programach bug bounty. Znajdziesz w niej wszystkie niezbędne informacje, od budowania relacji z klientami i pisania znakomitych raportów o błędach w zabezpieczeniach po naukę zaawansow...
Bug Bounty Bootcamp. Przewodnik po tropieniu i zgłaszaniu luk w zabezpieczeniach Bug Bounty Bootcamp. Przewodnik po tropieniu i zgłaszaniu luk w zabezpieczeniach
(59.40 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Przeczytasz o tym, jak wykrywać nowe luki w oprogramowaniu, jak tworzyć trojany i rootkity, a także jak używać techniki wstrzykiwania SQL. Zapoznasz się również z szeroką gamą narzędzi do przeprowadzania testów penetracyjnych (takich jak Metasploit Framework, mimikatz i BeEF), rozeznasz się w dzi...
Etyczny haking. Praktyczne wprowadzenie do hakingu Etyczny haking. Praktyczne wprowadzenie do hakingu
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%)
O autorze ebooka
Fedor G. Pikus jest uznanym ekspertem z zakresu obliczeń o dużej wydajności i programowania w języku C++, a także autorem książek, artykułów w czasopismach branżowych i właścicielem przeszło 25 patentów. Ma na koncie ponad 100 prac i prezentacji na konferencjach dotyczących fizyki, automatyzacji projektowania w elektronice, projektowania oprogramowania i języka C++.
Zobacz pozostałe książki z serii Packt
-
Oto uzupełnione i zaktualizowane wydanie bestsellerowego przewodnika dla inżynierów sieci. Dzięki niemu przejdziesz trudną (ale ekscytującą!) drogę od tradycyjnej platformy do platformy sieciowej opartej na najlepszych praktykach programistycznych. Zaczniesz od zagadnień podstawowych, aby następn...
Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV
(77.40 zł najniższa cena z 30 dni)90.30 zł
129.00 zł(-30%) -
Oto zaktualizowane wydanie bestsellerowego przewodnika dla architektów rozwiązań. Dzięki niemu dobrze poznasz wzorce projektowe wbudowane w chmurę, czyli model AWS Well-Architected Framework. Zaznajomisz się z sieciami w chmurze AWS z uwzględnieniem sieci brzegowych i tworzeniem hybrydowych połąc...
AWS dla architektów rozwiązań. Tworzenie, skalowanie i migracja aplikacji do chmury Amazon Web Services. Wydanie II AWS dla architektów rozwiązań. Tworzenie, skalowanie i migracja aplikacji do chmury Amazon Web Services. Wydanie II
Saurabh Shrivastava, Neelanjali Srivastav, Alberto Artasanchez, Imtiaz Sayed
(83.40 zł najniższa cena z 30 dni)97.30 zł
139.00 zł(-30%) -
Ten szczegółowy przewodnik pozwoli Ci na błyskawiczne zapoznanie się z .NET MAUI i sprawne rozpoczęcie pisania aplikacji za pomocą tej technologii. Zaprezentowano w nim filozofię działania .NET MAUI, jak również przebieg prac nad tworzeniem kompletnej aplikacji wieloplatformowej dla systemów: And...
Projektowanie aplikacji w .NET MAUI. Jak budować doskonałe interfejsy użytkownika dla aplikacji wieloplatformowych Projektowanie aplikacji w .NET MAUI. Jak budować doskonałe interfejsy użytkownika dla aplikacji wieloplatformowych
(47.40 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Ta książka szczególnie przyda się osobom, które rozpoczynają pracę z Angularem. Dzięki niej szybko zaczniesz tworzyć aplikacje z wykorzystaniem wiersza poleceń (CLI), pisać testy jednostkowe i używać stylów zgodnych ze standardem Material Design. Dowiesz się również, jak wdrażać aplikacje w środo...
Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Oto praktyczny, przystępnie napisany przewodnik, który stanowi wprowadzenie do pracy z technologią Blazor. Opisuje możliwości modeli Server i WebAssembly, przedstawia także krok po kroku proces powstawania aplikacji internetowej. Dzięki temu płynnie przejdziesz do tworzenia projektów Blazor, nauc...
Platforma Blazor. Praktyczny przewodnik. Jak tworzyć interaktywne aplikacje internetowe z C# i .NET 7. Wydanie II Platforma Blazor. Praktyczny przewodnik. Jak tworzyć interaktywne aplikacje internetowe z C# i .NET 7. Wydanie II
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
To książka przeznaczona dla profesjonalnych administratorów i użytkowników Linuksa. Dzięki niej szybciej zrozumiesz, w jakim stopniu dobre zarządzanie systemami na poziomie systemu operacyjnego może wynieść działanie infrastruktury biznesowej na zupełnie inny poziom. Znajdziesz tu najlepsze prakt...
Linux dla admina. Najlepsze praktyki. O czym pamiętać podczas projektowania i zarządzania systemami Linux dla admina. Najlepsze praktyki. O czym pamiętać podczas projektowania i zarządzania systemami
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Książka stanowi wprowadzenie do pracy z funkcjami SI dostępnymi w Power BI; jest skierowana do osób znających to środowisko. Dowiesz się z niej, w jaki sposób sztuczna inteligencja może być używana w Power BI i jakie funkcje są w nim domyślnie dostępne. Nauczysz się też eksplorować i przygotowywa...
Power BI i sztuczna inteligencja. Jak w pełni wykorzystać funkcje AI dostępne w Power BI Power BI i sztuczna inteligencja. Jak w pełni wykorzystać funkcje AI dostępne w Power BI
(47.40 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosować myślenie funkcyjne, a także jak korzystać z technik funkcyjnych w różnych scenariuszach. Dowiesz się również, jakie narzędzia i biblioteki przeznaczone do tego celu są dostępne w Pythonie i jak używać wyrażeń gen...
Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
To książka przeznaczona dla programistów zaznajomionych z podstawami języka C# i platformy .NET, chcących zdobyć umiejętność tworzenia rzeczywistych aplikacji i usług. Opisuje wyspecjalizowane biblioteki, które umożliwiają monitorowanie i zwiększanie wydajności aplikacji, zabezpieczanie ich wraz ...
Aplikacje i usługi na platformie .NET 7. Tworzenie praktycznych projektów opartych na programach Blazor, .NET MAUI, gRPC, GraphQL i innych zaawansowanych technologiach Aplikacje i usługi na platformie .NET 7. Tworzenie praktycznych projektów opartych na programach Blazor, .NET MAUI, gRPC, GraphQL i innych zaawansowanych technologiach
(101.40 zł najniższa cena z 30 dni)118.30 zł
169.00 zł(-30%) -
To drugie, w pełni zaktualizowane wydanie podręcznika dla profesjonalistów. Zarówno osoby zawodowo zajmujące się tworzeniem rozwiązań w Power BI, jak i zarządzający czy administrujący wdrożeniami takich rozwiązań znajdą tu coś dla siebie. Książka zawiera rozbudowaną analizę narzędzi i funkcji Pow...
Microsoft Power BI dla zaawansowanych. Eksperckie techniki tworzenia interaktywnych analiz w świecie biznesu. Wydanie II Microsoft Power BI dla zaawansowanych. Eksperckie techniki tworzenia interaktywnych analiz w świecie biznesu. Wydanie II
(89.40 zł najniższa cena z 30 dni)104.30 zł
149.00 zł(-30%)
Ebooka "Sztuka tworzenia wydajnego kodu. Przewodnik po zaawansowanych technikach wykorzystywania sprzętu i kompilatorów" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Sztuka tworzenia wydajnego kodu. Przewodnik po zaawansowanych technikach wykorzystywania sprzętu i kompilatorów" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Sztuka tworzenia wydajnego kodu. Przewodnik po zaawansowanych technikach wykorzystywania sprzętu i kompilatorów" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- The Art of Writing Efficient Programs: An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples
- Tłumaczenie:
- Piotr Pilch
- ISBN Książki drukowanej:
- 978-83-283-9250-2, 9788328392502
- Data wydania książki drukowanej:
- 2022-10-11
- ISBN Ebooka:
- 978-83-283-9251-9, 9788328392519
- Data wydania ebooka:
- 2022-10-11 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 165x235
- Numer z katalogu:
- 179088
- Rozmiar pliku Pdf:
- 20.3MB
- Rozmiar pliku ePub:
- 13.5MB
- Rozmiar pliku Mobi:
- 28.6MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Zgłoś erratę
- Serie wydawnicze: Packt
Spis treści ebooka
- Dlaczego należy brać pod uwagę wydajność?
- Dlaczego wydajność ma znaczenie?
- Co rozumiemy przez wydajność?
- Wydajność jako przepustowość
- Wydajność jako pobór mocy
- Wydajność w przypadku aplikacji czasu rzeczywistego
- Wydajność w zależności od kontekstu
- Ocenianie, szacowanie i przewidywanie wydajności
- Poznawanie zagadnienia dużej wydajności
- Podsumowanie
- Pytania
- Wymagania techniczne
- Przykład pomiaru wydajności
- Testy porównawcze wydajności
- Liczniki czasu biblioteki chrono języka C++
- Liczniki czasu o dużej dokładności
- Profilowanie wydajności
- Narzędzie profilujące perf
- Szczegółowe profilowanie przy użyciu narzędzia perf
- Narzędzie profilujące pakietu Google Performance
- Profilowanie z wykorzystaniem grafu wywołań
- Optymalizacja i wstawianie
- Profilowanie w praktyce
- Mikrotesty porównawcze
- Podstawy mikrotestów porównawczych
- Mikrotesty porównawcze i optymalizacje kompilatora
- Google Benchmark
- Mikrotesty porównawcze to kłamstwo
- Podsumowanie
- Pytania
- Wymagania techniczne
- Wydajność zaczyna się od procesora
- Badanie wydajności za pomocą mikrotestów porównawczych
- Wizualizacja obliczeń równoległych na poziomie instrukcji
- Zależności od danych i potokowanie
- Potokowanie i rozgałęzienia
- Przewidywanie rozgałęzień
- Profilowanie pod kątem nieudanego przewidywania rozgałęzień
- Wykonywanie spekulatywne
- Optymalizacja złożonych warunków
- Wykonywanie obliczeń bez rozgałęzień
- Odwijanie pętli
- Operacja wyboru bez użycia rozgałęzień
- Przykłady wykonywania obliczeń bez rozgałęzień
- Podsumowanie
- Pytania
- Wymagania techniczne
- Wydajność zaczyna się od procesora, ale na nim się nie kończy
- Pomiar szybkości dostępu do pamięci
- Architektura pamięci
- Pomiar szybkości pamięci głównej i podręcznej
- Szybkość pamięci - wartości
- Szybkość operacji losowego dostępu do pamięci
- Szybkość operacji dostępu sekwencyjnego do pamięci
- Optymalizacje wydajności pamięci na poziomie sprzętowym
- Optymalizowanie wydajności pamięci
- Struktury danych efektywne z perspektywy pamięci
- Profilowanie wydajności pamięci
- Optymalizowanie algorytmów pod kątem wydajności pamięci
- "Duch" w komputerze
- Czym jest Spectre?
- Przykład użycia ataku Spectre
- Atak Spectre w pełni akcji
- Podsumowanie
- Pytania
- Wymagania techniczne
- Wątki i współbieżność
- Czym jest wątek?
- Wielowątkowość symetryczna
- Wątki i pamięć
- Programy ograniczane przez pamięć i współbieżność
- Koszt synchronizacji pamięci
- Dlaczego współużytkowanie danych jest tak kosztowne?
- Współbieżność i kolejność
- Potrzeba zapewnienia kolejności
- Uporządkowanie pamięci i związane z nią bariery
- Uporządkowanie pamięci w języku C++
- Model pamięci
- Podsumowanie
- Pytania
- Wymagania techniczne
- Co jest niezbędne do efektywnego korzystania ze współbieżności?
- Blokady, alternatywy i ich wydajność
- Programy z blokadą, pozbawione blokady oraz bez oczekiwania
- Różne blokady w przypadku odmiennych problemów
- Jaka jest faktyczna różnica między programem z blokadą i programem pozbawionym blokady?
- Tworzenie bloków pod kątem programowania współbieżnego
- Podstawy współbieżnych struktur danych
- Liczniki i akumulatory
- Protokół publikowania
- Inteligentne wskaźniki używane w programowaniu współbieżnym
- Podsumowanie
- Pytania
- Wymagania techniczne
- Czym jest struktura danych bezpieczna wątkowo?
- Najlepszy rodzaj bezpieczeństwa wątkowego
- Rzeczywiste bezpieczeństwo wątkowe
- Stos bezpieczny wątkowo
- Projektowanie interfejsu pod kątem bezpieczeństwa wątkowego
- Wydajność struktur danych chronionych przez muteks
- Wymagania dotyczące wydajności w przypadku różnych zastosowań
- Szczegółowa analiza wydajności stosu
- Oszacowania wydajności w przypadku schematów synchronizacji
- Stos bez blokady
- Kolejka bezpieczna wątkowo
- Kolejka pozbawiona blokady
- Struktury danych spójne niesekwencyjnie
- Zarządzanie pamięcią na potrzeby współbieżnych struktur danych
- Lista bezpieczna wątkowo
- Lista pozbawiona blokady
- Podsumowanie
- Pytania
- Wymagania techniczne
- Obsługa współbieżności w standardzie C++11
- Obsługa współbieżności w standardzie C++17
- Obsługa współbieżności w standardzie C++20
- Podstawy dotyczące współprogramów
- Składnia współprogramów w języku C++
- Przykłady współprogramów
- Podsumowanie
- Pytania
- Wymagania techniczne
- Czym jest efektywność języka programowania?
- Zbędne kopiowanie
- Kopiowanie i przekazywanie argumentów
- Kopiowanie jako technika implementacji
- Kopiowanie w celu przechowywania danych
- Kopiowanie wartości zwracanych
- Zastosowanie wskaźników w celu uniknięcia kopiowania
- Metoda unikania zbędnego kopiowania
- Nieefektywne zarządzanie pamięcią
- Zbędne alokacje pamięci
- Zarządzanie pamięcią w programach współbieżnych
- Unikanie fragmentacji pamięci
- Optymalizacja wykonywania warunkowego
- Podsumowanie
- Pytania
- Wymagania techniczne
- Kompilatory optymalizujące kod
- Podstawy optymalizacji stosowanych przez kompilator
- Wstawianie funkcji
- Co tak naprawdę kompilator "wie"?
- Przenoszenie informacji z fazy wykonywania do fazy kompilacji
- Podsumowanie
- Pytania
- Wymagania techniczne
- Czym jest zachowanie niezdefiniowane?
- Dlaczego występuje zachowanie niezdefiniowane?
- Zachowanie niezdefiniowane i optymalizacja kodu C++
- Zastosowanie zachowania niezdefiniowanego do zapewnienia efektywnego projektu
- Podsumowanie
- Pytania
- Interakcja między projektem i wydajnością
- Projektowanie pod kątem wydajności
- Zasada minimalnej ilości informacji
- Zasada maksymalnej ilości informacji
- Kwestie związane z projektowaniem interfejsu API
- Projektowanie interfejsu API pod kątem współbieżności
- Kopiowanie i wysyłanie danych
- Projektowanie pod kątem optymalnego dostępu do danych
- Kompromisy związane z wydajnością
- Projekt interfejsu
- Projektowanie komponentów
- Błędy i zachowanie niezdefiniowane
- Podejmowanie przemyślanych decyzji projektowych
- Podsumowanie
- Pytania
O autorze
O recenzencie
Przedmowa
Część I. Fundamenty wydajności
Rozdział 1. Wydajność i współbieżność - wprowadzenie
Rozdział 2. Pomiary wydajności
Rozdział 3. Architektura procesorów, zasoby i wydajność
Rozdział 4. Architektura i wydajność pamięci
Rozdział 5. Wątki, pamięć i współbieżność
Część II. Zaawansowana współbieżność
Rozdział 6. Wydajność i współbieżność
Rozdział 7. Struktury danych odpowiednie w przypadku współbieżności
Rozdział 8. Obsługa współbieżności w języku C++
Część III. Projektowanie i pisanie programów o dużej wydajności
Rozdział 9. Kod C++ o dużej wydajności
Rozdział 10. Optymalizacje kompilatora w kodzie C++
Rozdział 11. Zachowanie niezdefiniowane i wydajność
Rozdział 12. Projektowanie pod kątem wydajności
Odpowiedzi
Helion - inne książki
-
ChatGPT wywołał wstrząs w branży technologicznej. Programiści i wynalazcy otrzymali niesamowite możliwości dostępne na wyciągnięcie ręki. Interfejs API OpenAI i towarzyszące mu biblioteki stanowią gotowe rozwiązanie dla każdego twórcy aplikacji opartych na sztucznej inteligencji. Programista za p...
Tworzenie aplikacji z wykorzystaniem GPT-4 i ChatGPT. Buduj inteligentne chatboty, generatory treści i fascynujące projekty Tworzenie aplikacji z wykorzystaniem GPT-4 i ChatGPT. Buduj inteligentne chatboty, generatory treści i fascynujące projekty
(35.40 zł najniższa cena z 30 dni)41.30 zł
59.00 zł(-30%) -
Ta książka pomoże Ci się przygotować do pracy na stanowisku testera oprogramowania, a także zapewni wsparcie podczas wykonywania nowych zadań. Znajdziesz tu dokładne omówienie podstaw testowania, jego różnych rodzajów i poziomów w odniesieniu do zastosowania na różnych etapach pracy nad projektem...
Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu
(35.40 zł najniższa cena z 30 dni)41.30 zł
59.00 zł(-30%) -
Czym jest inżynieria wymagań? To systematyczne podejście do pozyskiwania i dokumentowania wymagań, a także zarządzania nimi. Polega na zrozumieniu potrzeb i oczekiwań interesariuszy, a następnie opisaniu, za pomocą wymagań, systemu, który je spełnia.
Certyfikowany inżynier wymagań. Na podstawie IREB CPRE. Poziom podstawowy Certyfikowany inżynier wymagań. Na podstawie IREB CPRE. Poziom podstawowy
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Dzięki tej książce nauczysz się gromadzić publicznie dostępne informacje, korzystać z wiedzy o cyklu życia wrażliwych danych i przekształcać je w informacje wywiadowcze przydatne dla zespołów zajmujących się bezpieczeństwem. Opanujesz proces gromadzenia i analizy danych, poznasz również strategie...
Prawdziwa głębia OSINT. Odkryj wartość danych Open Source Intelligence Prawdziwa głębia OSINT. Odkryj wartość danych Open Source Intelligence
(59.40 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Oto kompleksowe omówienie sposobów wdrażania najnowszych dostępnych środków zabezpieczających systemy linuksowe. Z książki dowiesz się, jak skonfigurować laboratorium do ćwiczeń praktycznych, tworzyć konta użytkowników z odpowiednimi poziomami uprawnień, chronić dane dzięki uprawnieniom i szyfrow...
Bezpieczeństwo systemu Linux. Hardening i najnowsze techniki zabezpieczania przed cyberatakami. Wydanie III Bezpieczeństwo systemu Linux. Hardening i najnowsze techniki zabezpieczania przed cyberatakami. Wydanie III
(77.40 zł najniższa cena z 30 dni)90.30 zł
129.00 zł(-30%) -
To dziewiąte wydanie znakomitego podręcznika programowania dla początkujących, starannie zaktualizowane i uzupełnione o informacje dotyczące Java Platform, Standard Edition 17. Książka rozpoczyna się od solidnej dawki wiedzy o kompilacji i uruchamianiu programu w Javie, słowach kluczowych i istot...(77.40 zł najniższa cena z 30 dni)
90.30 zł
129.00 zł(-30%) -
Jesteś specjalistą IT. I jesteś dobry w tym, co robisz. Masz wiedzę, doświadczenie, chcesz się nimi podzielić z innymi, pomóc im radzić sobie z problemami, które sam już dawno rozwiązałeś, może także zaprezentować się od tej strony przyszłym pracodawcom i zleceniodawcom, tylko... kto - poza Tobą ...
Marka osobista w branży IT. Jak ją zbudować i rozwijać Marka osobista w branży IT. Jak ją zbudować i rozwijać
(29.94 zł najniższa cena z 30 dni)34.93 zł
49.90 zł(-30%) -
MikroTik, łotewska firma z siedzibą w Rydze, od lat produkuje sprzęt sieciowy. Przystępna cena i świetna jakość sprawiły, że urządzenia sygnowane logo MikroTik zdobyły niezwykłą popularność - po produkty łotewskiej marki sięga się coraz częściej. Jeśli planujesz zmodernizować lub zbudować sieć i ...
Konfiguracja usług sieciowych na urządzeniach MikroTik Konfiguracja usług sieciowych na urządzeniach MikroTik
(47.40 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
To drugie, zaktualizowane wydanie przewodnika po systemie Prometheus. Znajdziesz w nim wyczerpujące wprowadzenie do tego oprogramowania, a także wskazówki dotyczące monitorowania aplikacji i infrastruktury, tworzenia wykresów, przekazywania ostrzeżeń, bezpośredniej instrumentacji kodu i pobierani...
Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić....
Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego
(52.20 zł najniższa cena z 30 dni)60.90 zł
87.00 zł(-30%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Sztuka tworzenia wydajnego kodu. Przewodnik po zaawansowanych technikach wykorzystywania sprzętu i kompilatorów Fedor G. Pikus (1) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(1)
(0)
(0)
(0)
(0)
(0)