IntelliJ下的Scala调试速度非常慢

时间:2012-05-10 03:34:07

标签: java macos scala ide intellij-idea

我目前正在使用IntelliJ 10.5.4跟踪相对较小的Scala程序(Apache的Kafka),同时在另一个项目中运行其他几个Java应用程序。虽然Java应用程序运行得很好,但Scala调试速度非常慢,简单的“Make Project”将花费2分钟,甚至基本的光标键击每个都需要花费一秒钟来反映在屏幕上。

我之前使用过IntelliJ,在多个项目下同时运行多达6个应用程序,并且它根本没有任何问题。硬件也不是问题,这是在最新的Macbook Pro(256GB SSD,8Gb RAM,四核i7)上运行,在Java 1.6.0_31下。

在IntelliJ下调试时,是否有任何提示/技巧可以让Scala表现得体面?或者,有什么人使用Scala调试?

4 个答案:

答案 0 :(得分:4)

使用latest Idea 11 EAP尝试latest Scala plugin。它对我很有用。

答案 1 :(得分:2)

TL;博士

re:编译时间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>

实际上搞清楚

您可能需要进行一些分析才能找出性能问题究竟是什么。最简单的方法是打开Activity Monitor以查看内存是否低,CPU利用率高或磁盘活动是否很高。这至少可以为您提供有关正在发生的事情的线索。你有一个SSD,所以磁盘I / O可能不是问题。

您可能需要对IDEA本身进行概要分析,例如使用YourKit Java Profiler运行它。这可以告诉你一些有趣的事情,例如IDEA是否花费了大量时间进行垃圾收集。

一般来说,Scala似乎比IntelliJ上的Java更加内存密集。您可能将-Xmx设置得太低,导致过多的垃圾收集。或者它可能设置得太高,所以当它进行垃圾收集时,你会在应用程序中暂停。更改您使用的收集器可能会对此有所帮助,但是对于所有收集器而言,如果将-Xmx设置得太高会导致性能问题,那么收益会有所减少。

答案 2 :(得分:1)

我发现我不小心将断点放在了List的一个方法中。调试scala项目时,它使intellij超级慢,但是当我取消断点时,intellij再次恢复正常。

单击ctrl + shift + F8可以找到断点列表。

答案 3 :(得分:0)

带有http://scala-ide.org/download/current.html的Eclipse在2.0.1版本中对我来说非常好。

我的东西是maven,目前这些项目是Java和Scala的结合。我可以毫无问题地调试语言边界。