从统计上衡量程序运行时间



假设我的编译程序有两个变体,./foo./bar,我想找出bar是否确实更快。

我可以通过运行 time ./footime ./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 模块不计算平均值和方差,而只是取最小值,前提是所有测量误差都会增加测量值。

相关内容

  • 没有找到相关文章

最新更新