Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何读取时钟测量值?_C++_Performance - Fatal编程技术网

C++ 如何读取时钟测量值?

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个线

我使用以下方法测量了一些代码花费的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个线程在一个四核上并行运行(它有8个硬件线程)?33*8=264,类似于255。

也许您的时钟每秒值是错误的。它是在哪里定义的?如果您的编译器支持C++11,请查看。另外[duplicate]()@MikeW可能在时间上。hI建议不要使用
时钟
进行高精度计时。使用或
gettimeofday
查看win上的查询性能计数器和PC上的RDTSC