tl;博士
回复:编译时间,你启用了 FSC吗?这极大地帮助了 Scala 编译时间。
回复:整体缓慢,您可能需要调整 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 可能不是问题。
您可能需要分析 IDEA 本身,例如使用YourKit Java Profiler运行它。这可能会告诉您一些有趣的事情,例如 IDEA 是否花费了过多的时间进行垃圾收集。
不过,总的来说,Scala 似乎比 IntelliJ 上的 Java 更占用内存。有可能是你-Xmx
设置的太低了,导致垃圾回收过多。或者它可能设置得太高,所以当它进行垃圾收集时,你会在应用程序中暂停。更改您使用的收集器可能会对此有所帮助,但是对于所有收集器,都有一个收益递减点,设置-Xmx
太高会导致性能问题。