cProfile — детерминистический профайлер, отслеживает каждый вызов. import cProfile; cProfile.run("main()", "output.prof"). Или как декоратор: profiler = cProfile.Profile(); profiler.enable(); ...; profiler.disable(); profiler.print_stats("cumulative"). Столбцы: ncalls — число вызовов, tottime — время в функции (без вызовов), cumtime — с вызовами, percall. Сортировка: "cumulative", "tottime", "calls". pstats.Stats("output.prof").sort_stats("cumulative").print_stats(20). Overhead ~30% — не для production. Для production: py-spy (sampling, zero overhead). cProfile — первый шаг оптимизации.
Как работает cProfile?
Senior
199 просмотровAFK Offer AI
Как использовать side_effect в mock?