私は最近、私が書いたプログラムが驚くほど遅いことを発見しました。これまでの私のツールはYourkitとhprofでしたが、私が探している機能を見つけることができませんでした。特定のパッケージ用のスカラ/ Javaプロファイリング
理想的には、すべてのソースファイルに対してMATLAB Profiler style heat-mapが好きです。色が強いほど、その行に多くの時間が費やされたことを示しています。私はこれがたくさんあることを理解しているので、存在しなければ私は驚かないでしょう。
上記のことができない場合は、hprof cpu = samplesスタイルのプロファイリングを実行することができますが、プロジェクトで実行されるすべてのクラスのすべてのメソッドのリストを吐き出すのではなく、名前空間を除外できるように(例:java。、scala.collection。)、除外された名前空間でメソッドが呼び出されなかったスタックの最下位レベルに再配分されるメソッドに起因する時間があれば例えば、私は次のよう
def sillyMethod: Unit = {
0.until(1000000).map{ i =>
(0 until 1000).toSeq + 1) == (0 until 1000).toSeq + 2)
}
}
のようなものを持っている場合、私はむしろ、すべての私の時間はsillyMethodでは、ないSeq.equalsに費やされていることを知っているであろう。これは利用可能なプロファイラで可能ですか?
EDIT:現在、私のコマンドとIntelliJ IDEAを実際に編集するためにsbtを使用しています。