Robocikowo>ROBOCIKOWO

Python — od podstaw do zaawansowanego · Performance i profilowanie

timeit — mikrobenchmarki

Performance i profilowanie

Wprowadzenie

timeit to wbudowany w Pythona moduł do mierzenia czasu MAŁYCH fragmentów kodu. Uruchamia je tysiące razy, odrzuca outliery i zwraca rzetelny pomiar — odporny na szum systemowy. To pierwszy odruch przy pytaniu „która wersja jest szybsza?".

Trzy interfejsy: (1) wiersz poleceń python -m timeit "...", (2) API biblioteczne timeit.timeit(...), (3) magic IPython/Jupytera %timeit i %%timeit. Wszystkie używają tego samego silnika.

Pułapki, których nauczy ta lekcja: różnica time.time() vs time.perf_counter(), dlaczego setup nie jest mierzony, czemu GC ma znaczenie, kiedy repeat() jest lepszy niż timeit(), jak autorange dobiera liczbę powtórzeń, i jak NIE zmierzyć IO/sieci jako CPU-bound.