3

私は現在、IntelliJ 10.5.4 を使用して比較的小さな Scala プログラム (Apache の Kafka) をトレースしながら、同時に別のプロジェクトで他のいくつかの Java アプリケーションを実行しています。Java アプリケーションは問題なく動作していますが、Scala のデバッグは恐ろしく遅く、単純な「プロジェクトの作成」には簡単に 2 分かかり、基本的なカーソル キーストロークでさえ画面に反映されるまでに最大 1 秒かかります。

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

IntelliJ でのデバッグ中に Scala を適切に実行するためのヒントやコツはありますか? あるいは、人々は Scala のデバッグに何を使っているのでしょうか?

4

4 に答える 4

4

最新の Scala プラグインで最新の Idea 11 EAPを試してください。それは私にとってはうまくいきます。

于 2012-05-10T03:53:19.843 に答える
2

tl;dr

re: コンパイル時間、FSC を有効にしていますか? これにより、Scala のコンパイル時間が大幅に短縮されます。

re: 全体的に遅いです。おそらくJVM 設定を微調整する必要があります。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 使用率が高いか、またはディスク アクティビティが高いかを確認することです。これにより、少なくとも何が起こっているかについての手がかりが得られます。SSD を使用しているため、ディスク I/O はおそらく問題になりません。

You may need to profile IDEA itself, such as running it with YourKit Java Profiler. This could tell you something interesting, such as if IDEA is spending an excessive amount of time garbage collecting.

In general, though, Scala seems a bit more memory intensive than Java on IntelliJ. It's possible that you have -Xmx set too low, causing excessive garbage collections. Or maybe it's set too high, so that when it does garbage collect, you get a pauses in the app. Changing which collector your using may help with that, but with all the collectors there's a point of diminishing returns where setting -Xmx too high causes performance problems.

于 2012-05-10T13:58:42.137 に答える
0

http://scala-ide.org/download/current.htmlを使用したEclipseは、2.0.1の時点で非常にうまく機能しています。

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

于 2012-05-10T07:00:29.067 に答える