← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 78: Використання cProfile і snakeviz

Технологія: Python

Номер лабораторної: 78 · Рівень: middle

Тема: Профілювання CPU навантаження

Повний опис / сценарій лабораторної:

Meta: навчитися знаходити найвитратніші за часом ділянки коду.



Krok 1. Вибрати скрипт або сервіс який працює помітний час і має підозру на неефективність.



Krok 2. Запустити його через модуль cProfile з виводом у файл профілю.



Krok 3. Встановити snakeviz або інший інструмент для візуалізації профілю.



Krok 4. Відкрити файл профілю у snakeviz і проаналізувати найповільніші функції.



Krok 5. Вибрати одну ділянку для оптимізації наприклад зайвий цикл або конвертацію типів.



Krok 6. Внести зміни у код і повторити профілювання.



Krok 7. Порівняти результати до і після оптимізації.



Krok 8. Занотувати типові помилки що призводять до зайвого CPU навантаження.



Krok 9. Продумати як регулярно проводити профілювання у великих проєктах.



Krok 10. Mini zvit.

Zavdannya: опиши коли оптимізація Python коду справді має сенс у контексті інфраструктури.