为什么需要基准测试

Gradle 的构建是一个非常复杂的过程,影响构建时间的因素也非常多,比如硬件配置、缓存、守护进程的状态、网络状况等等(可以参考 Android Gradle 构建速度为什么这么慢,还有救吗?)。而随着项目越来越大,或自定义构建逻辑越来越多,我们可能需要

  1. 持续监控构建的恶化情况;
  2. 更加深入地了解构建过程中遇到的瓶颈;
  3. 验证优化构建参数后的实际提升效果等;

这时候就需要对 Gradle 构建进行基准测试。

什么是 Gradle Profiler

想象一下,我们想要知道 Gradle 构建在某个特定场景下能有多快,要怎么做呢:

Untitled

正如上面提到的,Gradle 构建涉及的环境因素非常多,单次运行并不一定能准确反映构建有多快,于是我们需要循环上面的过程,最后计算平均时间。整个过程非常无聊且耗时,最难受的是需要人监控记录,并手动触发下一个循环。

这个过程就是 Gradle Profiler 的用武之地。Gradle Profiler 作为一个自动化工具,用于收集 Gradle 构建的性能分析和基准测试信息。使用 Gradle Profiler,上面复杂的任务只需要开发者启动一个命令、无需其他操作的情况下即可完成。

安装 Gradle Profiler

运行基准测试

gradle-profiler --benchmark --project-dir <root-dir-of-build> <task>...