Nowinandroid with Metro

The analysis of the Gradle build performance data reveals that variant variantb_useMetro_false generally has longer build times compared to varianta_useMetro_true. Specifically, the mean build time for variantb_useMetro_false is approximately 15.7% longer, translating to about 18.9 seconds more. Configuration times are also slightly higher in variantb_useMetro_false by about 3.9%. Task execution times show significant variability, with some tasks like com.google.devtools.ksp.gradle.KspAATask showing drastic differences (over 75% faster in varianta_useMetro_true). Memory usage is slightly higher in variantb_useMetro_false across all processes, with the build process memory usage notably about 18% higher. The total garbage collection (GC) counts are also higher in variantb_useMetro_false for both Gradle and Kotlin processes, indicating potentially less efficient memory management.

Kotlin 2.3.0

The analysis of the Gradle build performance data between two variants, varianta_2.2.21 and variantb_2.3.0, reveals subtle differences in build times and task execution. The overall build time for varianta_2.2.21 averaged 569.213 seconds, slightly longer than variantb_2.3.0 at 567.616 seconds, a marginal improvement of about 0.28%. Configuration times also saw a decrease from 54.823 seconds in varianta_2.2.21 to 52.565 seconds in variantb_2.3.0, improving by approximately 4.12%. Notably, the most time-consuming tasks across both variants include :core:account:kspDebugKotlin, :core:analytics:kspDebugKotlin, and :core:alarm:compileDebugKotlin, with minor variations in execution times between the variants. The garbage collection metrics indicate a slight increase in total collections for variantb_2.3.0, suggesting a minor increase in memory management activities.

Terminating Kotlin Process before R8 Task execution

The analysis of the Gradle build performance data reveals that variant B (kill_process_before_r8) generally performs better than variant A (r8). Specifically, the overall build time for variant B is shorter by approximately 8.3 seconds (1.7% improvement). This trend is consistent across various task types, where variant B often shows reduced execution times. Notably, the R8Task, one of the most time-consuming tasks, executes about 4.4 seconds faster in variant B. Memory usage is also slightly lower in variant B across all processes, with a maximum reduction of about 1.55 GB in overall system memory usage. CPU usage remains high and nearly maxed out for both variants, indicating a CPU-bound process.

AGP9-beta01 with builtInKotlin

The performance comparison between two Gradle build variants, varianta_agp_9_0_0_beta01_no_builtInKotlin and variantb_agp_9_0_0_beta01_builtInKotlin, reveals minor differences in build times and task execution. The overall build time for variant A averages 555.578 seconds, slightly longer than variant B’s 551.235 seconds. Notably, the configuration time for variant A is also higher at 55.243 seconds compared to 52.432 seconds for variant B. The most time-consuming tasks across both variants include :core:cart:kspDebugKotlin, :core:contact:kspDebugKotlin, and :core:comment:kspDebugKotlin, with marginal differences in execution times between the two variants. CPU and memory usage are nearly identical for both variants, with maximum values reaching up to 100% CPU usage and 11.78 GB of memory for all processes.

Gradle 9.2.1

The analysis of the Gradle build performance data reveals that the transition from variant A (Gradle 9.2.0) to variant B (Gradle 9.2.1) shows a slight increase in overall build time, with the mean build time increasing by approximately 3 seconds (0.57%). Configuration times are also slightly higher in variant B by about 0.64%. In terms of task execution, the most time-consuming tasks across both variants include :build-logic:convention:compileKotlin, :core:account:kspDebugKotlin, and :core:analytics:kspDebugKotlin, with variant B generally showing a marginal increase in execution times. CPU and memory usage across all processes and specifically for the build processes show no significant change, maintaining near-maximum CPU usage and similar memory footprints in both variants. The garbage collection metrics indicate a minor decrease in total collections in variant B, suggesting a slight improvement in memory management efficiency.

AGP 9.0.0-beta01 vs 8.13.1

