Windows下的准确基准

时间:2010-09-25 12:24:37

标签: c++ windows process

我正在编写一个需要运行一组可执行文件并找到执行时间的程序。 我的第一种方法是运行一个进程,启动一个计时器,看看开始时间和进程返回退出值的时刻之间的差异。

不幸的是,这个程序不能在专用机器上运行,因此许多其他进程/线程可以大大改变执行时间。

我想获得操作系统实际给予进程的毫秒/时钟时间。我希望windows能够在某个地方存储这些信息,但我在msdn上找不到任何有用的东西。

当然,一个解决方案是多次运行该过程并计算出平均时间,但我不会避免这种情况。

感谢。

2 个答案:

答案 0 :(得分:1)

High-Performance Counter”可能就是你要找的东西。

我使用QueryPerformanceCounter / QueryPerformanceFrequency在3D编程之类的东西中进行高分辨率计时,其中股票功能并没有削减它。

您也可以尝试使用RDTSC x86指令。

答案 1 :(得分:1)

您可以查看GetProcessTimes API。