cProfile プロファイラー

投稿者: | 2022-07-09
  • 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他の関数呼び出しを除いた、その関数の総実行時間
percalltottimencallsで割ったもの
cumtime他の関数呼び出しを含んだ、その関数の総実行時間
percallcumtimencallsで割ったもの
filename:lineno(function)その関数がどのファイルの何行目にあたるか