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