10.10. 性能测量

一些Python用户对了解同一问题的不同方法的相对性能产生了浓厚的兴趣。 Python提供了一种可以立即回答这些问题的测量工具。

例如,元组封包和拆包功能相比传统的交换参数可能更具吸引力。timeit 模块可以快速演示在运行效率方面一定的优势:

  1. >>> from timeit import Timer
  2. >>> Timer('t=a; a=b; b=t', 'a=1; b=2').timeit()
  3. 0.57535828626024577
  4. >>> Timer('a,b = b,a', 'a=1; b=2').timeit()
  5. 0.54962537085770791

timeit 的精细粒度级别相反, profilepstats 模块提供了用于在较大的代码块中识别时间关键部分的工具。