1.1. About Program
Python: Performance Optimization
1.1.1. Polish
Wprowadzenie:
- Projekt Faster CPython
Zmiany w wersjach 3.11, 3.12, 3.13, 3.14...
Architektura procesora i pamięci
- Pojęcie latencji
Pojęcia złożoności kodu (pamięciowa, obliczeniowa, cyklomatyczna, kognitywna)
Optymalizacja:
- Złożoność obliczeniowa operacji na wbudowanych typach danych
Ręczna i automatyczna identyfikacja złożonego kodu
Testy obciążeniowe
Transpilacja kodu Python do C
Tuning wydajnościowy:
Techniki pomiaru wydajności kodu
Microbenchmarking i jego pułapki
Profiling CPU
Profiling pamięci
Identyfikacja wąskich gardeł
Wizualizacja wyników
Wprowadzenie do współbieżności i przetwarzania równoległego:
GIL - Global Interpreter Lock
Programowanie wieloprocesowe
Programowanie wielowątkowe
Programowanie asynchroniczne