如何平均时间命令?

Did*_*set 23 performance time benchmark time-utility

我正在执行time一些命令。现在为了平均测量值,我想按照指定的次数运行和计时我的命令,并获得具有计算平均值和标准偏差的结果。结果是这样的:

avgtime -n 100 my_command

real    0m5.388s stdev 0m0.068s
user    0m5.380s stdev 0m0.067s
sys     0m0.004s stdev 0m0.000s
Run Code Online (Sandbox Code Playgroud)

是否有用于此的 UNIX 工具?GNU/Linux 有吗?

bhd*_*dnx 11

您可以尝试使用 timeit 模块,该模块可在任何使用 Python 的系统中使用:

$ python -m timeit "__import__('os').system('my command here')"
10 loops, best of 3: 591 msec per loop
Run Code Online (Sandbox Code Playgroud)


小智 8

超精细是另一种选择。

使用示例:

hyperfine --warmup 3 'my_command'
Run Code Online (Sandbox Code Playgroud)

请参阅相关问题


sr_*_*sr_ 4

它不完全是一个 UNIX 或 GNU/Linux 工具,但您可以非常轻松地使用R软件环境进行统计计算。(不过,我找不到任何更具体的信息来完成您的任务。)

编辑我怎么能怀疑呢,当然有一个基准包Rrbenchmark。它显然包装了system.time()您也可以直接使用。 或者看看这个,一个简单的秒表功能对。 另请参阅“执行系统命令”@Rosetta 代码(或者不这样做,它是system("command")。)

Edit2我刚刚在右侧的“相关”列中看到这个问题“测量脚本内的时间”N ,这也可以使用,即花费时间,执行for循环(次),再次花费时间,计算时间跨度,除以N。(更简单的是,尝试time ( for-loop )解析其输出,除以N)。