Report 📊

Summary

The analysis of the Gradle build performance data reveals minor differences between the two variants, varianta_2.2.20 and variantb_2.3.0-beta2. The overall build time is slightly reduced in variantb_2.3.0-beta2 by approximately 0.15% (from 580.709 seconds to 579.848 seconds). Configuration times are nearly identical with a negligible decrease in the newer variant. The most time-consuming tasks across both variants include Kotlin compilation and various Android build tasks, with minor variations in execution times between the two variants. Memory usage and CPU utilization for both the build process and child processes are comparable, with no significant differences observed. The total number of garbage collection operations remains consistent across variants.

Detailed Report

1. Build Time Comparison

  • Overall Build Time:

    • varianta_2.2.20: Mean = 580.709s, P50 = 578.709s, P90 = 607.266s
    • variantb_2.3.0-beta2: Mean = 579.848s, P50 = 580.105s, P90 = 603.651s
    • Difference: Mean decrease by 0.15%, P50 increase by 0.24%, P90 decrease by 0.60%
  • Configuration Time:

    • varianta_2.2.20: Mean = 58.723s, P50 = 58.624s, P90 = 63.415s
    • variantb_2.3.0-beta2: Mean = 58.641s, P50 = 58.416s, P90 = 64.491s
    • Difference: Mean decrease by 0.14%, P50 decrease by 0.35%, P90 increase by 1.70%

2. Task Type Differences

  • Top Time-Consuming Tasks:
    • "KotlinCompile":
      • varianta_2.2.20: Mean = 2191ms
      • variantb_2.3.0-beta2: Mean = 2254ms
      • Difference: Increase by 2.87%
    • "DexMergingTask":
      • varianta_2.2.20: Mean = 3961ms
      • variantb_2.3.0-beta2: Mean = 3967ms
      • Difference: Increase by 0.15%
    • "LinkApplicationAndroidResourcesTask":
      • varianta_2.2.20: Mean = 2436ms
      • variantb_2.3.0-beta2: Mean = 2406ms
      • Difference: Decrease by 1.23%

3. Statistical Patterns

  • Tasks such as "DexMergingTask" and "LinkApplicationAndroidResourcesTask" show minor timing variations, indicating slight performance improvements in variantb_2.3.0-beta2.

4. Process State Analysis

  • Kotlin Process State:
    • GC Time remains consistent at 0.2 for both variants.
  • Gradle Process State:
    • GC Time is also consistent at 0.5 for both variants.

5. CPU & Memory Usage Analysis

  • CPU Usage:

    • All processes: Max utilization is 100% for both variants.
    • Build process: Slightly higher in variantb_2.3.0-beta2 (96.97% vs. 96.93%).
    • Build child processes: Slightly higher in variantb_2.3.0-beta2 (94.9% vs. 94.23%).
  • Memory Usage:

    • All processes: Max memory is slightly higher in variantb_2.3.0-beta2 (13.13 GB vs. 13.14 GB).
    • Build process: Slightly lower in variantb_2.3.0-beta2 (8.42 GB vs. 8.49 GB).
    • Build child processes: Slightly higher in variantb_2.3.0-beta2 (3.86 GB vs. 3.78 GB).

6. Garbage Collection Analysis

  • Total GC collections are consistent across both variants with 253 collections.

7. Kotlin Build Reports Analysis

  • Compiler Performance Metrics:
    • Code generation lines per second are slightly lower in variantb_2.3.0-beta2 (1076 vs. 1100).
    • Analysis lines per second are marginally higher in variantb_2.3.0-beta2 (649 vs. 648).

Overall, the performance differences between the two variants are minimal, indicating stable improvements in the newer version without significant regressions.