неверный расчет дельты

Я пытаюсь вычислить дельту в миллисекундах примерно так:

int olddelta = 0;
int delta = 0;
const clock_t begin_time = clock();
while (true) {
olddelta=delta;
delta=clock()-olddelta;
cout<<delta<<endl;
}

однако это не работает, поскольку дельта определенно не превышает 4000, и, похоже, она постепенно увеличивается. Что я сделал неправильно?

1

Решение

Так как вы используете 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;
}
3

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

Других решений пока нет …

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