我正在尝试编写一个基准程序,需要大约20分钟才能完成,因为实际的函数需要调用至少50次。
我使用了以下代码:
struct timeval start, end;
long mtime, seconds, useconds;
gettimeofday(&start, NULL);
usleep(2000);
gettimeofday(&end,NULL);
seconds =end.tv_sec - start.tv_sec;
useconds=end.tv_usec - start.tv_usec;
(mtime>1000)?cout<<"elapsed time in seconds:"<<setprecision(8)<<mtime/1000<<"secondsn":cout<<"elapsed time in milliseconds: "<<setprecision(3)<<mtime<<" millisecondsn";
,但我需要以这样一种方式编写它,即输出推断出要使用的经过时间的最佳单位,并以这些单位显示结果。我可以如何修改上述代码以符合要求,有什么建议吗?谢谢!
我猜你的"最佳单元"需求基本上是"人类可用的单元"。如果是这样,请花时间和
- millisecs mod 1000给出毫秒数
- 毫秒div 1000给出秒数(其中div为整数除法)
- seconds mod 60给出秒数
- 秒div 60给出分钟