如何平均时间命令?

如何平均时间命令?

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

avgtime -n 100 my_command

real    0m5.388s stdev 0m0.068s
user    0m5.380s stdev 0m0.067s
sys     0m0.004s stdev 0m0.000s

有没有 UNIX 工具可以做到这一点? GNU/Linux 有吗?

答案1

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

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

答案2

超精细是另一种选择。

使用示例:

hyperfine --warmup 3 'my_command'

相关问题

答案3

它不完全是一个 UNIX 或 GNU/Linux 工具,但您可以非常轻松地使用统计计算软件环境为了这。 (我不能不过,找到更适合您的任务的东西.)

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

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

答案4

还有两个选项(现在 debian 等都提供):

相关内容