- timeitモジュールは小さなコードの計測に便利だが、関数やプログラム全体の分析は
cProfileモジュールがよい cProfileモジュールはPythonのプロファイラー(プロファイリングを行うソフト)であり、プログラムの実行時間を計測するだけでなく、個々の関数に関して実行時間のプロファイルを行うcProfile.run('function')← 測定したいコードの文字列を渡す
import time
import cProfile
def addUpNumber():
total = 0
for i in range(1, 1000001):
total += i
cProfile.run('addUpNumber()')
ncalls | その関数が呼ばれた回数 |
tottime | 他の関数呼び出しを除いた、その関数の総実行時間 |
percall | tottimeをncallsで割ったもの |
cumtime | 他の関数呼び出しを含んだ、その関数の総実行時間 |
percall | cumtimeをncallsで割ったもの |
filename:lineno(function) | その関数がどのファイルの何行目にあたるか |