Python性能分析概述

来源:互联网 发布:java 方法命名规范 编辑:程序博客网 时间:2024/05/17 23:18

性能分析有两种:基于事件的性能分析统计式性能分析

基于事件的性能分析

也称轨迹性能分析器(tracing profiler),是通过收集程序执行过程中的具体事件进行工作的。它会产生大量数据,监听的时间越多,数据量越大。这导致它们不太实用,在性能分析时不能作为首选;但是当其它性能分析方法不够用或者不够精确时,它可以作为最后的选择。

Code Example

import profileimport sysdef profiler(frame, event, arg):    print('Profiler: %r %r' % (event, arg))sys.setprofile(profiler)print(1+2)

Output

Profiler: 'c_call' <built-in function print>3Profiler: 'c_return' <built-in function print>Profiler: 'return' None

统计式性能分析

统计式性能分析器以固定的时间间隔对程序计数器进行抽样统计,它的结果是对真实值的统计近似。它的优点在于:

  • 分析的数据少
  • 对性能造成的影响更小。

性能分析大指标

  • 运行时间
  • 内存消耗
0 0
原创粉丝点击