检测Python程序运行时间和内存占用的方法

很多时候,需要了解python程序的效率和内存使用情况,以便优化实现 。下面就是几种常用的方法。


1. 使用print

可以加载datetime模块,然后在需要的地方打印datetime.datetime.now(),就可以知道执行到某一行代码的时间点了。也可以使用装饰器来输出时间。

2. 使用linux的time命令

命令:time -p python hotspot_client_trend.py。输出结果为:

completed time: 2017-01-18 09:45:46.997727
real 8.10
user 4.56
sys 1.55

real的时间通常比程序执行的时间长一点。


3. Guppy

GUPPY的安装很简单,pip install puppy。安装完成后,加载模块:

from guppy import hpy

然后在需要的代码后面,调用 hpy().heap()就可以打印出内存使用的信息了,如果需要更多的信息,可以使用heap().more(), heap().more().more()等。


4. line_profiler

这个模块可以给出每行代码花费的时间。

模块安装后,不需要在代码中加载模块,只需要指定用@profile检测哪个函数。然后用下面的命令执行程序。

kernprof -l -v hotspot_client_trend.py

参数-l表示逐行,-v表示输出详细结果




你可能感兴趣的:(检测Python程序运行时间和内存占用的方法)