Autor: Ian Ozsvald
1
Ebook

Python. Programuj szybko i wydajnie

Micha Gorelick, Ian Ozsvald

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ś Python cieszy się dużą popularnością, co z jednej strony świadczy o jego przydatności, a z drugiej gwarantuje użytkownikom szerokie wsparcie społeczności programistów języka. Python jest elastyczny, dopuszcza różne style programowania, a dzięki temu znajduje zastosowanie w wielu miejscach świata IT. Jeżeli chcesz w pełni wykorzystać możliwości Pythona i tworzyć wydajne rozwiązania, to koniecznie zaopatrz się w tę książkę! Dzięki niej dowiesz się, jak wykorzystać profilowanie do lokalizowania „wąskich gardeł”, oraz poznasz efektywne techniki wyszukiwania danych na listach, w słownikach i zbiorach. Ponadto zdobędziesz wiedzę na temat obliczeń macierzowych i wektorowych oraz zobaczysz, jak kompilacja do postaci kodu C wpływa na wydajność Twojego rozwiązania. Osobne rozdziały zostały poświęcone współbieżności oraz modułowi multiprocessing. Opanowanie tych zagadnień pozwoli Ci ogromnie przyspieszyć działanie Twojej aplikacji. Na sam koniec nauczysz się tworzyć klastry i kolejki zadań oraz optymalizować zużycie pamięci RAM. Rozdział dwunasty to gratka dla wszystkich — zawiera najlepsze porady specjalistów z branży! Książka ta jest obowiązkową lekturą dla wszystkich programistów chcących tworzyć wydajne rozwiązania w języku Python.   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. Rozwiąż duże problemy, używając mniej pamięci RAM. Wyciśnij z Pythona siódme poty!

2
Ebook

Wysoko wydajny Python. Efektywne programowanie w praktyce. Wydanie II

Micha Gorelick, Ian Ozsvald

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ść!