3

関数内からcProfileを呼び出し、それを使用して別の関数を呼び出してプロファイリングするにはどうすればよいですか?

私のウェブページから(Djangoを使用して)呼び出される関数start()があります。この関数では、cProfile呼び出しを行います。

cProfile.run('my_function()')

これにより、「名前my_functionが定義されていません」というエラーが表示されます。ただし、通常の関数呼び出しを行うだけで、関数は問題なく呼び出されます。my_function()

すべてがcProfileを使用して「メイン」関数を実行するように言っていますが、Webページを除いて、プログラムを実行するための単一のメイン関数または明白な方法は実際にはありません。

4

1 に答える 1

10

runctxの代わりに必要ですrun

cProfile.runctx次のように、グローバルとローカルを呼び出しに渡すことができます。

cProfile.runctx('my_function()', globals=globals(), locals=locals())
于 2012-09-03T13:43:21.573 に答える