【问题标题】:How to test gradle plugin build speed impact如何测试 gradle 插件构建速度的影响
【发布时间】:2019-08-23 14:02:47
【问题描述】:

我想在我的 android 项目中添加新插件,但我想知道它对构建速度的影响。

如何正确测试这种影响?

例如:我应该禁用缓存,或者可能有一些工具可用于此类操作

我使用--no-build-cache --rerun-tasks 标志运行构建,但总是得到不同的持续时间。大约 2 分钟 +- 20 秒。我也应该禁用增量编译,但我不知道该怎么做。

【问题讨论】:

  • 如果你的意思是“插件”添加第三方库,那么似乎足够做“清洁项目”-“构建项目”的序列,并在有和没有“插件”的情况下进行构建时间测量。顺便说一句,如果您从远程存储库添加库,它将破坏连接速度和稳定性的测量。最好使用预下载的 jar 测试构建时间。
  • @Rob 不,我的意思是 gradle 插件。喜欢github.com/mannodermaus/android-junit5
  • 我认为您可以使用插件制作单独的任务,而其他任务则不使用。并使用命令行标志 --profile 测量每个执行时间。更复杂的方式是实现TaskExecutionListener接口。实际上这真的取决于你的插件做什么,如果你在你的问题中描述一些细节会更清楚。
  • 具体来说,我在一个包含 200 多个模块和大量依赖项的大型项目中工作。我们考虑添加 Junit 5 插件,但我想看看它对构建时间的影响。我会试试 --profile 标志,谢谢你的建议。

标签: android performance gradle gradle-plugin


【解决方案1】:

要测试构建速度的影响,您可以通过 gradle 使用 gradle-profiler

它是一个自动收集 Gradle 构建的分析和基准测试信息的工具。

它可以处理所有花哨的统计数据和其他有关分析的有趣事情。您可以简单地为任何任务启动它,它将运行多个构建并计算平均值。

在没有插件的情况下执行此操作并使用它。之后,只需比较数字即可。

或者您可以使用更简单的替代方法。 gradlew --profile --offline --rerun-tasks assembleFlavorDebug 然后在 build/reports/profile/ 你会找到报告

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 2018-10-03
    • 2016-10-30
    • 2013-07-26
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    相关资源
    最近更新 更多