Python性能分析指南

发表于:2013-11-12来源:开源中国社区作者:袁不语点击数: 标签:性能测试
尽管并非每个你写的Python程序都需要严格的性能分析,但了解一下Python的生态系统中很多优秀的在你需要做性能分析的时候可以使用的工具仍然是一件值得去做的事。

尽管并非每个你写的Python程序都需要严格的性能分析,但了解一下Python的生态系统中很多优秀的在你需要做性能分析的时候可以使用的工具仍然是一件值得去做的事。

分析一个程序的性能,最终都归结为回答4个基本的问题:

  1. 程序运行速度有多快?
  2. 运行速度瓶颈在哪儿?
  3. 程序使用了多少内存?
  4. 内存泄露发生在哪里?
下面,我们将使用一些优秀的工具深入回答这些问题。
 
 
 
loading...
正在加载...

使用time工具粗糙定时

首先,我们可以使用快速然而粗糙的工具:古老的unix工具time,来为我们的代码检测运行时间。

1 $ time python yourprogram.py
2  
3 real    0m1.028s
4 user    0m0.001s
5 sys     0m0.003s
上面三个输入变量的意义在文章 stackoverflow article 中有详细介绍。简单的说:
  • real - 表示实际的程序运行时间
  • user - 表示程序在用户态的cpu总时间
  • sys - 表示在内核态的cpu总时间

通过sysuser时间的求和,你可以直观的得到系统上没有其他程序运行时你的程序运行所需要的CPU周期。

sysuser时间之和远远少于real时间,那么你可以猜测你的程序的主要性能问题很可能与IO等待相关。

 

原文转自:http://www.oschina.net/translate/python-performance-analysis