Report 📊

Summary

The analysis of the Gradle build performance data reveals minor but notable differences between the two variants, varianta_2.3.0 and variantb_2.3.10. The overall build time for varianta_2.3.0 is slightly higher with an average of 514.136 seconds compared to 511.726 seconds for variantb_2.3.10, a difference of about 0.47%. Configuration times also show a slight improvement in variantb_2.3.10 with an average time of 46.028 seconds versus 47.689 seconds for varianta_2.3.0, marking a 3.48% decrease. Task execution times across various types and paths show mixed results with minor variations, indicating specific areas where performance tuning affects outcomes. Memory and CPU usage metrics are closely matched between the variants, with no significant differences observed in maximum values.

Detailed Report

1. Build Time Comparison

  • Overall Build Time:

    • Mean: varianta_2.3.0: 514.136s, variantb_2.3.10: 511.726s (0.47% faster)
    • P50: varianta_2.3.0: 510.118s, variantb_2.3.10: 511.657s
    • P90: varianta_2.3.0: 538.409s, variantb_2.3.10: 534.327s
  • Configuration Time:

    • Mean: varianta_2.3.0: 47.689s, variantb_2.3.10: 46.028s (3.48% faster)
    • P50: varianta_2.3.0: 47.089s, variantb_2.3.10: 45.822s
    • P90: varianta_2.3.0: 56.987s, variantb_2.3.10: 50.497s

2. Task Type Differences

  • Top Time-Consuming Tasks:
    • "KotlinCompile": Mean time almost identical across variants.
    • "KspAATask": Slightly faster in variantb_2.3.10 by about 0.53%.
    • "LinkApplicationAndroidResourcesTask": Minor difference with variantb_2.3.10 being slightly faster.

3. Statistical Patterns

  • Tasks like "DexMergingTask" and "ValidateSigningTask" show minimal time differences between variants, suggesting stable performance across builds.
  • The variance in task execution times is generally low, indicating consistent performance across different builds.

4. Process State Analysis

  • Kotlin Process State: The garbage collection time for Kotlin processes is slightly higher in variantb_2.3.10 (0.20 vs. 0.19).
  • Gradle Process State: Garbage collection times are very similar between the variants, with a negligible increase in variantb_2.3.10.

5. CPU & Memory Usage Analysis

  • CPU Usage:

    • All processes: Both variants reached a maximum of 100% CPU usage.
    • Build process: varianta_2.3.0 had a slightly lower maximum CPU usage (97.1%) compared to variantb_2.3.10 (97.02%).
    • Build child processes: Similar maximum CPU usage, around 94.78% for varianta_2.3.0 and 94.94% for variantb_2.3.10.
  • Memory Usage:

    • All processes: Maximum memory usage was slightly higher in variantb_2.3.10 (12.99 GB) compared to varianta_2.3.0 (12.96 GB).
    • Build process: Both variants had a similar memory footprint, around 8.09 GB.
    • Build child processes: variantb_2.3.10 used slightly more memory (3.98 GB) compared to varianta_2.3.0 (3.94 GB).

6. Garbage Collection Analysis

  • Total GC collections were slightly lower in variantb_2.3.10 (223) compared to varianta_2.3.0 (226), indicating a minor improvement in memory management efficiency.

7. Kotlin Build Reports Analysis

  • Compiler Performance Metrics:
    • Code generation lines per second were slightly higher in variantb_2.3.10 (1020 vs. 1008).
    • Analysis lines per second were also marginally better in variantb_2.3.10 (695 vs. 694).

Overall, the differences between the two variants are minor, suggesting that the updates in variantb_2.3.10 have slightly optimized build performance, particularly in configuration time and garbage collection efficiency.