【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')
广告
将在 10 秒后关闭
bannerAds