如何加速Scala IDE?

时间:2014-04-30 07:13:23

标签: eclipse scala scala-ide

我正在处理一个由SBT管理的相当大的项目(完全重新编译时间超过150秒)。我正在使用最新的Scala IDE插件(4.0.0-M1),我几乎无法编辑任何足够大的源文件 - 每次输入内容时,eclipse会完全冻结几秒钟。保存更改时也会发生同样的情况。编辑文件似乎也会导致越来越多的性能降低。重启Eclipse会有所帮助,但不会长久。为了解决这个问题,我必须通过Eclipse在文本编辑器中打开一个.scala源文件,失去了Scala编辑器的所有好处。

其他信息

PC足够好 - 带有16 GB RAM的Intel Core i5-3570

我使用的是Windows 7 x64,Scala 2.10.3,SBT 0.13.1和Oracle JDK 1.7.0u45

在Java VisualVM中使用分析显示Scala演示编译器显然使用了CPU: Java VisualVM output

Eclipse的堆状态指示器永远不会超过一半。

自动构建,暗示突出显示和标记出现都已关闭

来自eclipse.ini的配置(从http://scala-ide.org/docs/current-user-doc/advancedsetup/index.html添加了3个最后标志):

-vm
D:\ProgramFiles\Java\jdk1.7.0_45\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms1024m
-Xmx2048m
-Xss1M
-XX:MaxPermSize=1024M
-server
-XX:+DoEscapeAnalysis
-XX:+UseConcMarkSweepGC
-XX:+UseCompressedOops

6 个答案:

答案 0 :(得分:4)

为后人。罪魁祸首是Mylyn插件试图找到关于每个击键和UI线程的光标下的内容的准确信息。有关详细信息,请参阅票证#1002129

答案 1 :(得分:3)

我还没有尝试过新的Scala Eclipse IDE,但我的选择是-Xms2g -Xmx8g一年前。我在Mac i7quad / 8GB上使用它作为一个相当大但不是很大的项目,但它很慢......

最终我决定只在保存文件时编译。

所以也许你应该尝试一下:

  • 如上所述增加堆大小
  • 尝试使用-d64选项(如果您的平台上存在
  • 取消选中复选框"键入时报告问题" (首选项> Java>编辑器)

对于最后一个,如何以及是否禁用演示编译器,我不确定;但这肯定不会调用它。

答案 2 :(得分:2)

如果演示文稿编译器花了这么长时间,那么减速源可能在你的代码中,而不是在使用它的工具中。

分歧的含义有时是类型检查时间变得巨大的罪魁祸首。您是否尝试使用Xlog-implicits进行编译?您可能还想使用IDE features to mark implicit usage in your code

答案 3 :(得分:1)

尝试intellij社区(不是一个时髦的答案)。它运行速度比Eclipse快。 此外,即使在intelliJ中,有时当文件变得太大而无法用于IDE时,我必须将文件分开。

答案 4 :(得分:1)

您可以停用自动构建。在菜单中,取消选中Project > Build Automatically

每次保存源文件时,Eclipse都会保存您的文件,但是如果选中此选项,则不会尝试构建工作区。

要强制构建,请在Mac上按 Ctrl - B Cmd - B 。 如果使用问题视图,则有两类问题 - 需要保存的问题,以及需要保存+重新编译的问题。因此,如果您发现保存后问题没有消失,但您认为它不再是问题,只需重建即可。

这是我在Eclipse和SSD和多核处理器之前开发大型Java项目时在Eclipse中所做的。

答案 5 :(得分:0)

使用默认的推荐配置,我只需卸载“代码推荐”插件,并将“java的自动激活触发器”恢复为“。”。它现在运行得更快。