Оценка производительности библиотек
Телеграм не хочет все вмещать в одно сообщение, поэтому вот вам сслыка.
Я наверняка не описал еще несколько важных пунктов, но общая картина у вас, я надеюсь, сложилась. Невозможно, написать абсолютно верный с формальной точки зрения перф тест. Вы можете приблизиться к этому потратив несоразмерно много сил и времени, но зачем? Напомню, что подобные тесты нужны для помощи в какой-то общей аналитики курса(!) кодовой базы: все драматически медленно или норм. Какие-то уточнения и погони за десятками, а не сотнями, процентов - уже узлишки для продуктиности и относяться скорее к хобби или уталению собственного эго, хотя бывают и какие-то специфические случаи для крупных заказчиков.
Конечно, лучше всего мерить производительность кода на реальных задачах (вы ждали этой фразы?), но когда библиотке решает наишироченный спектр задач, как стейт менеджер, невозможно сделать релевантный сразу для всех тест, даже несколько тестов.
Я, в итоге, выбрал следующие условия измерения: несколько запусков с разным количеством итераций, разбивка каждой итерации итерациями других тестов, медианное значение, средняя (из головы) сложность тестируемого кода и сложение интеджеров как юзерленд код.
Post #8
1.87K