首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IntelliJ下的Scala调试速度非常慢

在IntelliJ下的Scala调试速度非常慢
EN

Stack Overflow用户
提问于 2012-05-10 11:34:07
回答 4查看 1.8K关注 0票数 3

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

我以前在多个项目下同时运行6个应用程序的情况下使用过IntelliJ,它没有任何问题。硬件也不是问题,这一切都是在最新的Macbook Pro (256 8Gb固态硬盘,8 8Gb内存,四核i7)上运行的,采用Java 1.6.0_31。

在IntelliJ下调试的时候,有没有什么技巧可以让Scala表现的很好?或者,人们在Scala调试中使用的是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-10 21:58:42

tl;dr

re:编译时间,do you have FSC enabled?这极大地提高了Scala的编译速度。

re:总体缓慢,你可能需要tweak your JVM settings。Scala可能会占用更多的内存,所以你可能不得不增加你的-Xmx值来减少垃圾收集的时间。或者降低它,如果它太高了。或者更改垃圾收集器。以下是我的参考:

代码语言:javascript
复制
<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
EN

Stack Overflow用户

发布于 2012-05-10 11:53:20

尝试使用latest Idea 11 EAPlatest Scala plugin。它对我来说很好。

票数 4
EN

Stack Overflow用户

发布于 2013-02-28 16:12:26

我发现我意外地将断点放在了列表的一个方法中。它使intellij在调试scala项目时变得超级慢,但当我取消断点时,intellij又变得正常起来。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10527163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档