【Django】使用Django调用Line Profiler
Line Profiler是什么?
这是一个可以按行进行分析的模块。本次我将在Django应用程序中测量每行的处理时间,并将其显示在控制台上。
Line Profiler的使用方法
1. 安装Line Profiler
$ pip install line_profiler
安装后,最好使用 “$ pip freeze > requirements.txt” 这个命令,这样做是个不错的选择。
在希望测量处理时间的文件中(例如views.py),添加以下内容。
# Line Profiler
import line_profiler
import atexit
profile = line_profiler.LineProfiler()
atexit.register(profile.print_stats)
# 測定したい関数にアノテーションを付ける
@profile
def foo():
...
3. 运行服务器
$ python manage.py runserver
更新浏览器后执行函数。
5. 使用 Ctrl+c 停止 runserver 的运行。
测量结果将在控制台上显示↓
Line # Hits Time Per Hit % Time Line Contents
==============================================================
3 @profile
4 def foo():
5 1 1557939.0 0.3 50.9 print('Hello World')
6 1 10541423.0 2.1 49.1 print('foo')