Scala 2.10编译器在SBT中首次使用后需要长10倍
我正在将一些代码从2.9.1更新到2.10.0(我尝试使用相同结果的2.10.1),在两种情况下都使用SBT 0.12.1.
当我在命令行上运行sbt clean compile时,它们都会在大约250秒后完成. 但是,当我以交互方式运行sbt,并反复输入clean然后编译时,我的2.9编译变得更快,但我的2.10编译速度慢了10倍. 如果我使用768m的堆大小,则在第3次编译时2.10内存不足.堆大小为4g,每次都可以编译,但在第一次迭代后总是慢10倍. [success] Total time: 258 s,completed Mar 14,2013 10:44:34 AM [success] Total time: 2048 s,2013 11:23:03 AM [success] Total time: 2049 s,2013 11:58:42 AM [success] Total time: 2047 s,2013 12:43:19 PM 我调试的最佳方法是找出发生了什么? 解决方法
谢谢你对
CodeCache link的反义词.我最初解雇了它,因为使用它建议的-XX:UseCodeCacheFlushing选项没有改进,但我只是尝试使用-XX:ReservedCodeCacheSize = 2g并且解决了这个问题.
有谁知道为什么-XX:UseCodeCacheFlushing没有帮助,或者所有代码缓存java选项的一些推荐值? 为了好玩,以下是使用-XX生成的编译时间:HeapDumpOnOutOfMemoryError -server -XX:ReservedCodeCacheSize = 2g -Xmx4g -Xss4M -XX:MaxPermSize = 512M -XX:DoEscapeAnalysis -XX:UseCompressedOops -XX:CMSClassUnloadingEnabled -XX:UseCodeCacheFlushing 2.10.1 (interactive,repeating clean/compile) 194 s 149 s 95 s 87 s 84 s 2.9.1 (interactive,repeating clean/compile) 187 s 129 s 83 s 77 s 74 s 2.10.1 (batch sbt clean compile) 195 s 2.9.1 (batch sbt clean compile) 177 s (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |