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.

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.

AGP 9-alpha02

The performance comparison between two Gradle build variants, varianta_agp_8.12 and variantb_agp_9-alpha02, shows that the newer variant generally improves build performance. The mean build time decreased from 376.749 seconds in varianta to 370.775 seconds in variantb, a reduction of approximately 1.58%. The P50 and P90 values also show improvements with reductions of 1.58% and 5.44% respectively. Notably, the most time-consuming tasks across both variants include :core:identity:compileDebugKotlin, :core:cart:compileDebugKotlin, and :app:app:mergeExtDexDebug, with variantb showing slight improvements in execution times for these tasks. Memory and CPU usage metrics indicate marginal differences, with variantb generally using slightly less memory. The total garbage collection counts are very similar between the variants, suggesting stable memory management across builds.

AGP 9.0.0-alpha01 vs AGP 8.12

The analysis of Gradle build performance between two variants, varianta_agp_8.12 and variantb_agp_9-alpha01, reveals a slight increase in overall build time in the newer variant by approximately 0.35 seconds (0.35% increase). The configuration time also shows a minor increase by about 0.09 seconds (2.15% increase). The most time-consuming tasks across both variants include :core:cart:compileDebugKotlin, :core:identity:compileDebugKotlin, and :core:contact:compileDebugKotlin, with marginal differences in execution times between the variants. Memory usage is slightly higher in variantb_agp_9-alpha01 for all processes and specifically for build child processes. CPU usage remains nearly identical across both variants. The total garbage collection counts are slightly reduced in the newer variant.

Comparing assembleRelease in AGP 8.9 vs 8.10.1 (nowinandroid)

The performance comparison between two Gradle build variants reveals minor differences in build times and resource usage. The mean build time for varianta_main is 515.286 seconds, while variantb_agp_8_10_1 is slightly longer at 516.571 seconds, marking a 0.25% increase. The most time-consuming tasks include com.android.build.gradle.internal.tasks.R8Task and com.android.build.gradle.internal.tasks.L8DexDesugarLibTask, with notable differences in execution times between the variants. CPU and memory usage across all processes and specifically for the build processes are nearly identical, with variantb_agp_8_10_1 showing a slight decrease in memory usage.

Comparing AGP 8.9 vs 8.10.1 (nowinandroid)

The analysis of the Gradle build performance data reveals a slight increase in overall build time when comparing variant B (AGP 8.10.1) to variant A. Specifically, the mean build time for variant B is approximately 0.61 seconds longer than variant A, representing a 0.6% increase. The P90 build times show a more pronounced difference, with variant B taking about 6.24 seconds longer than variant A, a 2.7% increase. In task execution, the most significant time differences are observed in tasks like :app:transformDemoDebugClassesWithAsm and :app:jacocoDemoDebug, where variant B shows increased execution times. Memory and CPU usage across all processes and specifically for the build processes are relatively stable with minor fluctuations. The total garbage collection (GC) counts are slightly higher in variant B for both Gradle and Kotlin processes, indicating a marginal increase in memory management activities.

Comparing lintDebug in 300 modules project limiting task parallelization (3 workers)

The performance comparison between varianta_main and variantb_lint_1.5g reveals significant differences in build times and resource utilization. variantb_lint_1.5g shows a notable reduction in overall build time, clocking in at approximately 1057.511 seconds compared to varianta_main’s 1642.304 seconds, marking a decrease of around 35.6%. This variant also uses less memory, with a maximum of 11.64 GB compared to varianta_main’s 13.69 GB. However, CPU usage is slightly higher in variantb_lint_1.5g for the build process, peaking at 93.95% versus 92.00% in varianta_main.

Comparing lintDebug in 300 modules project limiting task parallelization

The analysis of the Gradle build performance comparison between varianta_main and variantb_lint_2g reveals several key findings. The overall build time for variantb_lint_2g is longer by approximately 73 seconds (7.3% increase) compared to varianta_main. In task execution, the most significant difference is observed in the :layer_0:module_0_1:lintAnalyzeDebug task, where variantb_lint_2g takes about 13.64 seconds longer than varianta_main. Memory and CPU usage across all processes are relatively similar between the two variants, with slight variations in peak values. The total garbage collection (GC) count was lower in variantb_lint_2g by 73 collections, indicating potentially more efficient memory management.

Testing reservedMemoryPerTask 1G in Lint builds

The analysis of the Gradle build performance data reveals minor differences between the two variants, with variant B showing a slight increase in overall build time by approximately 0.3 seconds (0.3%). Notably, the most time-consuming tasks across both variants include com.android.build.gradle.internal.lint.AndroidLintAnalysisTask, :core:designsystem:compileProdReleaseKotlin, and :core:common:lintAnalyzeJvmMain, with variant B generally performing slightly better in these tasks. Memory and CPU usage are nearly identical for both variants, with no significant differences observed. The total garbage collection counts for Gradle and Kotlin processes are slightly lower in variant B, suggesting marginally better memory management.

Using R8 in a different process with 4gb and G1

The performance comparison between two Gradle build variants, varianta_main_r8 and variantb_r8_different_process, reveals several key differences. The overall build time for variantb_r8_different_process is slightly higher by approximately 10.6 seconds (2.04% increase) compared to varianta_main_r8. Notably, variantb_r8_different_process shows a significant increase in memory usage, with a maximum of 14.24 GB compared to 11.2 GB for varianta_main_r8, marking a 27.14% increase. Additionally, variantb_r8_different_process has fewer total garbage collection (GC) events in the Gradle process but more in the Kotlin process, suggesting different memory management behaviors. The R8Task and L8DexDesugarLibTask are among the most time-consuming tasks, with variantb_r8_different_process showing longer execution times, especially in L8DexDesugarLibTask where the mean time increased by over 47%.