PYPROGLIB Telegram 6801
🔎 Команда дня: быстрый рецепт профилирования с cProfile и pstats

🔍 Профилирование — это способ найти узкие места в производительности кода.

Вы можете точно узнать, какие функции тормозят выполнение, где тратится больше всего времени, и какие вызовы стоит оптимизировать.

Python поставляется с двумя встроенными профайлерами:
🔴 cProfile — написан на C, работает быстрее и точнее,
🔴 profile — на Python, обычно медленнее.

✔️ Обычно выбираем cProfile для измерения производительности.

Как профилировать скрипт


1️⃣ Запустите скрипт с профилированием и сохраните результат в файл:
python -m cProfile -o profile my_script.py


2️⃣ Для анализа результатов используйте модуль pstats:
python -m pstats profile <<< $'sort cumtime\nstats 1000' | less


🔴 sort cumtime — сортируем функции по кумулятивному времени (время выполнения функции плюс все вызовы внутри неё)
🔴 stats 1000 — показываем первые 1000 строк статистики
🔴 less — удобный просмотр с прокруткой (нажмите q для выхода)

Полезные опции

✔️ Профилируйте модули через -m:
python -m cProfile -o profile -m module_name [args]


✔️ Для сравнения результатов до и после оптимизации используйте разные имена файлов:
python -m cProfile -o before.profile script.py
python -m cProfile -o after.profile script.py


Можно менять сортировку по другим метрикам:

🔴 time — время выполнения только самой функции
🔴 calls — количество вызовов функции (может помочь найти «горячие» участки)

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🤩2



tgoop.com/pyproglib/6801
Create:
Last Update:

🔎 Команда дня: быстрый рецепт профилирования с cProfile и pstats

🔍 Профилирование — это способ найти узкие места в производительности кода.

Вы можете точно узнать, какие функции тормозят выполнение, где тратится больше всего времени, и какие вызовы стоит оптимизировать.

Python поставляется с двумя встроенными профайлерами:
🔴 cProfile — написан на C, работает быстрее и точнее,
🔴 profile — на Python, обычно медленнее.

✔️ Обычно выбираем cProfile для измерения производительности.

Как профилировать скрипт


1️⃣ Запустите скрипт с профилированием и сохраните результат в файл:

python -m cProfile -o profile my_script.py


2️⃣ Для анализа результатов используйте модуль pstats:
python -m pstats profile <<< $'sort cumtime\nstats 1000' | less


🔴 sort cumtime — сортируем функции по кумулятивному времени (время выполнения функции плюс все вызовы внутри неё)
🔴 stats 1000 — показываем первые 1000 строк статистики
🔴 less — удобный просмотр с прокруткой (нажмите q для выхода)

Полезные опции

✔️ Профилируйте модули через -m:
python -m cProfile -o profile -m module_name [args]


✔️ Для сравнения результатов до и после оптимизации используйте разные имена файлов:
python -m cProfile -o before.profile script.py
python -m cProfile -o after.profile script.py


Можно менять сортировку по другим метрикам:

🔴 time — время выполнения только самой функции
🔴 calls — количество вызовов функции (может помочь найти «горячие» участки)

Библиотека питониста #буст

BY Библиотека питониста | Python, Django, Flask


Share with your friend now:
tgoop.com/pyproglib/6801

View MORE
Open in Telegram


Telegram News

Date: |

Content is editable within two days of publishing Click “Save” ; Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator.
from us


Telegram Библиотека питониста | Python, Django, Flask
FROM American