Recent experiments

Gradle 9.8.1 vs 9.8.0

The analysis of the Gradle build performance data reveals that the transition from varianta_baseline to variantb_gradle-9.8.1 generally results in a slight improvement in build performance. The overall build time decreased by approximately 9 seconds (3.6%) from an average of 255.8 seconds in varianta_baseline to 246.6 seconds in variantb_gradle-9.8.1. Configuration times also saw a reduction, decreasing by about 1.5 seconds (3.1%). Notably, the :app:app:mergeExtDexDebug task showed a significant reduction in execution time, dropping by around 522 seconds (2.9%) in the P90 metric. CPU and memory usage across all processes remained stable with no significant changes, indicating that the performance improvements are likely due to optimizations in the build process rather than changes in resource usage.

Kotlin 2.4.21 vs 2.4.20

The analysis of the Gradle build performance for the baseline variant (varianta_baseline) and the Kotlin 2.4.21 variant (variantb_kotlin-2.4.21) reveals several key findings. The overall build time for variantb_kotlin-2.4.21 is longer by approximately 19.6 seconds (8.2% increase) compared to varianta_baseline. Specifically, the P50 and P90 build times show increases of 20.2 seconds (7.8%) and 20.6 seconds (7.5%), respectively. Configuration times also increased slightly in the Kotlin 2.4.21 variant by about 1.3 seconds (3.1%). Task execution times for several key tasks, such as KotlinCompile and DexMergingTask, have increased in the Kotlin 2.4.21 variant, contributing to the longer build times. Memory usage saw a slight increase in the Kotlin 2.4.21 variant, with a peak usage of 9.65 GB compared to 9.34 GB in the baseline.

Gradle 9.8.0 vs 9.7.1

The performance analysis between two Gradle build variants, varianta_baseline and variantb_gradle-9.8.0, reveals several key insights. Overall, variantb_gradle-9.8.0 shows a slight improvement in build time, reducing from an average of 263 seconds in varianta_baseline to 258 seconds, a decrease of approximately 1.75%. Configuration times, however, increased slightly in variantb_gradle-9.8.0 by about 1.68%. Notably, the com.android.build.gradle.internal.tasks.DexMergingTask and :app:app:mergeExtDexDebug tasks showed significant execution time increases in variantb_gradle-9.8.0. CPU and memory usage metrics for both variants are quite similar, with a slight reduction in memory usage observed in the newer variant.

AGP 9.4.1 vs 9.4.0

The analysis of the Gradle build performance data reveals a slight increase in build times when comparing variant B (AGP-9.4.1) to variant A (baseline). Specifically, the overall build time increased by approximately 3.3% from 252 seconds in variant A to 260 seconds in variant B. The configuration time also saw a minor increase of about 0.8%. Among the most time-consuming tasks, “com.android.build.gradle.internal.tasks.DexMergingTask” and “com.android.build.gradle.internal.tasks.GlobalSyntheticsGeneratorTask” showed notable increases in execution times. Memory and CPU usage for both the main build process and child processes remained relatively stable, with only minor fluctuations observed between the two variants.

Kotlin 2.4.20 vs 2.4.10

The analysis of the Gradle build performance data reveals a noticeable increase in build times when comparing the baseline variant (varianta_baseline) to the updated Kotlin version (variantb_kotlin-2.4.20). Specifically, the overall build time increased by approximately 13.7 seconds (5.5%) from an average of 250.6 seconds in the baseline to 264.3 seconds in the Kotlin 2.4.20 variant. Configuration times also saw a slight increase. The most time-consuming tasks across both variants include Kotlin compilation and various Android build tasks, with significant increases observed particularly in Kotlin compilation tasks in the updated variant. Memory usage saw a slight increase in the updated variant, particularly in build child processes, which aligns with the observed increases in task execution times.

AGP 9.4.0 vs 9.3.2

The performance comparison between varianta_baseline and variantb_agp-9.4.0 reveals marginal differences in build times and task execution times. The overall build time for variantb_agp-9.4.0 is slightly higher by approximately 0.3 seconds (0.3% increase) compared to varianta_baseline. Configuration times are nearly identical, with variantb_agp-9.4.0 being marginally faster by about 0.45 seconds (1% decrease). Notable task differences include the GlobalSyntheticsGeneratorTask, which shows a significant increase in execution time in variantb_agp-9.4.0 by about 0.2 seconds (3.5% increase). CPU and memory usage across all processes and specifically for the build processes are closely matched between the two variants, with no significant deviations observed.

AGP 9.3.2 vs 9.3.1

The analysis of the Gradle build performance data reveals that the transition from varianta_baseline to variantb_agp-9.3.2 resulted in an overall increase in build times. Specifically, the mean build time increased by approximately 3.7% (from 249.035 seconds to 258.145 seconds), with the P90 build time showing a more pronounced increase of 3.8%. Configuration times also saw a rise, particularly at the P90 metric, which escalated by 23.6%. Among the tasks, com.android.build.gradle.internal.tasks.GlobalSyntheticsGeneratorTask and com.android.build.gradle.internal.tasks.DexMergingTask showed notable increases in execution time, suggesting areas where performance tuning could be beneficial. CPU and memory usage metrics remained relatively stable across variants, with minor fluctuations observed in the memory usage of build processes.

Gradle 9.7.1 vs 9.7.0

The performance comparison between varianta_baseline and variantb_gradle-9.7.1 reveals a slight improvement in build times with the newer Gradle version. The overall build time decreased by approximately 8.4 seconds (3.2%) from a mean of 261.671 seconds in the baseline to 253.267 seconds in Gradle 9.7.1. Configuration times also saw a reduction, dropping by about 3 seconds (6.4%) from a mean of 47.111 seconds to 44.089 seconds. The most time-consuming tasks across both variants include com.android.build.gradle.internal.tasks.DexMergingTask, :build-logic:convention:compileKotlin, and :core:cart:compileDebugKotlin, with the newer variant generally showing slight improvements in execution times. CPU and memory usage remained largely consistent between the two variants, with no significant changes observed.

Gradle 9.7.0 vs 9.6.1

The performance comparison between varianta_baseline and variantb_gradle-9.7.0 reveals several key insights. The overall build time for variantb_gradle-9.7.0 is slightly shorter than varianta_baseline, with a mean reduction of 5.609 seconds (1.94% faster). However, the configuration time in variantb_gradle-9.7.0 has increased, particularly at the P90 level, showing a longer duration by 4.21 seconds (6.24% slower). Notably, task execution times such as :app:app:mergeExtDexDebug and :app:app:hiltJavaCompileDebug have seen improvements in variantb_gradle-9.7.0, suggesting more efficient handling of resource-intensive tasks. CPU and memory usage across all processes remain high and closely matched between the variants, indicating consistent resource demands.

AGP 9.3.1 vs 9.3.0

The analysis of the Gradle build performance data reveals that the transition from varianta_baseline to variantb_agp-9.3.1 shows a slight increase in overall build time by about 1.57 seconds (0.6% increase). The configuration time also increased by 1.1 seconds (2.8% increase). Notably, the :app:app:mergeExtDexDebug task remains the most time-consuming across both variants, with a minimal increase in execution time in the newer variant. CPU and memory usage metrics for all processes and specifically for the build processes show very minor differences, indicating no significant change in resource consumption between the two variants.