Recent experiments

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.

AGP 9.3.0 vs 9.2.1

The performance comparison between varianta_baseline and variantb_agp-9.3.0 shows minor differences in build times and task execution times. The overall build time for variantb_agp-9.3.0 is slightly higher by about 0.14% (365ms difference). Configuration time also increased by about 3.5% (1.4 seconds difference) in variantb_agp-9.3.0. Notably, the :app:app:kspDebugKotlin task showed a significant increase in execution time by approximately 10%, indicating a potential area for optimization in variantb_agp-9.3.0. Memory usage is slightly higher in variantb_agp-9.3.0 with a peak of 9.66 GB compared to 9.22 GB in varianta_baseline. CPU usage remains maximized at 100% for all processes in both variants.

Kotlin 2.4.10 vs 2.4.0

In this build performance comparison between varianta_baseline and variantb_kotlin-2.4.10, we observed a slight increase in overall build time for variantb_kotlin-2.4.10 with a mean increase of about 4.83 seconds (1.7% increase). Configuration times also increased by approximately 1 second (2.4% increase) in the newer variant. The task execution times showed mixed results, with some tasks like :app:app:mergeDebugJavaResource and :app:app:hiltJavaCompileDebug showing improvements in variantb_kotlin-2.4.10, whereas others like :app:app:mergeLibDexDebug and :app:app:mergeExtDexDebug had slightly increased times. CPU and memory usage were relatively stable across both variants with no significant changes observed.

Gradle 9.6.1 vs 9.5.1

The analysis of the Gradle build performance between varianta_baseline and variantb_gradle-9.6.1 reveals several key findings. The overall build time increased from 267.3 seconds in varianta_baseline to 280.0 seconds in variantb_gradle-9.6.1, marking a 4.8% increase. Configuration time, however, saw a decrease from 40.8 seconds to 39.2 seconds, a reduction of approximately 4.0%. Task execution times varied, with significant increases observed in tasks like :core:cart:compileDebugKotlin, which jumped from 8.7 seconds to 14.8 seconds (69.6% increase). Memory usage also increased slightly in variantb_gradle-9.6.1 with a peak of 8.83 GB compared to 8.45 GB in varianta_baseline. CPU usage remained maximized at 100% for all processes in both variants.

Gradle 9.6.0 vs 9.5.1

The analysis of the Gradle build performance data reveals a slight increase in overall build time when comparing the baseline variant (varianta_baseline) to the variantb_gradle-9.6.0. Specifically, the mean build time increased by approximately 3.6 seconds (1.3% increase), with the P90 time showing a more significant increase of 11.5 seconds (4.0% increase). Notably, the configuration times slightly decreased in the new variant by about 0.5 seconds. In terms of resource usage, there was a noticeable increase in memory consumption across all processes, with the maximum memory usage rising from 8.35 GB to 9.11 GB (9.1% increase). CPU usage remained maximized at 100% for all processes in both variants.

Kotlin 2.4.0 vs 2.3.21

The performance comparison between varianta_baseline and variantb_kotlin-2.4.0 reveals notable differences in build times and task execution. The overall build time for variantb_kotlin-2.4.0 is slightly longer, with a mean increase of about 8.4 seconds (3.1%). Configuration times also show a slight increase in the Kotlin 2.4.0 variant by approximately 1.3 seconds (3.4%). Among the tasks, com.android.build.gradle.internal.tasks.DexMergingTask and :core:checkout:compileDebugKotlin are the most time-consuming, with noticeable increases in the Kotlin variant. CPU and memory usage across all processes are relatively stable with minor fluctuations, indicating efficient resource management in both variants.

JDK 26 with UseCompactObjectHeaders

The performance comparison between varianta_main and variantb_UseCompactObjectHeaders reveals minor differences in build and configuration times, with variantb_UseCompactObjectHeaders showing a slight improvement in build time by approximately 0.28% (around 1.8 seconds faster). The configuration time is nearly identical between the two variants. Notably, the top three most time-consuming tasks across both variants include :app:app:mergeExtDexDebug, :app:app:hiltJavaCompileDebug, and :app:app:compileDebugKotlin, with :app:app:mergeExtDexDebug being the longest at over 18 seconds for both variants. CPU and memory usage are almost identical, with maximum values reaching up to 100% CPU and around 13.87 GB of memory for all processes. The total garbage collection counts are slightly lower in variantb_UseCompactObjectHeaders, suggesting marginally better memory management.

Gradle 9.6.0-rc-1 vs 9.5.1

The analysis of the Gradle build performance data between two variants, varianta_9.5.1 and variantb_9.6.0-rc-1, reveals several key insights. The overall build time has decreased from 516.886 seconds in varianta_9.5.1 to 499.350 seconds in variantb_9.6.0-rc-1, marking a 3.4% improvement. Configuration time also saw a reduction, decreasing by about 5.1%. The most time-consuming tasks across both variants include :app:app:mergeExtDexDebug, :app:app:hiltJavaCompileDebug, and :app:app:compileDebugKotlin, with variantb_9.6.0-rc-1 generally showing better performance in these areas. CPU and memory usage metrics indicate that both variants are pushing the limits with 100% CPU usage observed at peak times. Memory usage peaked at 10.34 GB in variantb_9.6.0-rc-1 compared to 10.09 GB in varianta_9.5.1. The garbage collection logs show a slight decrease in total collections from 197 in varianta_9.5.1 to 196 in variantb_9.6.0-rc-1.

Kotlin 2.3.21 vs 2.3.20

The performance comparison between varianta_baseline and variantb_kotlin-2.3.21 reveals several key differences. The overall build time for variantb_kotlin-2.3.21 is slightly higher, with a mean increase of about 4.4 seconds (1.66% longer). Notably, the configuration time has improved in variantb_kotlin-2.3.21 by approximately 1.8 seconds (4.4% faster). In task-specific performance, the :core:cart:compileDebugKotlin task showed a significant increase in execution time in variantb_kotlin-2.3.21, taking about 5.6 seconds longer on average, which is a 65% increase. Memory usage also saw a slight increase in variantb_kotlin-2.3.21 across all metrics, with a notable increase in build child processes memory by 0.46 GB (14.5% higher).