The performance analysis between two Gradle build variants, varianta_agp_9_0_0_beta01 and variantb_agp_8_13_1, reveals several key insights. The overall build time for varianta is slightly faster, averaging 554.782 seconds compared to variantb’s 566.004 seconds, a difference of approximately 2%. Notably, varianta also shows a quicker configuration time, averaging 53.077 seconds versus variantb’s 59.078 seconds, indicating a 10% improvement. In task execution, varianta generally performs better in CPU and memory usage, with a maximum CPU usage slightly lower than variantb (97.14% vs. 96.96%) and a more efficient memory usage profile. The analysis of garbage collection shows varianta having fewer total collections (251) compared to variantb (259), suggesting better memory management.

Gradle 9.2.0

The analysis of Gradle build performance between varianta_gradle_9_2_0 and variantb_gradle_9_1_0 reveals minor differences in build times, with varianta_gradle_9_2_0 showing a slight improvement. The mean build time for varianta is approximately 539.9 seconds compared to variantb at 542.4 seconds, a decrease of about 0.47%. Configuration times also show a marginal improvement in varianta with a mean time of 64.49 seconds versus 65.92 seconds for variantb, reflecting a 2.17% decrease. The most time-consuming tasks across both variants include :build-logic:convention:compileKotlin, :core:account:kspDebugKotlin, and :core:analytics:kspDebugKotlin, with varianta generally performing slightly better. Memory and CPU usage are nearly identical for both variants, with maximum values reaching up to 11.59 GB and 100% CPU usage respectively. Garbage collection activities are also comparable, with total collections close between the two variants.

Kotlin 2.3.0-beta2

The analysis of the Gradle build performance data reveals minor differences between the two variants, varianta_2.2.20 and variantb_2.3.0-beta2. The overall build time is slightly reduced in variantb_2.3.0-beta2 by approximately 0.15% (from 580.709 seconds to 579.848 seconds). Configuration times are nearly identical with a negligible decrease in the newer variant. The most time-consuming tasks across both variants include Kotlin compilation and various Android build tasks, with minor variations in execution times between the two variants. Memory usage and CPU utilization for both the build process and child processes are comparable, with no significant differences observed. The total number of garbage collection operations remains consistent across variants.

Gradle 9.2.0-rc-1 vs 9.1.0

The analysis of the Gradle build performance comparison between variant A (Gradle 9.1.0) and variant B (Gradle 9.2.0-rc-1) reveals subtle improvements in build efficiency in the newer version. The overall build time slightly decreased from 544.528 seconds in variant A to 542.012 seconds in variant B, a reduction of approximately 2.516 seconds (0.46%). Similarly, configuration time saw a reduction from 66.133 seconds to 64.152 seconds, improving by 1.981 seconds (3%). The most time-consuming tasks across both variants include :build-logic:convention:compileKotlin, :core:analytics:kspDebugKotlin, and :core:calendar:kspDebugKotlin, with minor variations in execution times between the variants. CPU and memory usage remained nearly at capacity for both variants, with a maximum CPU usage of 100% and memory peaking around 11.6 GB. The garbage collection metrics indicate a slight decrease in total collections from 169 in variant A to 167 in variant B, suggesting marginally better memory management in the newer Gradle version.

JDK 25 Parallel GC - Gradle 9.1

The performance comparison between varianta_gradle_9_1_0 and variantb_jdk_25_parallel reveals several key insights. The overall build time for varianta_gradle_9_1_0 averaged 466.318 seconds, slightly higher than variantb_jdk_25_parallel at 448.495 seconds, marking a decrease of about 3.82%. Configuration times also show a decrease from 59.939 seconds in varianta_gradle_9_1_0 to 53.989 seconds in variantb_jdk_25_parallel, a reduction of approximately 9.92%. Notably, garbage collection (GC) was more efficient in variantb_jdk_25_parallel with significantly fewer total collections (74) compared to varianta_gradle_9_1_0 (157). Memory usage peaked slightly higher in variantb_jdk_25_parallel at 11.49 GB compared to 10.98 GB in varianta_gradle_9_1_0. CPU usage was maximized at 100% for both variants, indicating full utilization during the builds.