在Windows下进行基准测试

时间:2011-01-21 10:17:12

标签: windows benchmarking

在大多数类Unix系统中,您可以使用“time”命令执行程序并告诉您它使用了多少空间和时间。有没有人知道Windows的可比性?

(不,我并不特别想花6个月时间学习Win32 API ......)

3 个答案:

答案 0 :(得分:0)

从命令行(低分辨率,可能不准确):echo%date %% time%

以编程方式:QueryPerformanceCounter。 http://msdn.microsoft.com/en-us/library/ms644904(v=vs.85).aspx

答案 1 :(得分:0)

如果你想要毫秒级的精确度(这与linux / unix time给你的相当),那么timeGetTime()就是你所需要的。它返回自系统引导以来的毫秒数。包括mmsystem.h并链接到winmm.lib。但是,所有这些只会给你一个时间值,你要么需要在两者之间进行system()调用,要么在第一次调用时将开始时间转储到文件中,然后执行第二次读它。

更实用的解决方案,根据您的具体情况可能更有用:

  • 编写批处理脚本来调用您希望进行基准测试的程序并将其包装以便写入文件:

    echo“start”>> log.txt的 do_my_stuff.exe echo“stop”>> log.txt的

    然后使用工具作为优秀的LogExpert来查看时间戳

  • 安装cygwin工具并使用随附的time。如果您只需要在自己的机器上执行此操作,并且基准程序不需要复杂的设置(命令行参数,环境变量等),那么这可能是最简单的方法。

答案 2 :(得分:0)

我也在Windows中使用'time'实用程序。它带有mingw + msys。