Основные рекомендации по высокопроизводительному бенчмаркингу

StackOverflow https://stackoverflow.com/questions/3640244

Вопрос

Я собираюсь протестировать несколько реализаций программного обеспечения для численного моделирования на высокопроизводительном компьютере, в основном с точки зрения времени, но и других ресурсов, таких как использование памяти, межпроцессное взаимодействие и т. д.тоже может быть интересно.

На данный момент у меня нет общих рекомендаций по тестированию программного обеспечения (в этой области).Я также не знаю, какой уровень шума при измерениях разумно ожидать и сколько тестов обычно проводят.Хотя эти проблемы, конечно, зависят от системы, я почти уверен, что существуют некоторые стандарты, которые считаются разумными.

Можете ли вы предоставить такую ​​(вводную) информацию?

Это было полезно?

Решение

Если тест не занимает много времени, то я его повторяю (напр.10 000 раз), чтобы это заняло несколько секунд.

Затем я делаю это несколько раз (например.5 раз), чтобы увидеть, воспроизводятся ли результаты теста (или они сильно варьируются).

Существуют ограничения для этого подхода (например,это тестирование с «теплым» кешем), но это лучше, чем ничего:и особенно хорош при сравнении аналогичного кода, например.для проверки того, действительно ли настройка производительности какого-либо существующего кода улучшила производительность (т. е.для проведения тестирования «до» и «после»).

Другие советы

Лучший способ — протестировать работу, для которой вы на самом деле будете его использовать!

Можете ли вы запустить подвыборку реальной проблемы, которая займет всего несколько минут, и просто запланировать ее на разных машинах?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top