У меня проблемы с переводом difftime
количество в журнале я произвел:
Я измеряю длительность для вызова некоторого метода и записываю его с помощью следующего синтаксиса:
time_t end, start ;
time(&start);
obj->sqp_func(this);
time(&end);
t_time = difftime(end, start) ;
sqp << "time " << endl ;
sqp << (double) end << endl ;
sqp << (double) start << endl ;
sqp << (double) t_time << endl ;
где sqp
имеет ofstream
тип.
Я получаю, где t_time
(с типом double
) должно быть напечатано значение 210.
Это 210 секунд? Это усечено, или напольное?
Как я могу получить результат в секундах до 2 с плавающей точкой, например?
difftime
возвращается разница в секундах типа двойной http://www.cplusplus.com/reference/clibrary/ctime/difftime/
— см. это для подробных объяснений
Вам нужно использовать таймер с более высоким разрешением (если вы не можете использовать C ++ 11). — Как это. Для вашего случая clockid_t - CLOCK_MONOTONIC
,