【问题标题】:Can the incremental compiler in sbt be turned off for CI builds?可以为 CI 构建关闭 sbt 中的增量编译器吗?
【发布时间】:2014-06-07 05:06:29
【问题描述】:

在寻找一种方法来改善我们的构建服务器上的编译时间时,我遇到了这个关于 overhead added by the incremental compiler 的问题。由于我们的构建服务器每次都会检查源代码的新副本并从头开始构建,因此能够完全禁用增量编译器并且不必为不会使用的东西付费会很好。这可能吗?

【问题讨论】:

  • 如果在每次构建之前删除构建文件夹,则不会进行增量编译。
  • @AndreasNeumann - 这不会消除问题中提到的开销。我不想承担从源代码中提取公共 API 和依赖信息的成本。这些信息的收集是我想要消除的,因为它永远不会被使用,并且可以让构建速度提高 15-20%。
  • 好的,删除错误答案。我几乎认为这是不可能的。
  • 嗯,实际上,您可能需要等待一些即将进行的增量编译实验。现在我们不提供在没有增量编译器的情况下生成“分析”对象的方法,并且您需要它才能使其他一些 sbt 功能工作(例如查找主类等)。您应该打开一张票(功能请求)为此。

标签: scala sbt incremental-build


【解决方案1】:

Grzegorz 在#1078 中说:

我在一月份得到的原始数字是错误的,因为我在基准测试中使用的是增量编译器的破解版本。我使用 sbt 0.13.2 和增量编译器的开销收集了更多的数字 [snip] 如您所见,对于除 Scala 本身之外的所有项目,开销都低于 10%。

因此,此案因无效而结案。相关,Ability to disable incremental compiler for CI builds 因无法修复而关闭。

这可能吗?

这里的答案是,不(我们可能愿意拉取请求)。

【讨论】:

  • 这有点不幸。我们有一个相当大的项目,在我们的 CI 代理上编译它的时间可能相当长(15 分钟以上)。随着大量分支机构的建立,即使是 5-10% 的小幅改进对我们来说也是值得的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-21
  • 2014-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
相关资源
最近更新 更多