Summary
The performance comparison between varianta_main
and variantb_z/metro
reveals that variantb_z/metro
generally has a shorter build time with a mean reduction of 25.1% (6.622 seconds). Notably, variantb_z/metro
also exhibits higher CPU usage in build child processes, suggesting more intensive parallel task execution. In the Kotlin Build Reports, variantb_z/metro
shows a significant increase in Compiler IR translation time, which could indicate more complex translation processes. Memory usage is slightly lower in variantb_z/metro
across all processes, contributing to its efficiency.
Detailed Report
1. Build Time Comparison
- Mean Build Time:
varianta_main
averages 26.486 seconds, whilevariantb_z/metro
is faster at 19.864 seconds, a decrease of 25.1%. - P50 Build Time:
varianta_main
has a median time of 24.948 seconds compared tovariantb_z/metro
at 18.476 seconds. - P90 Build Time: At the 90th percentile,
varianta_main
completes in 34.027 seconds, whereasvariantb_z/metro
finishes in 24.451 seconds.
2. Task Type Differences
- ":app-scaffold:compileDebugKotlin" is the most time-consuming task in both variants, with
varianta_main
at 5.399 seconds andvariantb_z/metro
at 6.146 seconds. - ":services:github:compileReleaseKotlin" and ":services:producthunt:compileReleaseKotlin" also show notable time differences, indicating variability in compilation tasks across variants.
3. Statistical Patterns
- Tasks like ":app-scaffold:kspDebugKotlin" perform better in
variantb_z/metro
by approximately 25%. - Conversely, ":app-scaffold:compileDebugKotlin" shows a 13.8% increase in build time in
variantb_z/metro
, suggesting some inefficiencies in this specific compilation task.
5. CPU & Memory Usage Analysis
- All Processes CPU Usage: Both variants reach a maximum of 100%, with
variantb_z/metro
slightly lower on average. - All Processes Memory Usage:
varianta_main
uses up to 9.27 GB, whilevariantb_z/metro
uses up to 8.79 GB. - Build Process CPU Usage: Similar usage with a maximum of around 85% for both variants.
- Build Processes Memory Usage:
varianta_main
uses more memory, peaking at 4.97 GB compared to 4.27 GB forvariantb_z/metro
. - Build Child Processes CPU Usage:
variantb_z/metro
shows higher usage, peaking at 77.86%, which is about 10% higher thanvarianta_main
. - Build Child Processes Memory Usage:
variantb_z/metro
also uses more memory in child processes, peaking at 3.37 GB compared to 3.16 GB forvarianta_main
.
7. Kotlin Build Reports Analysis
- Compiler IR Translation:
variantb_z/metro
shows a dramatic increase in time spent on IR translation, indicating a more complex process. - Analysis Lines per Second:
varianta_main
analyzes more lines per second, suggesting more efficient code analysis. - Code Generation Lines per Second:
varianta_main
also performs better in code generation efficiency.
This analysis highlights the efficiency improvements in variantb_z/metro
in terms of build time and resource usage, despite some task-specific inefficiencies.