Każdy, kto się zetknął z językiem Python, wie, że jest on prosty i przyjazny dla programistów, ale ma też swoje ograniczenia przy pracy z dużymi wolumenami danych szybko pojawiają się problemy z wydajnością i ze skalowaniem. Niekiedy pomaga mocniejsza konfiguracja sprzętowa, jednak najczęściej kluczowe jest zastosowanie odpowiednich technik programistycznych i właściwych narzędzi.
Dzięki kolejnemu, poszerzonemu i zaktualizowanemu wydaniu tego praktycznego podręcznika zdobędziesz wszechstronną wiedzę o czynnikach wpływających na wydajność kodu. Dowiesz się, jak lokalizować wąskie gardła wydajności i optymalizować kod w programach, które przetwarzają duże wolumeny danych. Lepiej też zrozumiesz zasady implementacji kodu Pythona. W książce poruszono takie zagadnienia jak architektury wielordzeniowe, klastry, skalowanie systemu poza limity pamięci RAM lub z wykorzystaniem procesorów graficznych. Zaprezentowano praktyczne sposoby radzenia sobie z różnymi wyzwaniami, przybliżono również optymalizację kodu Pythona w wielu realnych scenariuszach, w tym na przykład w sytuacji wyodrębniania danych generatywnej sztucznej inteligencji i uczenia maszynowego w wersji produkcyjnej.
W książce:
* narzędzia NumPy i Cython, a także narzędzia profilujące
* wyszukiwanie wąskich gardeł wykorzystania czasu procesora i pamięci
* dobór odpowiednich struktur danych, macierze i wektory
* przyspieszanie sieci neuronowych i obliczeń opartych na procesorach GPU
* zarządzanie wieloma operacjami obliczeniowymi i operacjami wejścia-wyjścia
* przetwarzanie współbieżne w klastrze
To lektura obowiązkowa dla każdego programisty Pythona!
Mikhail Timonin, projektant, Engelhart