Sztuka tworzenia wydajnego kodu. Przewodnik po zaawansowanych technikach wykorzystywania sprzętu i kompilatorów
- 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
-
Książkę szczególnie docenią analitycy bezpieczeństwa, którzy chcą się zapoznać z zestawem poleceń ARM i zdobyć wiedzę umożliwiającą im efektywne korzystanie z technik inżynierii wstecznej. Poza zestawem potrzebnych poleceń znalazło się w niej mnóstwo przydatnych informacji. Znajdziesz tu przegląd...
Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna
(57.84 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Łańcuch bloków ma wyjątkowy potencjał. W najśmielszym scenariuszu może doprowadzić do odebrania władzy politykom i wielkim firmom, aby rozdzielić ją między użytkowników. Chodzi tu o odniesienie nie tylko do kryptowalut, ale także organizacji i społeczności. Dziś sieć Ethereum zapewnia podstawy te...
Dowód stawki. Proof of stake (PoS), powstanie Ethereum i filozofia łańcucha bloków Dowód stawki. Proof of stake (PoS), powstanie Ethereum i filozofia łańcucha bloków
(43.55 zł najniższa cena z 30 dni)46.90 zł
67.00 zł(-30%) -
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
(64.35 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...(25.35 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
(51.35 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Hakowanie nie zawsze musi być złe. Terminem tym określa się również sprytne sposoby używania sprzętu czy oprogramowania do czegoś nowego. Z kolei etyczne hakowanie polega na zastosowaniu technik ataków do testowania systemu komputerowego, aby znaleźć jego słabe punkty, usunąć je i w ten sposób wz...
Go H*ck Yourself. Proste wprowadzenie do obrony przed cyberatakami Go H*ck Yourself. Proste wprowadzenie do obrony przed cyberatakami
(32.43 zł najniższa cena z 30 dni)34.93 zł
49.90 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
(44.85 zł najniższa cena z 30 dni)48.30 zł
69.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 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
(83.85 zł najniższa cena z 30 dni)90.30 zł
129.00 zł(-30%) -
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
(83.85 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
(90.35 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
(51.35 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
(57.84 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
(44.85 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
(57.84 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
(51.35 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
(57.84 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
(109.85 zł najniższa cena z 30 dni)118.30 zł
169.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
-
Oto zaktualizowane wydanie popularnego przewodnika, dzięki któremu skorzystasz z ponad dwustu sprawdzonych receptur bazujących na najnowszych wydaniach bibliotek Pythona. Wystarczy, że skopiujesz i dostosujesz kod do swoich potrzeb. Możesz też go uruchamiać i testować za pomocą przykładowego zbio...
Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II
(57.84 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Dzięki tej przystępnej książce zrozumiesz metody działania wielkich modeli językowych i techniki szkolenia modeli generatywnych. Następnie zapoznasz się z przypadkami użycia, w których ChatGPT sprawdzi się najlepiej, a w efekcie zwiększy produktywność i kreatywność. Dowiesz się też, jak wchodzić ...
Generatywna sztuczna inteligencja z ChatGPT i modelami OpenAI. Podnieś swoją produktywność i innowacyjność za pomocą GPT3 i GPT4 Generatywna sztuczna inteligencja z ChatGPT i modelami OpenAI. Podnieś swoją produktywność i innowacyjność za pomocą GPT3 i GPT4
(51.35 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Ta książka jest przewodnikiem dla profesjonalistów do spraw cyberbezpieczeństwa. Przedstawia podstawowe zasady reagowania na incydenty bezpieczeństwa i szczegółowo, na przykładach, omawia proces tworzenia zdolności szybkiej i skutecznej reakcji na takie zdarzenia. Zaprezentowano tu techniki infor...
Informatyka śledcza. Narzędzia i techniki skutecznego reagowania na incydenty bezpieczeństwa. Wydanie III Informatyka śledcza. Narzędzia i techniki skutecznego reagowania na incydenty bezpieczeństwa. Wydanie III
(69.30 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Czy wiesz, co kryje się w centrum naszej Galaktyki? Czy zastanawiasz się czasem, jak powstają czarne dziury i co one oznaczają dla naszego zrozumienia wszechrzeczy? Czy chcesz poznać tajemnice tych niesamowitych obiektów, które wykraczają poza granice wyobraźni? Jeśli tak, to bestseller Czarne dz...(41.30 zł najniższa cena z 30 dni)
41.30 zł
59.00 zł(-30%) -
To piąte, gruntownie zaktualizowane wydanie podręcznika, który doceni każdy student informatyki i inżynier oprogramowania. Książka obejmuje szeroki zakres zagadnień, od podstawowych pojęć po zaawansowaną problematykę związaną z najnowszymi trendami w systemach operacyjnych. Wyczerpująco omawia pr...(125.30 zł najniższa cena z 30 dni)
125.30 zł
179.00 zł(-30%) -
Jak sądzisz, co stanowi bazę informatyki? Od czego powinien zacząć przyszły programista? Może od opanowania jednego z najpopularniejszych języków programowania? Oczywiście mógłby od tego rozpocząć, tyle że to trochę tak, jakby uczyć się korzystać z narzędzia bez świadomości, do czego ono właściwi...
Informacja i kodowanie. Krótkie wprowadzenie z przykładami zastosowań Informacja i kodowanie. Krótkie wprowadzenie z przykładami zastosowań
(41.30 zł najniższa cena z 30 dni)41.30 zł
59.00 zł(-30%) -
Oto drugie, zaktualizowane wydanie znakomitego przewodnika dla analityków danych. Dzięki niemu dowiesz się, w jaki sposób używać języka R do importowania, przekształcania i wizualizowania danych, a także do przekazywania uzyskanych wyników analizy. Nauczysz się też rozwiązywać najczęściej występu...
Język R w data science. Importowanie, porządkowanie, przekształcanie, wizualizowanie i modelowanie danych. Wydanie II Język R w data science. Importowanie, porządkowanie, przekształcanie, wizualizowanie i modelowanie danych. Wydanie II
(90.30 zł najniższa cena z 30 dni)90.30 zł
129.00 zł(-30%) -
Ewolucja formularzy internetowych zaczęła się od prostych znaczników języka HTML 2.0 opublikowanego w 1993 roku. Z czasem HTML oferował bardziej zaawansowane funkcje obsługi formularzy. Późniejsze wersje, HTML4, a następnie HTML5, wprowadziły nowe typy pól, takie jak pola daty, koloru czy też adr...
Angular i formularze reaktywne. Praktyczny przewodnik Angular i formularze reaktywne. Praktyczny przewodnik
(44.85 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Tę książkę docenią praktycy: inżynierowie uczenia maszynowego i analitycy danych, poszukujący sposobu praktycznego zaadaptowania modeli transformacyjnych do swoich potrzeb. Autorzy skupili się na praktycznej stronie tworzenia aplikacji językowych, a w poszczególnych rozdziałach ujęto wszystkie na...
Przetwarzanie języka naturalnego z wykorzystaniem transformerów. Budowanie aplikacji językowych za pomocą bibliotek Hugging Face Przetwarzanie języka naturalnego z wykorzystaniem transformerów. Budowanie aplikacji językowych za pomocą bibliotek Hugging Face
(64.35 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Bez Photoshopa, Illustratora i InDesigna wielu profesjonalnych grafików nie wyobraża sobie pracy. Każda z tych aplikacji jest znakomita, ale często do uzyskania jakiegoś spektakularnego efektu trzeba użyć dwóch lub trzech. Musisz więc zrozumieć zależności między tymi aplikacjami i dokładnie wiedz...
Adobe Photoshop, Illustrator i InDesign. Współdziałanie i przepływ pracy. Oficjalny podręcznik Adobe Photoshop, Illustrator i InDesign. Współdziałanie i przepływ pracy. Oficjalny podręcznik
(70.85 zł najniższa cena z 30 dni)76.30 zł
109.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)