如果默认情况下禁用构建缓存,则gradle守护程序有什么优点

时间:2018-01-08 10:12:46

标签: maven caching gradle

我正在阅读关于gradle的文档,我正在研究当我发现它时可能导致的问题。 7.5.5. What can go wrong with Daemon?

这句话最重要的是:

  

还可以通过运行不能正确释放资源的构建来破坏守护程序(以及一般的构建环境)的稳定性。在使用Microsoft Windows时,这是一个特别尖锐的问题,因为它对读取或写入后无法关闭文件的程序不太宽容。

然后我看到By default, the build cache is not enabled.与以下陈述非常矛盾:

  

守护进程是一个长期存在的过程,因此我们不仅能够避免每次构建的JVM启动成本,而且还能够在内存中缓存有关项目结构,文件,任务等的信息。 / p>

在此处找到:7.1. Why the Gradle Daemon is important for performance

我后来运行gradle build --scan并确认缓存实际上已被禁用。事实上,唯一启用的deamon开关是deamon。

据我所知,gradle作为构建工具更快的原因是它能够缓存先前的构建,但是默认情况下它被禁用,因此它在构建性能方面就像mvn clean install -DskipTests一样除非启用了缓存。

1 个答案:

答案 0 :(得分:1)

你的引言:

  

守护进程是一个长期存在的过程,因此我们不仅能够避免每次构建的JVM启动成本,而且还能够在内存中缓存有关项目结构,文件,任务等的信息。 / p>

几乎可以回答你的问题。这是在讨论元数据,而不是实际构建的文件内容的缓存。在重复构建项目以测试小变化时,它仍然有助于提高速度。