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.