私は現在パフォーマンス狩り中です。スループットを測定し、回帰しないようにするために、私はすばらしいJMHを使用しています。外部プロファイラの下でJMHベンチマークを実行することはできますか?
私も遅いです何かに遭遇したとき、私は何が起こっているかを見るために、プロファイリングを開始したい、this linkに応じJMHの著者は書いている:
JMHプロファイラは、分析に援助を提供することができるが、私は彼らが が適切なプロファイリングの代わりであるとは思わない。例えば。 "スタック"プロファイラは、プロファイルを見渡すのには良いですが、深刻な作業ではありません。 です。
実行時間が長い場合は、実行中のVM にプロファイラを接続してください。
私はひそかにコマンドラインからJMHテストを調整して、それにvisualvmのようなものをつけることを望んでいました...しかし、これまでのところ私はそれを動作させることができました。それは悪い考えだと思いますか?プロファイルに使用するコードと私が強制するコードを共有できるのが理想的です。
スタックプロファイラはあまり良くありませんが、perf(またはperfasm)プロファイラは、ホットスポットがどこにあるかを見つけるのにはるかに優れています。マイクロベンチマークでは、コードの小さな部分の影響を見ることになりますが、いずれの場合でもperf/asmプロファイラはスキッドの対象となります(CPUは実際のホットスポットからのタイミング)。 perfm/asmはLinuxのみで有効です。 – AlBlue