Parallel vs G1 - 400 modules Project

The performance comparison between varianta_parallel and variantb_g1 reveals several key insights. The overall build time for variantb_g1 is longer by approximately 55 seconds (6% increase) compared to varianta_parallel. Notably, the DexMergingTask and AggregateDepsTask show significant time increases in variantb_g1, suggesting areas where performance optimizations could be targeted. In task execution, variantb_g1 generally exhibits longer times across most tasks, particularly in Kotlin compilation tasks like :layer_0:module_0_10:kspDebugKotlin, which is about 7% slower in variantb_g1. Memory usage is slightly higher in variantb_g1 by about 0.3 GB, aligning with the increased build times and task durations observed. The garbage collection logs indicate a similar number of total collections between the variants, suggesting that garbage collection overhead does not significantly differ between them. The Kotlin Build Reports highlight a slower performance in variantb_g1 across various metrics, including compiler initialization, IR generation, and code generation, which corroborates the observed longer build times.

Comparing -Xms usage in nowinandroid

The analysis of the Gradle build performance comparison data reveals that the variant variantb_no_xms generally takes longer to build than varianta_using_xms. The mean build time for variantb_no_xms is approximately 3.5% longer than varianta_using_xms. The most time-consuming tasks across both variants are :app:l8DexDesugarLibDemoDebug, :app:mergeExtDexDemoDebug, and :core:designsystem:compileDemoDebugKotlin. In terms of CPU and memory usage, both variants reach 100% CPU usage, but varianta_using_xms uses more memory. Garbage collection data shows more collections for variantb_no_xms.

Comparing G1 vs Parallel in nowinandroid

The Gradle build performance comparison data reveals that variant B (variantb_main_parallel) generally performs better than variant A (varianta_main_g1). The mean build time for variant B is approximately 14.3 seconds, which is 6.6% faster than variant A’s mean build time of around 21.5 seconds. The most time-consuming tasks across both variants are :app:l8DexDesugarLibDemoDebug, :app:mergeExtDexDemoDebug, and :core:designsystem:compileDemoDebugKotlin. Significant differences in task execution times are observed in :app:transformDemoDebugClassesWithAsm and :core:designsystem:bundleLibCompileToJarDemoDebug. The CPU and memory usage are also slightly lower for variant B.