linux - 统计合理地测量程序运行时间

标签 linux command-line statistics runtime benchmarking

假设我的编译程序有两个变体,./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 模块不计算平均值和方差,而只是取最小值,基于所有测量误差增加测量值。

关于linux - 统计合理地测量程序运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29748258/

相关文章:

Python Pandas : dataframe. loc 返回 "KeyError: label not in [index]",但 dataframe.index 显示它是

c++ timer implemetation - 分配一个成员函数来通知回调函数指针

linux - 通过 bash myscript.sh 与 ./myscript.sh 启动 bash 脚本

linux - runInstaller 权限被拒绝

java - 当指定-javaagent时,是否可以有一个包含=(等于)的jarpath?

python - 在Python中增量计算大数组的汇总统计

c - 使用popen()时如何同时启用read和fd_cloexec

python - 如何使用 python、Flask 和命令行传递 URL 参数

linux - 显示哪些程序或库链接到特定的共享库

python - 统计:优化python中的概率计算