Для работы скрипта требуется Ruby 2.4+
В этом задании надо дооптимизировать задание 1й недели с использованием инструментов профилирования CPU и разъяснений, сделанных на 2й лекции.
- Построить и проанализировать отчёт
ruby-profв режимеFlat; - Построить и проанализировать отчёт
ruby-profв режимеGraph; - Построить и проанализировать отчёт
ruby-profв режимеCallStack; - Построить и проанализировать отчёт
ruby-profв режимеCallTreec визуализацией вQCachegrind; - Профилировать работающий процесс
rbspy; - Построить и проанализировать отчёт
flamegraphс помощьюrbspy; - Добавить в программу
ProgressBar; - Научиться пользоваться
Valgrind massifсmassif-visualizer. Построить профиль использования памяти для итоговой версии вашей программы и добавить скриншот вPR; - Написать хотя бы самый простой тест на производительность:
assert, что время выполнения скрипта меньше значения, которое чуть больше реального, чтобы не давать ложных срабатываний;
Нужно потренироваться методично работать по схеме с фидбек-лупом:
- построили отчёт каким-то из профилировщиков
- осознали его
- поняли, какая самая большая точка роста
- внесли минимальные изменения, чтобы использовать только эту точку роста
- перестроили отчёт, убедились, что проблема решена
- вычислили метрику - оценили, как изменение повлияло на метрику
- записали полученные результаты
- закоммитились
- перешли к следующей итерации