Wysoko wydajny Python. Efektywne programowanie w praktyce. Wydanie II
- Autorzy:
- Micha Gorelick, Ian Ozsvald
- Ocena:
- 4.4/6 Opinie: 5
- Stron:
- 424
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Wysoko wydajny Python. Efektywne programowanie w praktyce. Wydanie II
Python jest językiem łatwym do opanowania i przyjemnym dla programisty. Jednak łatwość projektowania nie przekłada się na szybkość działania kodu. W konsekwencji przetwarzanie dużych wolumenów danych czy próba skalowania aplikacji kończą się problemami z wydajnością lub niezawodnością. Niekiedy rozwiązaniem jest zastosowanie procesów szeregowych, w innych przypadkach warto sięgnąć do architektury wielordzeniowej, klastrów lub układów GPU. Relatywnie często okazuje się, że dobre wyniki uzyskuje się w efekcie takiego zmodyfikowania technik kodowania, aby przy wykorzystaniu potencjału Pythona stosować sprawdzone metody poprawy wydajności kodu.
Dzięki drugiemu, poszerzonemu i zaktualizowanemu wydaniu tej książki zdobędziesz wszechstronną wiedzę o czynnikach wpływających na wydajność kodu. Dowiesz się, jakie procesy zachodzą w tle komputera, na jakich zasadach odbywa się przydzielanie pamięci, oraz zyskasz nowe spojrzenie na proces kompilacji do postaci kodu maszynowego. Zapoznasz się z zagadnieniem współbieżności i obliczeń klastrowych. Zaczniesz swobodnie posługiwać się najlepszymi narzędziami Pythona, takimi jak NumPy czy moduł multiprocessing. Z pewnością docenisz techniki zapewniające korzystanie z minimum zasobów, takich jak czas procesora czy pamięć RAM. Opisane tu zagadnienia zilustrowano przykładami kodu oraz poradami najlepszych specjalistów z branży.
W książce:
- narzędzia NumPy, Cython i Docker
- znajdowanie wąskich gardeł związanych z wykorzystaniem czasu procesora i pamięci
- wydajność kodu a odpowiednie struktury danych
- przyspieszanie obliczeń opartych na macierzach i wektorach
- zarządzanie wieloma operacjami obliczeniowymi i wejścia-wyjścia
- przetwarzanie współbieżne i uruchamianie kodu w klastrze
Programowanie w Pythonie: przede wszystkim wydajność i niezawodność!
Programowanie wydajnego kodu dla ludzi w praktyce
Kod Python może działać poprawnie, ale wymagasz od niego większej wydajności. W tym poszerzonym wydaniu uaktualnionym pod kątem języka Python 3 dowiesz się, jak lokalizować "wąskie gardła" wydajności i znacznie zwiększyć szybkość kodu w programach przetwarzających duże wolumeny danych. Przybliżając podstawową teorię związaną z opcjami projektowania, praktyczny przewodnik ułatwia lepsze zrozumienie implementacji kodu Python.
W jaki sposób możesz skorzystać z architektur wielordzeniowych lub klastrów? Jak zbudować system, który może być dowolnie skalowany bez utraty niezawodności? Doświadczeni programiści używający języka Python omówią konkretne rozwiązania wielu problemów, a także przedstawią historie "z życia wzięte" opowiedziane przez pracowników firm, którzy wykorzystują wydajny kod Python do analizy rozwiązań społecznościowych, uczenia maszynowego w wersji produkcyjnej oraz w innych sytuacjach.
- Poznaj lepiej narzędzia NumPy i Cython, a także narzędzia profilujące.
- Dowiedz się, jak w języku Python dokonywana jest abstrakcja bazowej architektury komputera.
- Użyj profilowania do znajdowania "wąskich gardeł" związanych z wykorzystaniem czasu procesora i pamięci.
- Utwórz wydajne programy, wybierając odpowiednie struktury danych.
- Przyspiesz obliczenia oparte na macierzach i wektorach.
- Zastosuj narzędzia do kompilacji kodu Python do postaci kodu maszynowego.
- Zarządzaj jednocześnie wieloma operacjami obliczeniowymi i operacjami wejścia-wyjścia.
- Przekształć kod przetwarzania współbieżnego w celu uruchomienia go w klastrze lokalnym lub zdalnym.
- Wdrażaj kod szybciej za pomocą narzędzi takich jak Docker.
"Jest to jedna z tych rzadkiej klasy książek o programowaniu, która zmieni sposób, w jaki postrzegasz praktykę programowania."
Hilary Mason, danolog w firmie Accel
Wybrane bestsellery
-
Your Python code may run correctly, but you need it to run faster. Updated for Python 3, this expanded edition shows you how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs. By exploring the fundamental theory behind design choices, High Perform...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Wydajne aplikacje w języku Python! Python to skryptowy język programowania istniejący na rynku od wielu lat — jego pierwsza wersja pojawiła się w 1991 roku. Przejrzystość kodu źródłowego była jednym z głównych celów Guida van Rossuma, twórcy tego języka. Dziś Py...(19.90 zł najniższa cena z 30 dni)
29.49 zł
59.00 zł(-50%) -
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)44.85 zł
69.00 zł(-35%) -
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)57.84 zł
89.00 zł(-35%) -
Power Apps to platforma stworzona przez Microsoft, umożliwiająca łatwe projektowanie, tworzenie i dostosowywanie aplikacji bez konieczności posiadania głębokiej wiedzy programistycznej. Z użyciem Power Apps można budować niestandardowe aplikacje, które efektywnie wspierają i automatyzują różne pr...
Power Apps. Kurs video. Tworzenie biznesowych aplikacji no-code Power Apps. Kurs video. Tworzenie biznesowych aplikacji no-code
(39.90 zł najniższa cena z 30 dni)89.54 zł
199.00 zł(-55%) -
Ta książka będzie świetnym uzupełnieniem wiedzy o Flutterze i Darcie, sprawdzi się również jako wsparcie podczas rozwiązywania konkretnych problemów. Znalazło się tu ponad sto receptur, dzięki którym poznasz tajniki pisania efektywnego kodu, korzystania z narzędzi udostępnianych przez framework F...
Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack
(41.40 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
Sterownik PLC (ang. programmable logic controller) to jedno z najważniejszych urządzeń stosowanych w automatyce przemysłowej. Zawiera układ mikroprocesorowy pozwalający sterować pracą maszyn, linii produkcyjnych, oświetlenia i innych urządzeń elektrycznych w przemyśle, ale nie tylko. Tego typu st...
Języki programowania sterowników PLC: LAD, FBD, SCL, STL. Ćwiczenia dla początkujących Języki programowania sterowników PLC: LAD, FBD, SCL, STL. Ćwiczenia dla początkujących
(26.94 zł najniższa cena z 30 dni)29.18 zł
44.90 zł(-35%) -
Czy chcesz odkryć świat kodowania i stać się młodym programistą w zaledwie jeden dzień? Czy chcesz nauczyć się języka, który otworzy przed tobą drzwi do fascynującego świata technologii? Czy chcesz tworzyć własne gry, aplikacje i nie tylko, korzystając z Pythona, jednego z najbardziej przyjaz...
Python w 1 dzień dla najmłodszych. Naucz się kodowania w Pythonie w 12 godzin Python w 1 dzień dla najmłodszych. Naucz się kodowania w Pythonie w 12 godzin
-
Czy chcesz szybko i skutecznie opanować podstawy Microsoft Azure, zrozumieć jego architekturę i możliwości? W takim razie to książka dla Ciebie! Czy chcesz nauczyć się, jak wdrażać, zarządzać i skalować aplikacje w chmurze Azure, nie tracąc przy tym cennego czasu? W takim razie to książka dla C...
Azure w 1 dzień. Microsoft Azure od podstaw po zaawansowane techniki Azure w 1 dzień. Microsoft Azure od podstaw po zaawansowane techniki
-
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)83.85 zł
129.00 zł(-35%)
O autorach ebooka
Micha Gorelick to laureat nagrody Nobla z roku 2046 za swój wkład w podróże w czasie. Cofnął się w czasie do pierwszej dekady XXI wieku, aby studiować astrofizykę, przetwarzać dane w serwisie bitly i zostać współzałożycielem firmy Fast Forward Labs jako obywatel Szalony Naukowiec, zajmując się różnymi zagadnieniami, począwszy od uczenia maszynowego, a skończywszy na wydajnych algorytmach strumieni.
Ian Ozsvald to analityk danych i nauczyciel w firmie ModelInsight.io z ponad 10-letnim doświadczeniem z zakresu języka Python. Ian prowadził wykłady poświęcone kodowi Python o dużej wydajności na konferencjach PyCon i PyData, a także od wielu lat oferuje w Wielkiej Brytanii usługi konsultingowe związane z analizą danych i obliczeniami o dużej wydajności.
Zobacz pozostałe książki z serii O'Reilly
-
Ten przewodnik, który docenią programiści i architekci, zawiera wyczerpujące omówienie zagadnień projektowania, funkcjonowania i modyfikowania architektury API. Od strony praktycznej przedstawia strategie budowania i testowania API REST umożliwiającego połączenie oferowanej funkcjonalności na poz...
Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API
(41.40 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
W tej książce omówiono ponad 20 najprzydatniejszych wzorców projektowych, dzięki którym tworzone aplikacje internetowe będą łatwe w późniejszej obsłudze technicznej i w trakcie skalowania. Poza wzorcami projektowymi przedstawiono wzorce generowania i wydajności działania, których znaczenie dla uż...
Wzorce projektowe w JavaScripcie. Przewodnik dla programistów JavaScriptu i Reacta. Wydanie II Wzorce projektowe w JavaScripcie. Przewodnik dla programistów JavaScriptu i Reacta. Wydanie II
(41.40 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
To gruntownie zaktualizowane i uzupełnione wydanie praktycznego przewodnika po wdrażaniu i testowaniu kontenerów Dockera. Przedstawia proces przygotowania pakietu aplikacji ze wszystkimi ich zależnościami, a także jego testowania, wdrażania, skalowania i utrzymywania w środowiskach produkcyjnych....
Docker. Niezawodne kontenery produkcyjne. Praktyczne zastosowania. Wydanie III Docker. Niezawodne kontenery produkcyjne. Praktyczne zastosowania. Wydanie III
(52.20 zł najniższa cena z 30 dni)56.55 zł
87.00 zł(-35%) -
To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykłada...
Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie
(46.20 zł najniższa cena z 30 dni)50.05 zł
77.00 zł(-35%) -
Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięk...
Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II
(77.40 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie d...(53.40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
Oto zwięzły i praktyczny przewodnik po usłudze GA4 i jej integracji z chmurą. Szczególnie skorzystają z niego analitycy danych, biznesu i marketingu. Opisano tu wszystkie istotne kwestie dotyczące tego nowego, potężnego modelu analitycznego. Szczególną uwagę poświęcono bardziej zaawansowanym funk...
Google Analytics od podstaw. Analiza wpływu biznesowego i wyznaczanie trendów Google Analytics od podstaw. Analiza wpływu biznesowego i wyznaczanie trendów
(41.40 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
Dzięki tej książce dowiesz się, w jaki sposób uczynić architekturę oprogramowania wystarczająco plastyczną, aby mogła odzwierciedlać zachodzące zmiany biznesowe i technologiczne. W nowym wydaniu rozbudowano pojęcia zmiany kierowanej i przyrostowej, a także przedstawiono najnowsze techniki dotyczą...
Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II
(40.20 zł najniższa cena z 30 dni)43.55 zł
67.00 zł(-35%) -
Właśnie w tym celu powstał ten przewodnik po filozofii oprogramowania. Znajdziesz w nim 21 pragmatycznych reguł, którymi kierują się najlepsi programiści. Dzięki spostrzeżeniom zawartym w książce zmienisz podejście do programowania i szybko się przekonasz, że pozwoli Ci to na pisanie lepszego, cz...(47.40 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł(-35%) -
Ta książka, napisana z myślą o inżynierach oprogramowania, jest trzecim, gruntownie zaktualizowanym wydaniem praktycznego przewodnika, który szybko przeprowadzi Cię od podstaw aż do zaawansowanych technik pracy z Gitem. Po zapoznaniu się z filozofią systemu i jego najważniejszymi funkcjami płynni...
Kontrola wersji z systemem Git. Zaawansowane narzędzia i techniki do wspólnego projektowania oprogramowania. Wydanie III Kontrola wersji z systemem Git. Zaawansowane narzędzia i techniki do wspólnego projektowania oprogramowania. Wydanie III
(71.40 zł najniższa cena z 30 dni)77.35 zł
119.00 zł(-35%)
Ebooka "Wysoko wydajny Python. Efektywne programowanie w praktyce. Wydanie II" 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 "Wysoko wydajny Python. Efektywne programowanie w praktyce. Wydanie II" 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 "Wysoko wydajny Python. Efektywne programowanie w praktyce. Wydanie II" 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:
- High Performance Python: Practical Performant Programming for Humans, 2nd Edition
- Tłumaczenie:
- Piotr Pilch
- ISBN Książki drukowanej:
- 978-83-283-7184-2, 9788328371842
- Data wydania książki drukowanej:
- 2021-01-21
- ISBN Ebooka:
- 978-83-283-7185-9, 9788328371859
- Data wydania ebooka:
- 2021-01-21 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:
- 168x237
- Numer z katalogu:
- 125425
- Rozmiar pliku Pdf:
- 7.5MB
- Rozmiar pliku ePub:
- 10.0MB
- Rozmiar pliku Mobi:
- 21.8MB
- 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: O'Reilly
Spis treści ebooka
- Podstawowy system komputerowy 19
- Jednostki obliczeniowe 20
- Jednostki pamięci 23
- Warstwy komunikacji 26
- Łączenie ze sobą podstawowych elementów 27
- Porównanie wyidealizowanego przetwarzania z maszyną wirtualną języka Python 27
- Dlaczego warto używać języka Python? 31
- Jak zostać bardzo wydajnym programistą? 34
- Sprawdzone praktyki 35
- Wnioski dotyczące sprawdzonych praktyk korzystania z rozszerzenia Jupyter Notebook 37
- Niech praca znów sprawia radość 38
- Efektywne profilowanie 40
- Wprowadzenie do zbioru Julii 41
- Obliczanie pełnego zbioru Julii 45
- Proste metody pomiaru czasu - instrukcja print i dekorator 48
- Prosty pomiar czasu za pomocą polecenia time systemu Unix 51
- Użycie modułu cProfile 52
- Użycie narzędzia snakeviz do wizualizacji danych wyjściowych modułu cProfile 57
- Użycie narzędzia line_profiler do pomiarów dotyczących kolejnych wierszy kodu 57
- Użycie narzędzia memory_profiler do diagnozowania wykorzystania pamięci 63
- Introspekcja istniejącego procesu za pomocą narzędzia py-spy 68
- Kod bajtowy od podszewki 69
- Użycie modułu dis do sprawdzenia kodu bajtowego narzędzia CPython 69
- Różne metody, różna złożoność 71
- Testowanie jednostkowe podczas optymalizacji w celu zachowania poprawności 73
- Dekorator @profile bez operacji 73
- Strategie udanego profilowania kodu 76
- Podsumowanie 77
- Bardziej efektywne wyszukiwanie 82
- Porównanie list i krotek 84
- Listy jako tablice dynamiczne 85
- Krotki w roli tablic statycznych 88
- Podsumowanie 89
- Jak działają słowniki i zbiory? 94
- Wstawianie i pobieranie 94
- Usuwanie 97
- Zmiana wielkości 98
- Funkcje mieszania i entropia 99
- Słowniki i przestrzenie nazw 102
- Podsumowanie 105
- Iteratory dla szeregów nieskończonych 111
- Wartościowanie leniwe generatora 112
- Podsumowanie 116
- Wprowadzenie do problemu 118
- Czy listy języka Python są wystarczająco dobre? 122
- Problemy z przesadną alokacją 123
- Fragmentacja pamięci 126
- Narzędzie perf 128
- Podejmowanie decyzji z wykorzystaniem danych wyjściowych narzędzia perf 131
- Wprowadzenie do narzędzia numpy 132
- Zastosowanie narzędzia numpy w przypadku problemu dotyczącego dyfuzji 135
- Przydziały pamięci i operacje wewnętrzne 138
- Optymalizacje selektywne: znajdowanie tego, co wymaga poprawienia 141
- Moduł numexpr: przyspieszanie i upraszczanie operacji wewnętrznych 143
- Przestroga: weryfikowanie "optymalizacji" (biblioteka scipy) 146
- Wnioski z optymalizacji macierzy 148
- Narzędzie Pandas 150
- Model wewnętrzny narzędzia Pandas 150
- Zastosowanie funkcji dla wielu wierszy danych 152
- Budowanie struktur DataFrame i szeregów z wyników częściowych, a nie przez łączenie 159
- Zadanie może zostać zrealizowane na więcej niż jeden sposób (i być może szybszy) 160
- Rada dotycząca efektywnego projektowania z wykorzystaniem narzędzia Pandas 161
- Podsumowanie 163
- Jakie wzrosty szybkości są możliwe? 166
- Porównanie kompilatorów JIT i AOT 168
- Dlaczego informacje o typie ułatwiają przyspieszenie działania kodu? 168
- Użycie kompilatora kodu C 169
- Analiza przykładu zbioru Julii 170
- Cython 170
- Kompilowanie czystego kodu Python za pomocą narzędzia Cython 171
- pyximport 173
- Użycie adnotacji kompilatora Cython do analizowania bloku kodu 173
- Dodawanie adnotacji typu 175
- Cython i numpy 179
- Przetwarzanie równoległe rozwiązania na jednym komputerze z wykorzystaniem interfejsu OpenMP 181
- Numba 183
- Użycie narzędzia Numba do kompilacji kodu NumPy dla narzędzia Pandas 185
- PyPy 186
- Różnice związane z czyszczeniem pamięci 187
- Uruchamianie interpretera PyPy i instalowanie modułów 188
- Zestawienie wzrostów szybkości 189
- Kiedy stosować poszczególne technologie? 190
- Inne przyszłe projekty 192
- Procesory graficzne (GPU) 193
- Grafy dynamiczne: PyTorch 193
- Podstawowe profilowanie procesora graficznego 196
- Elementy wydajności procesorów graficznych 197
- Kiedy stosować procesory graficzne? 199
- Interfejsy funkcji zewnętrznych 201
- ctypes 202
- cffi 204
- f2py 206
- Moduł narzędzia CPython 209
- Podsumowanie 212
- Wprowadzenie do programowania asynchronicznego 217
- Jak działają funkcja async i instrukcja await? 219
- Przeszukiwacz szeregowy 220
- gevent 222
- tornado 226
- aiohttp 229
- Wspólne obciążenie procesora i urządzeń wejścia-wyjścia 232
- Proces szeregowy 233
- Przetwarzanie wsadowe wyników 234
- Pełna asynchronizacja 237
- Podsumowanie 240
- Moduł multiprocessing 246
- Przybliżenie liczby pi przy użyciu metody Monte Carlo 248
- Przybliżanie liczby pi za pomocą procesów i wątków 249
- Zastosowanie obiektów języka Python 250
- Zastępowanie modułu multiprocessing biblioteką Joblib 256
- Liczby losowe w systemach przetwarzania równoległego 260
- Zastosowanie narzędzia numpy 261
- Znajdowanie liczb pierwszych 264
- Kolejki zadań roboczych 270
- Weryfikowanie liczb pierwszych za pomocą komunikacji międzyprocesowej 274
- Rozwiązanie z przetwarzaniem szeregowym 279
- Rozwiązanie z prostym obiektem Pool 280
- Rozwiązanie z bardzo prostym obiektem Pool dla mniejszych liczb 281
- Użycie obiektu Manager.Value jako flagi 282
- Użycie systemu Redis jako flagi 284
- Użycie obiektu RawValue jako flagi 286
- Użycie modułu mmap jako flagi 287
- Użycie modułu mmap do odtworzenia flagi 288
- Współużytkowanie danych narzędzia numpy za pomocą modułu multiprocessing 290
- Synchronizowanie dostępu do zmiennych i plików 297
- Blokowanie plików 297
- Blokowanie obiektu Value 300
- Podsumowanie 303
- Zalety klastrowania 306
- Wady klastrowania 307
- Strata o wartości 462 milionów dolarów na giełdzie Wall Street z powodu kiepskiej strategii aktualizacji klastra 309
- 24-godzinny przestój usługi Skype w skali globalnej 309
- Typowe projekty klastrowe 310
- Metoda rozpoczęcia tworzenia rozwiązania klastrowego 311
- Sposoby na uniknięcie kłopotów podczas korzystania z klastrów 312
- Dwa rozwiązania klastrowe 313
- Użycie modułu IPython Parallel do obsługi badań 314
- Operacje równoległe narzędzia Pandas z wykorzystaniem biblioteki Dask 316
- Użycie systemu NSQ dla niezawodnych klastrów produkcyjnych 321
- Kolejki 321
- Publikator/subskrybent 322
- Rozproszone obliczenia liczb pierwszych 324
- Inne warte uwagi narzędzia klastrowania 328
- Docker 329
- Wydajność Dockera 329
- Zalety Dockera 332
- Podsumowanie 334
- Obiekty typów podstawowych są kosztowne 336
- Moduł array zużywa mniej pamięci do przechowywania wielu obiektów typu podstawowego 337
- Mniejsze zużycie pamięci RAM w bibliotece NumPy dzięki narzędziu NumExpr 340
- Analiza wykorzystania pamięci RAM w kolekcji 343
- Bajty i obiekty Unicode 345
- Efektywne przechowywanie zbiorów tekstowych w pamięci RAM 346
- Zastosowanie metod dla 11 milionów tokenów 347
- Modelowanie większej ilości tekstu za pomocą narzędzia FeatureHasher biblioteki scikit-learn 355
- Wprowadzenie do narzędzi DictVectorizer i FeatureHasher 356
- Porównanie narzędzi DictVectorizer i FeatureHasher w wypadku rzeczywistego problemu 358
- Macierze rzadkie biblioteki SciPy 360
- Wskazówki dotyczące mniejszego wykorzystania pamięci RAM 363
- Probabilistyczne struktury danych 363
- Obliczenia o bardzo dużym stopniu przybliżenia z wykorzystaniem jednobajtowego licznika Morrisa 365
- Wartości k-minimum 367
- Filtry Blooma 371
- Licznik LogLog 376
- Praktyczny przykład 380
- Usprawnianie potoków inżynierii cech za pomocą biblioteki Feature-engine 385
- Inżynieria cech w przypadku uczenia maszynowego 386
- Trudne zadanie wdrażania potoków inżynierii cech 386
- Wykorzystanie możliwości bibliotek open source języka Python 387
- Biblioteka Feature-engine usprawnia budowanie i wdrażanie potoków inżynierii cech 388
- Ułatwienie adaptacji nowego pakietu open source 389
- Projektowanie, utrzymywanie i zachęcanie do uczestnictwa w rozwoju bibliotek open source 390
- Bardzo wydajne zespoły danologów 391
- Ile to potrwa? 392
- Poznawanie i planowanie 392
- Zarządzanie oczekiwaniami i dostarczeniem produktu 393
- Numba 395
- Prosty przykład 395
- Najlepsze praktyki i zalecenia 397
- Uzyskiwanie pomocy 400
- Optymalizowanie a myślenie 401
- Narzędzie Social Media Analytics (SoMA) firmy Adaptive Lab (2014) 403
- Język Python w firmie Adaptive Lab 404
- Projekt narzędzia SoMA 404
- Zastosowana metodologia projektowa 405
- Serwisowanie systemu SoMA 405
- Rada dla inżynierów z branży 406
- Technika głębokiego uczenia prezentowana przez firmę RadimRehurek.com (2014) 406
- Strzał w dziesiątkę 407
- Rady dotyczące optymalizacji 409
- Podsumowanie 411
- Uczenie maszynowe o dużej skali gotowe do zastosowań produkcyjnych w firmie Lyst.com (2014) 412
- Projekt klastra 412
- Ewolucja kodu w szybko rozwijającej się nowej firmie 412
- Budowanie mechanizmu rekomendacji 413
- Raportowanie i monitorowanie 413
- Rada 414
- Analiza serwisu społecznościowego o dużej skali w firmie Smesh (2014) 414
- Rola języka Python w firmie Smesh 414
- Platforma 415
- Dopasowywanie łańcuchów w czasie rzeczywistym z dużą wydajnością 415
- Raportowanie, monitorowanie, debugowanie i wdrażanie 417
- Interpreter PyPy zapewniający powodzenie systemów przetwarzania danych i systemów internetowych (2014) 418
- Wymagania wstępne 419
- Baza danych 419
- Aplikacja internetowa 420
- Mechanizm OCR i tłumaczenie 420
- Dystrybucja zadań i procesy robocze 421
- Podsumowanie 421
- Kolejki zadań w serwisie internetowym Lanyrd.com (2014) 421
- Rola języka Python w serwisie Lanyrd 422
- Zapewnianie odpowiedniej wydajności kolejki zadań 423
- Raportowanie, monitorowanie, debugowanie i wdrażanie 423
- Rada dla programistów z branży 423
Słowo wstępne 11
Przedmowa 13
1. Wydajny kod Python 19
2. Użycie profilowania do znajdowania wąskich gardeł 39
3. Listy i krotki 79
4. Słowniki i zbiory 91
5. Iteratory i generatory 107
6. Obliczenia macierzowe i wektorowe 117
7. Kompilowanie do postaci kodu C 165
8. Asynchroniczne operacje wejścia-wyjścia 215
9. Moduł multiprocessing 243
10. Klastry i kolejki zadań 305
11. Mniejsze wykorzystanie pamięci RAM 335
12. Rady specjalistów z branży 385
Oceny i opinie klientów: Wysoko wydajny Python. Efektywne programowanie w praktyce. Wydanie II Micha Gorelick, Ian Ozsvald (5) 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.
(2)
(1)
(0)
(1)
(1)
(0)
więcej opinii