[英]Timing Functions in c++: The most accurate approach
我想为代码中的每个函数计时。 所以我有
func1();
func2();
func3();
目前我正在使用
#include <omp.h>
#include <time.h>
double start1=omp_get_wtime();
func1();
double end1=omp_get_wtime();
cout<<"\nfunc1 run time :"<<end1-start1<<endl;
double start2=omp_get_wtime();
func2();
double end2=omp_get_wtime();
cout<<"\nfunc2 run time :"<<end2-start2<<endl;
...
问:是否有比我用来衡量每个函数运行时间更好,更准确的方法?
C ++最近(即标准C ++ 11)引入了std::chrono
来获取计时信息。 这是一种跨平台的机制。 看这里 。 如果您拥有现代的编译器,则可以按以下方式使用它:
std::chrono::time_point<std::chrono::system_clock> t;
t = std::chrono::system_clock::now();
在C ++ 11之前的版本中,C ++不包含任何计时功能,因此您要依赖其中任何一个
clock_gettime()
哪种机制最准确取决于您的特定操作系统和硬件平台。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.