私は優秀なline_profilerを使用したいと思いますが、時のほんの一部です。それを動作させるには、すべての関数呼び出しの前に、例えば、line_profilerを使用したpythonプロファイリング - オンザフライで@profile文を削除する巧妙な方法?
@profile
の前に追加します。
@profile
def myFunc(args):
blah
return
と
kernprof.py -l -v mycode.py args
を実行する。しかし、ほとんどの時間は、私はそれらなしでコードを実行したいので、私は、手で毎回@profile
デコレータを入れてしたくない、と私はそれらを含めると、例外が発生します。
mycode.py args
私は動的にあまりにも多くの各機能を手動で物事を行う、および/または変更することなく、いくつかの条件スイッチ/引数に基づいて削除デコレータを持つことができる幸せな媒体がありますか?
このようなサポートが必要となるほど頻繁にプロファイルを作成する必要があるかどうかは自問です。私はあなたがしているかしていないと言っているわけではないので、あなたは答える必要はありません。私はちょうど少し驚くべきユースケースを見つけました。 – msw
コードの実行には時間がかかります(現時点では時間がかかります...)ので、今は結果とプロファイリングを同時に行うために2つの鳥を1つの石で殺したいと思います。私はプロファイリングを進行中のプロセスとして見ていると思います(私はそれが初めてで/興奮しています)ので、(多くの)関数で使用するだけでなく、宣言してすべてのデコレータを削除します。 – jtlz2
私は[*試していない]何時間もかかることはありません(http://stackoverflow.com/a/4299378/23771)。それは何の費用もなく、何が起こっているかを正確に伝えます。 –