将timeval格式化为“最佳单位”



我正在尝试编写一个基准程序,需要大约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给出分钟

相关内容

  • 没有找到相关文章

最新更新