2

C で記述された Java Native Interface ライブラリのプロファイルを作成するにはどうすればよいですか?

通常の C プロファイラーについては知っていますが、私の質問は、プログラムの速度を低下させている可能性のある JVM メソッドの呼び出しを含むセット全体をどのようにプロファイリングできるかということです。

4

1 に答える 1

5

ここで提案されている方法のいくつかを使用していくつかの調査とテストを行った後、最終的に を使用しsprofました。

基本的に、この回答で利用可能な指示に従いました。いくつかのコメント:

  1. LD_PROFILE_OUTPUTで結果を取得するには、空のままにしておく必要がありました/var/tmp/。そうしないと、出力ファイルが生成されませんでした。
  2. 割り当てましたLD_PROFILE=libXXXX.so

プロファイルを取得するために、ネイティブ JNI ライブラリをロードして使用する Java コードを実行し、プロファイル結果を含むファイルを取得しました。

/var/tmp/libXXXX.so.profile

ファイルを取得したら、次のコマンドを使用して読み取ることができます。

sprof /path/to/libXXXX.so /var/tmp/libXXXX.so.profile

プロファイリングの結果は、 と同じテンプレートに従いますgprofここでは、内容とその意味について説明します。

于 2013-02-11T10:59:56.227 に答える