【脚本语言系列】关于Python性能分析工具timeit, 你需要知道的事
2017-04-21 16:40
1196 查看
如何使用timeit
创建用来排序的数组创建若干不同大小的数组,其中的数组元素都是随机整数。
times = numpy.array([]) for size in sizes: integers = numpy.random.random_integers(1, 10 ** 6, size) times = numpy.append(times, measure())
测量执行时间
为了测量时长,需要创建一个定时器,并为其提供一个需要执行的函数和相关的引入语句。
然后执行100次排序操作,得到总的排序时间。
def measure(): timer = timeit.Timer('dosort()','from __main__ import dosort') return timer.timeit(10 ** 2)
构建测量时间数组
通过逐一添加测量值的方式,构建测量时间数组。
times = numpy.append(times, measure())
比照nlogn模型拟合数据。
比照nlogn这个理论模型,对测量时间数据进行拟合。
因为我们选择的数组大小是2的整数次幂,通过改变幂指数来改变大小,所以相关的计算过程并不复杂。
fit = numpy.polyfit(sizes * powersOf2, times, 1)
相关文章推荐
- 【脚本语言系列】关于Python代码分析工具line_profiler,你需要知道的事
- 【脚本语言系列】关于Python游戏工具Pygame,你需要知道的事
- 【脚本语言系列】关于Python算法分析,你需要知道的事
- 【脚本语言系列】关于Python网络分析Scapy,你需要知道的事
- 【脚本语言系列】关于Python测试工具Pylint, 你需要知道的事
- 【脚本语言系列】关于 Python 数据分析,你需要知道的事
- 【脚本语言系列】关于Python统计分析statsmodel,你需要知道的事
- 【脚本语言系列】关于Python测试工具mock, 你需要知道的事
- 【脚本语言系列】关于Python测试工具lettuce, 你需要知道的事
- 【脚本语言系列】关于Python测试工具unittest, 你需要知道的事
- 【脚本语言系列】关于Python测试工具docstrings, 你需要知道的事
- 【脚本语言系列】关于Python测试工具Pyflakes, 你需要知道的事
- 【脚本语言系列】关于Python远程调用,你需要知道的事
- 【脚本语言系列】关于Python调试报错,你需要知道的事
- 【脚本语言系列】关于 Python 数据可视化,你需要知道的事
- 【脚本语言系列】关于PythonGUI编程wxPython, 你需要知道的事
- 【脚本语言系列】关于PythonNoSQL数据库处理redis,你需要知道的事
- 【脚本语言系列】关于 Python XML处理,你需要知道的事
- 【脚本语言系列】关于Python网络编程socket,你需要知道的事
- 【脚本语言系列】关于Python并发技术Redis,你需要知道的事