在Windows平台上测量本机C++代码运行时间的好方法是什么(我在Windows Vista、Visual Studio 2010上工作)
我试过使用
#include <ctime>
int main()
{
clock_t start = clock();
... some code
clock_t end = clock();
double cpu_time = static_cast<double>(end - start)/CLOCKS_PER_SEC;
}
但是CCD_ 1总是CCD_。
谢谢!
您可以使用QueryPerformanceFrequency
和QueryPerformanceCounter
WinAPI函数。示例
您的代码都是有效的并且可以工作。如果您试图对某段特定代码的执行进行计时,则应该按照Xymostech的建议,通过循环来运行它。主要原因是:
- 您的代码片段将执行得非常快。在某些情况下,执行计时器的开始、代码片段和结束都是相同的时钟滴答声。这将导致
start
保持与end
相同的值,从而导致CCD_ 7等于零
然而,能够计算多次迭代的平均执行时间也有额外的好处