C++ 如何读取时钟测量值?
我使用以下方法测量了一些代码花费的cpu时间:C++ 如何读取时钟测量值?,c++,performance,C++,Performance,我使用以下方法测量了一些代码花费的cpu时间: double start_clock = clock(); // some code double end_clock = clock(); total_clock = (end_clock-start_clock)/CLOCKS_PER_SEC; printf("%f",total_clock); 打印出:255.750000。这是什么? 我的代码只用了33秒(手动测量)就完成了,那么,255是从哪里来的呢 想法:可能是因为我有8个线
double start_clock = clock();
// some code
double end_clock = clock();
total_clock = (end_clock-start_clock)/CLOCKS_PER_SEC;
printf("%f",total_clock);
打印出:255.750000。这是什么?
我的代码只用了33秒(手动测量)就完成了,那么,255是从哪里来的呢
想法:可能是因为我有8个线程在一个四核上并行运行(它有8个硬件线程)?33*8=264,类似于255。也许您的时钟每秒值是错误的。它是在哪里定义的?如果您的编译器支持C++11,请查看。另外[duplicate]()@MikeW可能在时间上。hI建议不要使用
时钟
进行高精度计时。使用或gettimeofday
查看win上的查询性能计数器和PC上的RDTSC