统计合理地测量程序运行时间
Measure program runtime statistically sound
假设我的编译程序有两个变体,./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模块不计算平均值和方差,只是取最小值,基于所有测量误差增加测量。
假设我的编译程序有两个变体,./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模块不计算平均值和方差,只是取最小值,基于所有测量误差增加测量。