#include <QCoreApplication>
#include <QTime>
#include <iostream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTime time;
int samples = 1;
int lastTime;
int currentTime;
float midTime;
float shittinessOfTheProcess;
lastTime = time.currentTime().msec();
for(int i = 0; i < 1024; i++){
currentTime = time.currentTime().msec();
int currentTimeDistance = currentTime-lastTime;
midTime = ((samples*midTime)+currentTimeDistance)/(samples+1);
shittinessOfTheProcess += (currentTimeDistance-midTime);
std::cout << "Shittiness: " << shittinessOfTheProcess << "\n";
samples++;
lastTime = currentTime;
}
while(true){
currentTime = time.currentTime().msec();
int currentTimeDistance = currentTime-lastTime;
midTime = ((samples*midTime)+currentTimeDistance)/(samples+1);
shittinessOfTheProcess += (currentTimeDistance-midTime);
std::cout << "Shittiness: " << shittinessOfTheProcess << "\n";
samples++;
lastTime = currentTime;
}
return a.exec();
}
Этот код должен измерять отклонение от ожидаемого времени выполнения. Он рассчитывается как сумма отклонений, которые ожидаются от go до нуля. Опорным значением является среднее значение выборки.