Hacky & Tipy
Python profiling: kompletní návod
Python je pomalý? Možná. Ale nejdřív změřte kde.
cProfile
python -m cProfile -s cumulative app.py
snakeviz
python -m cProfile -o profile.prof app.py
snakeviz profile.prof
snakeviz profile.prof
line_profiler
@profile
def slow_function(): ...
# kernprof -l -v script.py
def slow_function(): ...
# kernprof -l -v script.py
memory_profiler
python -m memory_profiler script.py
py-spy — sampling bez overhead
py-spy record -o profile.svg -- python app.py
Optimalizace
- Generators místo lists
- dict/set pro lookup
- functools.lru_cache
- numpy pro numeriku
- multiprocessing pro CPU-bound
- asyncio pro I/O-bound
Workflow
cProfile → snakeviz → line_profiler → optimalizace → měření znovu.