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_mainaverages 26.486 seconds, whilevariantb_z/metrois faster at 19.864 seconds, a decrease of 25.1%. - P50 Build Time:
varianta_mainhas a median time of 24.948 seconds compared tovariantb_z/metroat 18.476 seconds. - P90 Build Time: At the 90th percentile,
varianta_maincompletes in 34.027 seconds, whereasvariantb_z/metrofinishes in 24.451 seconds.
2. Task Type Differences
- ":app-scaffold:compileDebugKotlin" is the most time-consuming task in both variants, with
varianta_mainat 5.399 seconds andvariantb_z/metroat 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/metroby 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/metroslightly lower on average. - All Processes Memory Usage:
varianta_mainuses up to 9.27 GB, whilevariantb_z/metrouses 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_mainuses more memory, peaking at 4.97 GB compared to 4.27 GB forvariantb_z/metro. - Build Child Processes CPU Usage:
variantb_z/metroshows higher usage, peaking at 77.86%, which is about 10% higher thanvarianta_main. - Build Child Processes Memory Usage:
variantb_z/metroalso 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/metroshows a dramatic increase in time spent on IR translation, indicating a more complex process. - Analysis Lines per Second:
varianta_mainanalyzes more lines per second, suggesting more efficient code analysis. - Code Generation Lines per Second:
varianta_mainalso 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.