【发布时间】:2011-01-21 10:17:11
【问题描述】:
在大多数类 Unix 系统下,您可以使用“time”命令来执行程序并告诉您它使用了多少空间和时间。有人知道 Windows 有什么可比的吗?
(不,我并不想为此花 6 个月的时间学习 Win32 API……)
【问题讨论】:
标签: windows benchmarking
在大多数类 Unix 系统下,您可以使用“time”命令来执行程序并告诉您它使用了多少空间和时间。有人知道 Windows 有什么可比的吗?
(不,我并不想为此花 6 个月的时间学习 Win32 API……)
【问题讨论】:
标签: windows benchmarking
从命令行(低分辨率,可能不准确):echo %date% %time%
以编程方式:QueryPerformanceCounter。 http://msdn.microsoft.com/en-us/library/ms644904(v=vs.85).aspx
【讨论】:
如果您想要毫秒级的精度(与 linux/unix time 给您的精度相当),那么 timeGetTime() 就是您所需要的。它返回自系统启动以来的毫秒数。包括mmsystem.h 并链接到winmm.lib。但是,所有这些只会给您一个时间值,您要么需要在两者之间进行 system() 调用,要么在第一次调用时将开始超时转储到文件中,然后读取它第二次。
更实用的解决方案,根据您的情况可能更有用:
编写一个批处理脚本来调用您希望进行基准测试的程序并将其包装以便写入文件:
回显“开始”>> log.txt do_my_stuff.exe 回声“停止”>> log.txt
然后使用工具作为优秀的LogExpert查看时间戳
安装 cygwin 工具并使用附带的 time。如果您只需要在自己的机器上执行此操作,并且基准程序不需要复杂的设置(命令行参数、环境变量等),那么这可能是最简单的方法。
【讨论】:
我也在 Windows 中使用“时间”实用程序。自带mingw+msys。
【讨论】: