Summary
The analysis of the Gradle build performance between varianta_jdk_17
and variantb_jdk_21
reveals several key insights. The overall build time for varianta_jdk_17
averages 396.626 seconds, while variantb_jdk_21
is slightly faster at 381.929 seconds, showing a reduction of approximately 14.697 seconds (3.7%). The configuration times are very close, with varianta_jdk_17
averaging 44.278 seconds and variantb_jdk_21
at 43.845 seconds. Notably, the most time-consuming tasks across both variants include :core:cart:compileDebugKotlin
, :core:identity:compileDebugKotlin
, and :core:contact:compileDebugKotlin
, with variantb_jdk_21
generally performing better in these areas. Memory usage is higher in variantb_jdk_21
across all processes, with a maximum of 10.84 GB compared to 10.31 GB in varianta_jdk_17
. CPU usage is nearly maxed out for both variants. The total garbage collection counts are slightly higher in variantb_jdk_21
with 139 collections compared to 131 in varianta_jdk_17
.
Detailed Report
1. Build Time Comparison
Overall Build Time:
varianta_jdk_17
: Mean = 396.626s, P50 = 391.789s, P90 = 424.128svariantb_jdk_21
: Mean = 381.929s, P50 = 379.035s, P90 = 403.575s- Reduction: Mean = 14.697s (3.7%), P50 = 12.754s (3.3%), P90 = 20.553s (4.8%)
Configuration Time:
varianta_jdk_17
: Mean = 44.278s, P50 = 44.064s, P90 = 47.542svariantb_jdk_21
: Mean = 43.845s, P50 = 42.937s, P90 = 47.701s- Reduction: Mean = 0.433s (0.98%), P50 = 1.127s (2.6%), P90 = -0.159s (-0.33%)
2. Task Type Differences
- Top Time-Consuming Tasks:
:core:cart:compileDebugKotlin
:varianta_jdk_17
: Mean = 11.258s, P50 = 11.109s, P90 = 12.065svariantb_jdk_21
: Mean = 10.356s, P50 = 10.329s, P90 = 10.775s- Reduction: Mean = 0.902s (8.0%), P50 = 0.780s (7.0%), P90 = 1.290s (10.7%)
:core:identity:compileDebugKotlin
:varianta_jdk_17
: Mean = 10.645s, P50 = 10.471s, P90 = 11.436svariantb_jdk_21
: Mean = 9.950s, P50 = 9.817s, P90 = 10.593s- Reduction: Mean = 0.695s (6.5%), P50 = 0.654s (6.2%), P90 = 0.843s (7.4%)
:core:contact:compileDebugKotlin
:varianta_jdk_17
: Mean = 9.323s, P50 = 9.184s, P90 = 9.947svariantb_jdk_21
: Mean = 8.785s, P50 = 8.687s, P90 = 9.260s- Reduction: Mean = 0.538s (5.8%), P50 = 0.497s (5.4%), P90 = 0.687s (6.9%)
3. Statistical Patterns
- Tasks with notable timing variations include
:core:cart:compileDebugKotlin
,:core:identity:compileDebugKotlin
, and:core:contact:compileDebugKotlin
, all showing better performance invariantb_jdk_21
by over 5%.
4. Process State Analysis
Kotlin Process State:
varianta_jdk_17
: Mean GC Time = 0.3svariantb_jdk_21
: Mean GC Time = 0.4s- Increase in GC Time: 0.1s (33.3%)
Gradle Process State:
varianta_jdk_17
: Mean GC Time = 0.12svariantb_jdk_21
: Mean GC Time = 0.14s- Increase in GC Time: 0.02s (16.7%)
5. CPU & Memory Usage Analysis
All Processes:
- CPU: Maxed at 100% for both variants.
- Memory:
varianta_jdk_17
= Max 10.31 GB,variantb_jdk_21
= Max 10.84 GB
Build Process:
- CPU:
varianta_jdk_17
= 96.23%,variantb_jdk_21
= 96.4% - Memory:
varianta_jdk_17
= Max 5.16 GB,variantb_jdk_21
= Max 5.27 GB
- CPU:
Build Child Processes:
- CPU:
varianta_jdk_17
= 95.23%,variantb_jdk_21
= 95.3% - Memory:
varianta_jdk_17
= Max 4.23 GB,variantb_jdk_21
= Max 4.67 GB
- CPU:
6. Garbage Collection Analysis
- Total GC collections:
varianta_jdk_17
= 131,variantb_jdk_21
= 139 - Increase in Collections: 8 collections (6.1%)
The performance improvements in variantb_jdk_21
are evident in reduced build times and better handling of key tasks, despite slightly higher memory usage and garbage collection activities.