1、timeit
timeit只输出被测试代码的总运行时间,单位为秒,没有详细的统计。
示例代码:
import timeit
def fun():
lst = []
for i in range(100000):
lst.append(i * i)
print(timeit.timeit('fun()', 'from __main__ import fun', number=1))
print(timeit.timeit('fun()', 'from __main__ import fun', number=100))
运行结果:
2、profile
profile:纯Python实现的性能测试模块,接口和cProfile一样。
示例代码:
import profile
def fun():
lst = []
for i in range(100000):
lst.append(i * i)
print(profile.run('fun()'))
运行结果:
参数解析:
- ncall:函数运行次数
- tottime: 函数的总的运行时间,减去函数中调用子函数的运行时间
- 第一个percall:percall = tottime / nclall
- cumtime:函数及其所有子函数调整的运行时间,也就是函数开始调用到结束的时间。
- 第二个percall:percall = cumtime / nclall
3、cProfile
c语言实现的性能测试模块,接口和profile一样。
示例代码:
import cProfile
def fun():
lst = []
for i in range(100000):
lst.append(i * i)
print(cProfile.run('fun()'))
运行结果:
参数解析:
ncalls、tottime、percall、cumtime含义同profile。
4、line_profiler
略
5、memory_profiler
略
6、objgraph
略
7、Pyinstrument
详见博文:python中代码性能分析Pyinstrument库_IT之一小佬的博客-CSDN博客
8、PyCharm图形化性能测试工具
详见博文:PyCharm的Profile工具进行python代码性能分析_IT之一小佬的博客-CSDN博客
参考博文:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142806.html