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

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

Git Лабораторна 80: Виявлення повільного коміту

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

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

Тема: Пошук регресій продуктивності через bisect

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

Meta: навчитися використовувати git bisect для пошуку коміту який викликає суттєве падіння продуктивності.



Krok 1. Уявити репозиторій з тестом продуктивності який можна запускати локально.

Poyasnennya: наприклад скрипт який міряє час виконання певної операції.



Krok 2. Визначити старий коміт де продуктивність ще була на прийнятному рівні.

Komanda: git log --oneline -n 20



Krok 3. Визначити новий коміт де код вже працює повільно.

Poyasnennya: це може бути поточний HEAD.



Krok 4. Запустити bisect.

Komandy: git bisect start; git bisect bad ХЕШ_BAD; git bisect good ХЕШ_GOOD



Krok 5. На кожному кроці bisect запускати тест продуктивності вручну.

Poyasnennya: наприклад скрипт який друкує час виконання і порівнюється з порогом.



Krok 6. Позначати поточний коміт good або bad у залежності від результату тесту.

Komandi: git bisect good або git bisect bad



Krok 7. Повторювати кроки до поки Git не вкаже конкретний коміт який змінив статус.

Poyasnennya: це кандидат на регресію продуктивності.



Krok 8. Переглянути diff цього коміту.

Komanda: git show --stat

Poyasnennya: проаналізуй які зміни могли спричинити сповільнення.



Krok 9. Після завершення bisect скинути стан.

Komanda: git bisect reset



Krok 10. Mini zvit.

Zavdannya: опиши як поєднати автоматичне вимірювання продуктивності з bisect run щоб мінімізувати ручну роботу.