簡體   English   中英

IntelliJ下的Scala調試速度非常慢

[英]Scala debugging under IntelliJ is horribly slow

我目前正在使用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調試?

使用最新的Scala插件嘗試最新的Idea 11 EAP 它對我很好。

TL;博士

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>

實際上搞清楚了

您可能需要進行一些分析以找出性能問題實際上是什么。 最簡單的方法是打開Activity Monitor以查看內存是否低,CPU利用率高或磁盤活動是否很高。 這至少可以為您提供有關正在發生的事情的線索。 你有一個SSD,所以磁盤I / O可能不是問題。

您可能需要對IDEA本身進行概要分析,例如使用YourKit Java Profiler運行它。 這可以告訴你一些有趣的事情,例如IDEA是否花費了過多的時間來收集垃圾。

但總的來說,Scala似乎比IntelliJ上的Java更加內存密集。 您可能將-Xmx設置得太低,導致過多的垃圾收集。 或者它可能設置得太高,所以當它進行垃圾收集時,你會在應用程序中暫停。 更改您使用的收集器可能會對此有所幫助,但是對於所有收集器而言,設置-Xmx太高會導致性能問題時,收益會減少。

我發現我不小心把斷點放在了List的一個方法中。 調試scala項目時,它使intellij超級慢,但是當我取消斷點時,intellij再次恢復正常。

單擊ctrl + shift + F8可以找到斷點列表。

從2.0.1開始,帶有http://scala-ide.org/download/current.html的 Eclipse對我來說非常有用。

我的東西現在是maven,項目結合了Java和Scala。 我可以毫無問題地調試語言邊界。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM