Linux 测量程序运行时的声音

Linux 测量程序运行时的声音,linux,command-line,statistics,runtime,benchmarking,Linux,Command Line,Statistics,Runtime,Benchmarking,假设我的编译程序有两个变体,/foo和/bar,我想看看bar是否真的更快 我可以通过运行time./foo和time./bar来比较运行时,但是数字变化太大,无法在这里得到有意义的结果 在统计上比较两个命令行程序执行时间的最快方法是什么?例如,其中一个还告诉我测量值的差异?python模块timeit还提供了一个简单的命令行界面,它已经比多次发出time命令方便得多: $ python -m timeit -s 'import os' 'os.system("./IsSpace-before"

假设我的编译程序有两个变体,
/foo
/bar
,我想看看
bar
是否真的更快

我可以通过运行
time./foo
time./bar
来比较运行时,但是数字变化太大,无法在这里得到有意义的结果


在统计上比较两个命令行程序执行时间的最快方法是什么?例如,其中一个还告诉我测量值的差异?

python模块
timeit
还提供了一个简单的命令行界面,它已经比多次发出
time
命令方便得多:

$ python -m timeit -s 'import os' 'os.system("./IsSpace-before")'
10 loops, best of 3: 4.9 sec per loop
$ python -m timeit -s 'import os' 'os.system("./IsSpace-after")'
10 loops, best of 3: 4.9 sec per loop

timeit模块不计算平均值和方差,而只是在所有测量误差增加测量值的基础上取最小值。

如果数字变化很大,了解原因会很有趣?它是否在同一个数据样本上工作,是否太小?第一次运行是否更有说服力?所有这些,可能还有其他原因(浏览器同时运行等)。然而,对于一次性测量来说,仅仅重复测试比理解和根除这些问题更有效。