繁体   English   中英

Windows下的准确基准

[英]Accurate benchmark under windows

我正在编写一个程序,该程序需要运行一组可执行文件并查找其执行时间。 我的第一种方法是运行一个流程,启动一个计时器,然后查看启动时间与流程返回退出值的那一刻之间的时差。

不幸的是,该程序无法在专用计算机上运行,​​因此许多其他进程/线程可以极大地改变执行时间。

我想获得OS实际分配给进程的时间(以毫秒/时钟为单位)。 我希望Windows将这些信息存储在某个地方,但我找不到在msdn上有用的任何东西。

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

谢谢。

您可能正在寻找“ 高性能计数器 ”。

我已经使用QueryPerformanceCounter / QueryPerformanceFrequency在诸如3D编程之类的东西中进行高分辨率定时,而其中的库存功能只是不能削减它。

您也可以尝试RDTSC x86指令。

您可以看一下GetProcessTimes API。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM