2012-05-10 69 views
3

私は現在IntelliJ 10.5.4で比較的小さなScalaプログラム(ApacheのKafka)をトレースしていますが、同時に他のいくつかのJavaアプリケーションを別のプロジェクトで実行しています。 Javaアプリケーションはうまくいっていますが、Scalaのデバッグはひどく遅く、シンプルな「Make Project」は2分かかりますし、基本的なカーソルキーストロークも画面に反映させるのに1秒かかります。IntelliJでのデバッグがひどく遅い

複数のプロジェクトで同時に6つのアプリケーションを実行しているIntelliJを使用しましたが、問題はまったくありません。ハードウェアにも問題はありません。これはJava 1.6.0_31の下で、最近のMacBook Pro(256GB SSD、8Gb RAM、クアッドコアi7)上で実行されています。

IntelliJでデバッグ中にScalaをうまく実行するためのヒントやヒントはありますか?あるいは、Scalaデバッグのためにそこにいる人々は何ですか?

答えて

2

TL; DR

再:コンパイル回、do you have FSC enabled?これはScalaのコンパイルに劇的に役立ちます。

re:全体的な遅さは、おそらくtweak your JVM settingsにする必要があります。 Scalaはより多くのメモリを消費することがありますので、-Xmxの値を大きくしてガベージコレクションの時間を短縮する必要があります。あまりにも劇的に高い場合は、それを下げてください。またはガベージコレクタを変更します。参考のため、ここでは私のもの:実際

それを考え出す

<key>VMOptions</key> 
<string>-ea -Xverify:none -Xbootclasspath/a:../lib/boot.jar -XX:+UseConcMarkSweepGC </string> 
<key>VMOptions.i386</key> 
<string>-Xms128m -Xmx512m -XX:MaxPermSize=250m -XX:ReservedCodeCacheSize=64m</string> 
<key>VMOptions.x86_64</key> 
<string>-Xms128m -Xmx800m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=64m -XX:+UseCompressedOops</string> 

あなたはおそらく、パフォーマンスの問題が実際にあるものを見つけるためにいくつかのプロファイリングを行う必要があります。最も簡単なことは、メモリが少ないか、CPU使用率が高いか、ディスクアクティビティが高いかを確認するためにActivity Monitorを開くことです。これは、少なくともあなたに何が起こっているかの手がかりを与えるでしょう。あなたはSSDを持っているので、ディスクI/Oはおそらく問題ではありません。

YourKit Java Profilerで実行するなど、IDEA自体をプロファイルする必要がある場合があります。これは、IDEAが過度の時間をガベージ・コレクションに費やしているなど、面白いことを教えてくれるかもしれません。

しかし、一般的に、ScalaはIntelliJのJavaよりもメモリを多用しているようです。 -Xmxが低すぎると、余分なガベージコレクションが発生する可能性があります。それとも、それがあまりにも高く設定されているため、ガベージコレクトを実行したときにアプリケーションが一時停止することがあります。使用しているコレクタを変更すると、すべてのコレクタに役立ちますが、-Xmxが高すぎるとパフォーマンスの問題が発生する箇所が減ります。

+0

FSCが行く方法ですが、私はIntelliJの下でそれを有効にしようとしましたが、問題は継続しています。まだいくつかのことを試して、あなたが持っているメモリオプションを試してみてください。 – mjuarez

+0

mjuarez - 古いバージョンのプラグインに問題がありましたが、かなり長い時間がかかりませんでした。がんばろう! – leedm777

0

http://scala-ide.org/download/current.htmlとのEclipseは、2.0.1以降は非常にうまく動作しています。

私のものは現時点ではベースであり、プロジェクトはJavaとScalaを組み合わせています。私は問題なく言語の境界を越えてデバッグできます。

1

私は誤ってListのメソッドの1つにブレークポイントを置くことがわかりました。スケーラプロジェクトをデバッグする際にintellijが非常に遅くなりましたが、ブレークポイントをキャンセルするとintellijが再び正常になりました。

ブレークポイントのリストは、Ctrl + Shift + F8をクリックすると表示されます。

関連する問題