python效能分析

2021-09-27 07:20:35 字數 1869 閱讀 2058

python的效能分析工具cprofile使用起來比較簡單,如下:

python -m cprofile -o profile.txt ***.py arg1 arg2 ...
其中,***.py是要分析的python程式入口函式,後面跟的就是對應的引數了。

生成的profile.txt是儲存的profile資訊,可以用下面的python指令碼查詢。

check_profile.py的內容如下:

#coding:utf-8

import pstats

import sys

p=pstats.stats(sys.ar**[1]

)p.sort_stats(

'cumulative'

).print_stats(

)

用法很簡單:

$ python3 check_profile.py profile.txt
然後,就可以看到下面的類似的資訊了:

fri sep 20 13:37:54 2019    profile.txt

14927559 function calls (14919846 primitive calls) in 26.559 seconds

ordered by: cumulative time

ncalls tottime percall cumtime percall filename:lineno(function)

410/1 0.004 0.000 26.559 26.559

1 0.000 0.000 26.559 26.559 generate_glasses.py:2()

1 0.000 0.000 24.723 24.723 generate_glasses.py:35(main)

1 0.000 0.000 24.465 24.465 /usr/local/lib/python3.7/site-packages/psopy/minimize.py:216(minimize)

1 0.000 0.000 24.463 24.463 /usr/local/lib/python3.7/site-packages/psopy/minimize.py:44(_minimize_pso)

1 0.000 0.000 24.451 24.451 /usr/local/lib/python3.7/site-packages/psopy/minimize.py:433()

78 0.008 0.000 24.448 0.313 generate_glasses.py:15(compare_generated_face_with_target)

78 0.001 0.000 17.289 0.222 /usr/local/lib/python3.7/site-packages/face_recognition/api.py:190(face_encodings)

78 0.002 0.000 15.405 0.198 /usr/local/lib/python3.7/site-packages/face_recognition/api.py:151(_raw_face_landmarks)

78 15.280 0.196 15.280 0.196 /usr/local/lib/python3.7/site-packages/face_recognition/api.py:89(_raw_face_locations)

Python學習 python效能分析

python profiler效能分析 一種方法 if name main import profile profile.run foo 另一種命令列方法 python m profile prof1.py profile的統計結果分為ncalls,tottime,percall,cumtime,p...

python 效能分析profile

如果希望對程式進行優化,那麼效能分析是必不可少的。標準庫中包含了乙個叫profile的模組,使用起來非常簡單 importprofile,my math profile.run my math.square 100 只需要執行該模組的run方法,需要注意的是引數為字串。即可得到如下結果 4 func...

Python效能分析概述

效能分析有兩種 基於事件的效能分析和統計式效能分析。也稱軌跡效能分析器 tracing profiler 是通過收集程式執行過程中的具體事件進行工作的。它會產生大量資料,監聽的時間越多,資料量越大。這導致它們不太實用,在效能分析時不能作為首選 但是當其它效能分析方法不夠用或者不夠精確時,它可以作為最...