我正在编写一个需要运行一组可执行文件并找到执行时间的程序。 我的第一种方法是运行一个进程,启动一个计时器,看看开始时间和进程返回退出值的时刻之间的差异。
不幸的是,这个程序不能在专用机器上运行,因此许多其他进程/线程可以大大改变执行时间。
我想获得操作系统实际给予进程的毫秒/时钟时间。我希望windows能够在某个地方存储这些信息,但我在msdn上找不到任何有用的东西。
当然,一个解决方案是多次运行该过程并计算出平均时间,但我不会避免这种情况。
感谢。
答案 0 :(得分:1)
“High-Performance Counter”可能就是你要找的东西。
我使用QueryPerformanceCounter / QueryPerformanceFrequency在3D编程之类的东西中进行高分辨率计时,其中股票功能并没有削减它。
您也可以尝试使用RDTSC x86指令。
答案 1 :(得分:1)
您可以查看GetProcessTimes API。