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 Performance Python helps you gain a deeper understanding of Python's implementation. How do you take advantage of multicore architectures or clusters? Or build a system that scales up and down without losing reliability? Experienced Python programmers will learn concrete solutions to many issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and more. -- Provided by publisher
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ść!