Влияют ли системные фоновые службы на бенчмарки языков?

Влияют ли системные фоновые службы на бенчмарки языков?
Влияют ли системные фоновые службы на бенчмарки языков? - davidclode @ Unsplash

Сегодня я просматривал несколько блогов о Ruby и Python. Один приверженец Python написал несколько строк кода с циклом, чтобы показать, что Python быстрее, чем Ruby, с аналогичным кодом. Я также нашел блог ученика Ruby, который утверждает, что это неправильно, и он тоже представил пример кода и результаты бенчмаркинга.

Мне интересно, могут ли фоновые программы или фоновые процессы иногда мешать результатам, и мы можем не получить точный сценарий бенчмарка.

Пожалуйста, поправьте меня, если я ошибаюсь.

Да, они могут.

Обычно просто здравый смысл в получении результатов от нескольких прогонов бенчмаркинга, имея некоторое представление о том, чего ожидать, и зная, какие фоновые службы могут запускаться на вашем компьютере (остерегайтесь, в частности, службы индексирования/поиска) и замедлять его, как правило, избежать серьезного заблуждения по результатам. Я обнаружил, что это скорее проблема с автоматическим тестированием производительности, когда в цикле нет человека, который мог бы сказать: «Что за хрень…? О, глупая служба foo только что запустила обновление».

Для чисто вычислительных тестов я обнаружил, что запуск процесса тестирования с более высоким приоритетом, чем обычно, может с пользой дать более последовательные и стабильные результаты на «занятых» машинах. Это может не сработать, если ввод-вывод является фактором (зависит от того, влияет ли понятие приоритета вашей ОС только на планирование ЦП или ввод-вывод).


LetsCodeIt, 25 мая 2023 г., 18:15