4

ユーザーがPythonコードを記述できるWebアプリケーション(http://www.checkio.org/ )を作成しています。多くのフィードバック指標の1つとして、このコードのチェックを実行しながらプロファイリングを有効にしたいと思います。これは、ユーザーがさまざまなソリューションの相対的な効率について非常に大まかなアイデアを得ることができるようにするためです。

プロファイルは(合理的に)決定論的である必要があります。Webサーバーに他の負荷をかけて、読み取り効率を低下させたくありません。また、これらの短いスクリプトは非常に高速に実行されるため、一部のプロファイラーが適切な測定を行わないのではないかと心配しています。timeitモジュールは、何千回も実行されている関数を示していますが、可能であれば、この小さな機能でサーバーリソースを無駄にしないようにしたいと思います。

標準プロファイラーのどれがこのニーズを満たしているかは明らかではありません。理想的には、プロファイラーは、バイトコード命令ごとに1つインクリメントする「インタープリターバイトコードティック」の単位を提供します。これは非常に大まかな方法​​ですが、決定論と高精度の要件を満たしています。

どのプロファイリングシステムを使用する必要がありますか?

4

2 に答える 2

1

Python の標準プロファイラー モジュールは、決定論的プロファイリングを提供します。

于 2011-05-02T00:16:37.730 に答える
0

yappiも試してみることをお勧めします。(http://code.google.com/p/yappi/) v0.62 では、CPU 時間のプロファイリングをサポートし、いつでもプロファイラーを停止できます...

于 2012-03-22T12:28:02.397 に答える