我在 Scala 2.10.0 和 2.9.2 上做了一个编译时间基准测试,发现 2.10.0 编译时间更长 比 2.9.2。
在什么情况下会发生?或者由于某些原因,Scala 2.10.0 编译器通常会比 2.9.2 慢吗?
最佳答案
在初始 sbt start + clean/compile 2.10 似乎比 2.9.x 快
但是,在 2.10 的后续清理/编译周期中,时间保持不变,这与 2.9.x 不同,在 2.9.x 中,缓存起到了作用并显着减少了清理/编译周期。
例如,我在 2.9.2 和 2.10 上都有一个核心项目设置(37 scala,6 java)
2.9.2 项目在初始清理/编译时需要 @50 秒;此后最多 15 到 20 秒
[warn] 6 warnings found
[success] Total time: 16 s
2.1.0 项目在初始清理/编译时需要 @40 秒; @40 秒后。
[warn] 14 warnings found
[success] Total time: 45 s
需要注意的是2.9.2项目产生了6个警告; 2.10项目,14个警告。
很高兴在此线程中看到其他结果,才刚刚开始测试。
不期待将整个应用程序转换为 2.10——当前构建时间在 2.9.2 上为 @100 秒;如果上述趋势成立,2.10 上应该是 200-300+ 秒,是的。
关于performance - 在哪种情况下,Scala 2.10.0 编译器可以比 2.9.2 更快或更慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14216676/