Total time: 7.50827 sFile: /home/rgc/baidu_eye/carrier/ test/flask_line_profiler_test.pyFunction: line_test at line 22
Line # Hits Time Per Hit % Time Line Contents==============================================================@app.route( '/line_test')@func_line_timedef line_test:6 33.0 5.5 0.0 foritem inrange(5):5 5005225.0 1001045.0 66.7 time.sleep(1)6 31.0 5.2 0.0 foritem inxrange(5):5 2502696.0 500539.2 33.3 time.sleep(0.5)1 282.0 282.0 0.0 returnjsonify({ 'code':200})
127.0.0.1 - - [05/Mar/2018 15:58:21] "GET /line_test HTTP/1.1"200 -
pyheat
相较于上面的代码运行时间测试工具,pyheat 通过matplotlib 的绘制热力图来展现代码的运行时间,显得更为直观
安装:
pip install py-heat
使用方法:
pyheat --out image_file.png
heartrate
heartrate 也是一个可视化的监测工具,可以像监测心率一样追踪程序运行,通过web页面可视化Python程序的执行过程。
img
左侧数字表示每行代码被触发的次数。长方框表示最近被触发的代码行——方框越长表示触发次数越多,颜色越浅表示最近被触发次数越多。该工具记录的是每行代码执行的次数,
而不是具体执行时间,在性能调试的时候有些鸡肋
安装:
pip install --user heartrate
使用:
importheartratefromheartrate importtrace, filesheartrate.trace(browser= True)trace(files=files.path_contains( 'my_app', 'my_library'))
以上就是几款常用的Python性能优化工具。但工具只是辅助,核心还是需要写代码的人要有代码优化的意识以及对语言和代码的深入理解。这是一个长期积累的过程。坚持读代码、写代码,你的代码性能自然也会随着你的能力不断提高!
作者:Alpha 3