производительность — Почему время выполнения C ++, которое я получаю в профилировщике, не является точным?

Я пытаюсь профилировать приложение C ++. Я пробовал gprof, HPCToolkit и ScoreP. Моя проблема в том, что для разных прогонов я получаю разное время прогона, разница между исполнениями составляет около 10% (например, 2,5 и 2,7 секунды). Зачем? Я помню, что когда я использовал CrayPat в системе cray, не было никакой разницы между различными исполнениями.
Спасибо

PS: я на Debian 8

0

Решение

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

0

Другие решения


По вопросам рекламы [email protected]