Python——cProfile(程式分析)

新兵蛋Z發表於2024-04-17

程式分析可以系統性地分析程式的執行速度、記憶體使用情況等。

cProfile是Python的分析器,用於測量程式的執行時間和程式內各個函式呼叫消耗的時間。

import  cProfile

def add():
    total = 0
    for i in range(1, 10000001):
        total += i

cProfile.run('add()')


'''
     4 function calls in 0.276 seconds

Ordered by: standard name

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    1    0.000    0.000    0.276    0.276 <string>:1(<module>)
    1    0.276    0.276    0.276    0.276 web_test.py:8(add)
    1    0.000    0.000    0.276    0.276 {built-in method builtins.exec}
    1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
'''

ncalls:對函式的呼叫次數

tottime:該函式花費的總時間,注意不包括在子函式中花費的時間

percall:tottime除以呼叫次數

cumtime:在該函式及其子函式內花費的累計時間

percall:cumtime除以呼叫次數

filename:lineno(function):該函式所在的檔案及行號

相關文章