Основные рекомендации по высокопроизводительному бенчмаркингу
-
30-09-2019 - |
Вопрос
Я собираюсь протестировать несколько реализаций программного обеспечения для численного моделирования на высокопроизводительном компьютере, в основном с точки зрения времени, но и других ресурсов, таких как использование памяти, межпроцессное взаимодействие и т. д.тоже может быть интересно.
На данный момент у меня нет общих рекомендаций по тестированию программного обеспечения (в этой области).Я также не знаю, какой уровень шума при измерениях разумно ожидать и сколько тестов обычно проводят.Хотя эти проблемы, конечно, зависят от системы, я почти уверен, что существуют некоторые стандарты, которые считаются разумными.
Можете ли вы предоставить такую (вводную) информацию?
Решение
Если тест не занимает много времени, то я его повторяю (напр.10 000 раз), чтобы это заняло несколько секунд.
Затем я делаю это несколько раз (например.5 раз), чтобы увидеть, воспроизводятся ли результаты теста (или они сильно варьируются).
Существуют ограничения для этого подхода (например,это тестирование с «теплым» кешем), но это лучше, чем ничего:и особенно хорош при сравнении аналогичного кода, например.для проверки того, действительно ли настройка производительности какого-либо существующего кода улучшила производительность (т. е.для проведения тестирования «до» и «после»).
Другие советы
Лучший способ — протестировать работу, для которой вы на самом деле будете его использовать!
Можете ли вы запустить подвыборку реальной проблемы, которая займет всего несколько минут, и просто запланировать ее на разных машинах?