
前言
大家肯定也都或多或少的写过一些Groovy代码,但由于不支持代码提示及编译时检查,使用Groovy开发的体验并不太好,Android Gradle插件4.0之后支持在Gradle构建配置中使用Kotlin 脚本 (KTS),用于替代 Groovy(过去在 Gradle 配置文件中使用的编程语言)。
KTS 比 Groovy 更适合用于编写 Gradle 脚本,因为采用 Kotlin 编写的代码可读性更高,并且 Kotlin 提供了更好的编译时检查和 IDE 支持。
但是文档中也提到了,虽然与 Groovy 相比,KTS 当前能更好地在 Android Studio 的代码编辑器中集成,但采用 KTS 的构建速度往往比采用 Groovy 慢,因此在迁移到 KTS 时应考虑构建性能。
那么我们今天就来看下相比Groovy,KTS性能到底怎么样?为大家决定是否迁移到KTS提供一定的参考。
KTS性能分析
性能分析工具
要分析KTS的性能,我们首先需要稳定的测量编译的时间,编译速度可能受build cache等多种因素的影响,所以很难测量kts插件对性能的影响到底有多大
我们可以使用Gradle 性能剖析器来准确测量性能,这是一款用于收集 Gradle 构建的性能分析和基准化分析信息的工具。借助 Gradle性能剖析器,您可以创建构建场景并多次运行这些场景,以防止结果出现过大差异,并确保结果的可重现性。
基准化分析的部分项目设置配置包括:
- 插件版本
- Gradle 版本
- JVM 设置(堆大小、永久代大小、垃圾回收等)
- G

本文探讨了Kotlin Script (KTS) 与Groovy在Android Gradle构建中的性能差异。尽管KTS提供更好的可读性和IDE支持,但在Gradle 6.8版本中,Groovy在首次运行和大部分缓存失效时的速度比KTS快2到3倍。然而,KTS在buildSrc非ABI更改时的编译速度比Groovy快2.5倍。随着Gradle 7.4版本,KTS的性能差距减小到约1.5倍。根据项目需求,开发者可以选择更适合的构建脚本语言。
1877

被折叠的 条评论
为什么被折叠?



