From 606efcb12fa5450040dbf09eb0aa29342b034750 Mon Sep 17 00:00:00 2001 From: Konstantin Goryachev Date: Wed, 23 Jun 2021 00:02:41 +0300 Subject: [PATCH 1/2] feat: optimization specs --- case-study.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 case-study.md diff --git a/case-study.md b/case-study.md new file mode 100644 index 0000000..e69de29 From cba7c84441b6e394cbe6a63d05f9879e73285381 Mon Sep 17 00:00:00 2001 From: Konstantin Goryachev Date: Wed, 23 Jun 2021 00:03:36 +0300 Subject: [PATCH 2/2] feat: optimization specs --- case-study.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/case-study.md b/case-study.md index e69de29..20032fe 100644 --- a/case-study.md +++ b/case-study.md @@ -0,0 +1,26 @@ +# Задание №7 + +## Case-study оптимизации + +### Шаг 1 +- для проведения оптимизации взял самый старый проект +- поставил rubocop-rspec и отрефакторил тесты +- особого ускорения это не принесло, но с тестами стало намного приятнее работать + +### Шаг 2 +- решил поработать с DatabaseCleaner +- полностью отказаться от него получилось +- изменение логики без записи в базу дало прирост почти в 2 раза + +### Шаг 3 +- let_it_be, before_all и parallel_tests дал самый большой прирост в скорости - примерно в 3 раза + +### Результаты +- узнал про профилирование rspec +- значительно сократил время прогона тестов +- познакомился с parallel_tests и guard + +### Вывод +- можно было сильнее углубиться в проблему, подключить FactoryDoctor и т.д. но к сожалению сейчас нет на это времени +- суммарно получилось выиграть в скорости с ~6 минут до 1.5 - считаю это отличным результатом за такое небольшое время +- на данный момент считаю, что необходимо сделать защиту от регрессии производительности \ No newline at end of file