⏱️ Ваш код тормозит, или вам кажется?

Оптимизация без предварительных замеров — не оч. Но еще хуже — это замеры, сделанные «на коленке».

Многие используют time.time() для всего подряд и получает цифры, которые не имеют ничего общего с реальностью.

Читайте разбор того, как правильно измерять производительность в Python.
Внутри статьи:
▪️ Wall Time vs CPU Time: Почему ваш код может «висеть» 5 секунд, пока процессор работал всего 0.05с (и что с этим делать).
▪️ timeit: Почему это способ лучше верный способ для микробенчмарков и как им пользоваться, чтобы не было стыдно.
▪️ Jupyter Magic: Как замерять скорость одной строкой (%timeit), если вы живете в ноутбуках.
▪️ Asyncio: Почему стандартные методы врут в асинхронном коде и где искать правильный таймер loop.time().

Это база, без которой лезть в рефакторинг просто нельзя.

👉 Профилирование и измерение времени выполнения кода в Python: полное руководство

#rtfm