性能测试

性能测试

cProfile

Python代码性能分析之cProfile

Python编程时,除了要保证代码功能的正确性,还要考虑代码的执行效率。

什么是cProfile

cProfile(语言编写的测试模块)是一个标准库内建的性能分析工具,可以在标准输出中看到每一个函数被调用的次数和运行的时间,从而找到程序的性能瓶颈,从而有针对性的进行性能优化。

可以使用cProfile的run方法来计算代码的执行效率,也可以在cmd执行

python -m cProfile filename.py命令来实现,其中filename.py 是要运行程序的文件名。

在pycharm中执行如下代码

图片

运行后结果如下:

图片

第一行是总共调用function次数,和总运行时间

「下面是cProfile输出的各个参数说明」

ncalls:函数调用次数;

tottime:函数的总的运行时间,除掉函数中调用子函数的运行时间;

percall:函数运行一次的平均时间等于 tottime/ncalls;

cumtime:表示该函数及其所有子函数的调用运行的时间,包含了子函数的运行时间;

percall:函数运行一次的平均时间,等于 cumtime/ncalls;

filename:lineno(function):每个函数调用的具体信息,函数所在的文件名称、代码行数、函数名称等;

怎么优化代码的性能呢

「下面这几点建议大家可以参考下:」

  • 减少函数调用的数量
  • 减少函数的调用层次
  • 使用内置函数和库
  • 避免使用全局变量
posted @ 2023-08-13 08:33  昵称已经被使用  阅读(34)  评论(0)    收藏  举报