Summary
The performance comparison between two Gradle build variants shows a slight improvement in overall build time for variant B (218.791s) compared to variant A (221.317s), with a decrease of about 1.14%. The most time-consuming tasks across both variants include :app:l8DexDesugarLibDemoDebug
, :app:mergeExtDexDemoDebug
, and :core:designsystem:compileDemoDebugKotlin
, with variant B generally showing better performance in these tasks. Memory usage is slightly lower in variant B for all processes and build child processes. The total garbage collection counts are slightly higher in variant B for both Gradle and Kotlin processes.
Detailed Report
1. Build Time Comparison
- Mean Build Time: Variant A: 221.317s, Variant B: 218.791s (1.14% faster)
- P50 Build Time: Variant A: 219.952s, Variant B: 219.323s
- P90 Build Time: Variant A: 232.196s, Variant B: 226.016s
2. Task Type Differences
- Top 3 Time-Consuming Tasks:
:app:l8DexDesugarLibDemoDebug
: Variant A: 39.349s, Variant B: 38.865s:app:mergeExtDexDemoDebug
: Variant A: 42.602s, Variant B: 42.595s:core:designsystem:compileDemoDebugKotlin
: Variant A: 18.574s, Variant B: 18.088s
3. Statistical Patterns
- Tasks with notable timing variations include
:core:data:compileDemoDebugKotlin
and:feature:bookmarks:kspDemoDebugKotlin
, with variant B showing improvements in execution time.
4. Process State Analysis
Kotlin Process State
- Garbage Collection Time (Mean): Both variants have a mean GC time of 0.1s, with a slight increase in P90 for variant B (0.13s to 0.12s).
Gradle Process State
- Garbage Collection Time (Mean): Consistent at 0.13s across both variants.
5. CPU & Memory Usage Analysis
- All Processes:
- Max CPU Usage: 100% for both variants.
- Max Memory Usage: Variant A: 10.7 GB, Variant B: 10.54 GB.
- Build Process:
- Max CPU Usage: Variant A: 93.48%, Variant B: 93.64%.
- Max Memory Usage: Variant A: 5.32 GB, Variant B: 5.3 GB.
- Build Child Processes:
- Max CPU Usage: Variant A: 92.46%, Variant B: 91.88%.
- Max Memory Usage: Variant A: 4.46 GB, Variant B: 4.31 GB.
6. Garbage Collection Analysis
- Total GC Collections for Gradle Process: Variant A: 69, Variant B: 70.
- Total GC Collections for Kotlin Process: Consistent at 48 for both variants, with a slight increase in P90 for variant B (56.8 vs. 56).
Overall, variant B demonstrates a marginal improvement in build performance, particularly in terms of build time and memory efficiency, while maintaining similar levels of CPU usage and garbage collection activity.