Я пытаюсь вычислить дельту в миллисекундах примерно так:
int olddelta = 0;
int delta = 0;
const clock_t begin_time = clock();
while (true) {
olddelta=delta;
delta=clock()-olddelta;
cout<<delta<<endl;
}
однако это не работает, поскольку дельта определенно не превышает 4000, и, похоже, она постепенно увеличивается. Что я сделал неправильно?
Так как вы используете clock()
нужно разделить на CLOCKS_PER_SEC
получить результат, выраженный в секундах. Чтобы получить дроби, бросьте clock()
в double
до деления:
double olddelta = 0;
double delta = 0;
const double begin_time = clock();
while (true) {
olddelta = delta;
delta=clock()-olddelta;
cout << (delta/CLOCKS_PER_SEC) << endl;
}
Если вы хотите измерить время одной итерации, измените цикл следующим образом:
double olddelta = 0;
double delta = 0;
const double begin_time = clock();
while (true) {
double now = clock();
delta = now - begin_time;
cout << (delta/CLOCKS_PER_SEC) << endl;
begin_time = now;
}
Других решений пока нет …