我在解释我生成的日志中的 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 个 float 的结果?
最佳答案
您需要使用更高分辨率的计时器(如果您不能使用 C++11)。 - Like this .对于您的情况 clockid_t - CLOCK_MONOTONIC
。
关于C++ time.h 差异时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12835496/