3

私は Bentley J. による More programming pearls (Addison-Wesley、1988) を研究していますが、実際に各ステートメントが実行された回数を教えてくれる Java 用のツール/プロファイラーを見つけることができないという事実に困惑しています。フロー (参照: 第 1 章の素数検索アルゴリズムの最適化)。プロファイラーを使用してみたり、インストルメンテーション API を試したりしましたが、間違った場所を見ている可能性があります。皆さん、手品/ツールを引き出して正しい方向に向けてください。それとも、各ステートメントが正確に1つのマシン命令を形成しない可能性があり、ステートメントごとにカウントを維持できない可能性があるため、Javaでこれを行うことができないだけですか?可能であるか、単にメソッドの CPU 時間/呼び出し回数を調べて作業することができます。

4

2 に答える 2

2

emma や clover などのさまざまなコード カバレッジ ツールの一部は、レポートに表示されるため、各ステートメントの実行回数を記録していると確信しています。

私は彼らが実際にフレーズをコンパイルしている間にクラスファイルを書き直して追跡コードを挿入していると推測していますが、これがあなたに適しているかどうかはわかりません.

編集:未知 のCoberturaが推奨するように、ステートメントの実行回数を記録するために使用できます

  • Emmaはオープンソースですが、実際にはステートメント数を記録していないようです
  • クローバーのコマーシャル報道ツールは確かにそうです
  • Cobertura emma よりも新しいオープン ソース ツールで、ステートメント カウントを記録します
于 2009-09-06T08:52:15.847 に答える
0

ステートメントの呼び出し回数を知りたいと思うかもしれませんが、パフォーマンスを向上させるために何を修正する必要があるかについては、かなり間接的な関係しかありません。これは私が使用する言語にとらわれない方法であり、Jon Bentley はそれが非常に優れていると認識しています。

于 2009-09-06T20:39:58.407 に答える