【问题标题】:Tweaking SBT performance调整 SBT 性能
【发布时间】:2015-03-22 03:17:45
【问题描述】:

是否有任何 SBT 选项、JVM 选项或 Scala 编译器选项会对 SBT 的启动和编译时间产生正面或负面影响。我可以使用哪些选项?文档很差,没有具体说明。

背景:我从 2 岁的 Macbook Air 切换到全新的 Macbook Pro。相同的操作系统,相同的配置。新的具有更快的 CPU 和两倍的内存。出于某种原因,在我较弱的旧机器上启动 SBT 并编译我的 Play2 应用程序要快得多。差异始终高达 10 秒的编译时间。

【问题讨论】:

  • 我有一个 MBP,我以前需要超过 1 分钟来组装我的项目。我已将 HD 更改为 SSD HD,并增加了 4 GB。结果:我的 MBP 现在需要 20 秒来编译完全相同的项目。我很确定高清是问题所在。
  • 感谢@JoseMLM 的解释。我在两个设备中都有 SSD HD,而新的实际上应该更快。将对此进行更多研究
  • 刚刚通过 HDD 基准测试验证。我的新电脑上的 HD 读写速度是旧电脑的两倍多。所以这不是我的问题。仍然相信一定有一些硬件特定的编译器和启动选项会影响运行时性能......
  • 我知道这不是您正在搜索的内容,但它可能很有用:chrisstucchio.com/blog/2014/bondage_and_discipline.html

标签: scala sbt


【解决方案1】:

原来是两件事:

  • 对 SLF4J 的依赖冲突,每次启动时都会导致 SBT 警告。我假设 SBT 试图在后台解决依赖关系,从而显着降低启动速度。删除后,我节省了 3-4 秒。

  • 当通过在浏览器中点击http://localhost:9000 触发 Play2 应用程序的编译时,还有另一个与主机名相关的问题。我不知道为什么会产生如此大的影响,但是在运行scutil –set HostName “localhost” 之后,我将编译应用程序和在浏览器中获取 Play2 应用程序所需的时间缩短了近 10 秒!

    李>

总的来说,这 2 个小改动为我节省了 10 多秒的开发周期。我希望有人也觉得这很有用。

【讨论】:

    猜你喜欢
    • 2011-07-07
    • 1970-01-01
    • 2012-03-25
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多