У меня есть большой проект, написанный на С++. У этого могут быть некоторые проблемы стабильности (например, случайное время выполнения), но я не уверен в этом. Я понимаю, что время выполнения, измеренное временем настенных часов, может отличаться от числа запусков из-за многозадачности ОС. Но я не знаю, нормально ли для стабильной программы, иметь переменное время выполнения, измеренное временем часов процессора между прогонами с одним и тем же входом. Я попытался использовать clock()
от time.h и
boost::chrono:::process_user_cpu_clock::now();
Но в обоих случаях я вижу всплески на графике. Я приведу вам пример таких графиков. Здесь Y-ось - время выполнения, ось X - последовательные прогоны одной и той же программы, на одних и тех же входных данных. Красный график - время настенных часов, красное - время работы процессора, взятое clock() от time.h
Конечно, мы предполагаем, что наша программа стабильна и не имеет случайного поведения. Так, возможно ли это? Платформа - Windows 7.