使用Groovyserv或Nailgun来改善Gradle的启动时间

4
我正在尝试提高Gradle的启动速度。实验性的--daemon开关似乎并没有真正加快速度。所以我想使用一些与Gradle无关的服务器进程,并让Gradle连接到它。到目前为止,我找到的选项有: 由于Gradle是由一个shell脚本启动的,所以需要进行一些调整。我的问题是:有人使用上述选项启动过Gradle吗?或者如果您成功地使用了其他选项,请告诉我是什么?

1
你尝试过在最新版本(milestone-5)中使用--daemon吗?我认为他们添加了一些性能改进。 - rodion
@rodion,我刚刚尝试了里程碑5 - 仍然是漫长的3秒钟。 - Adam Schmideg
1个回答

8

我猜测你的构建过程可能在配置时间执行了一些本应该在执行时间才执行的操作。使用 m5,gradle build --profile 命令可以生成一个 HTML 报告,显示程序执行的耗时情况。另外一种查看程序运行情况的方式是使用 gradle build --info 或者 gradle build --debug 命令。


感谢提供“--profile”开关提示。不幸的是,它只显示了同样的问题:启动时间:2.8秒;设置时间:1.5秒;加载时间:0.3秒;配置时间:0.8秒。我正在尝试“Hello World”项目,在调试时没有出现任何花哨的东西。 - Adam Schmideg
听起来你没有使用守护进程。你在构建输出的顶部看到这个警告吗?“注意:Gradle构建守护进程是一个实验性功能。因此,您可能会遇到意外的构建失败。您可能需要偶尔停止守护进程。” - Peter Niederwieser
2
啊,我明白了。我以为只需要运行一次守护进程,然后gradle会检查它是否在运行。当我在每次调用时包含--daemon开关时,启动时间加快了30%,而所有其他阶段的速度也显著提高了。因此,总时间提高了50%以上。非常感谢。 - Adam Schmideg
4
要永久启用守护进程,请将 -Dorg.gradle.daemon=true 添加到 GRADLE_OPTS 环境变量中。在未来,这将成为默认设置。 - Peter Niederwieser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接