Skip to content

Instantly share code, notes, and snippets.

@LePichu
Last active February 7, 2026 22:38
Show Gist options
  • Select an option

  • Save LePichu/960acc759a8a907cafcfc351630f2e6e to your computer and use it in GitHub Desktop.

Select an option

Save LePichu/960acc759a8a907cafcfc351630f2e6e to your computer and use it in GitHub Desktop.
lepichudoesdev@ohiodeck in chai_deps_test via πŸ¦€ on master
$> ./Invoke-Benchmark.ps1; ./Invoke-BenchmarkWarm.ps1
πŸš€ Starting benchmark suite for 32 packages...
============================================

πŸ“¦ Package 1/32


πŸ” Benchmark: com.google.code.gson:gson:2.10.1
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.52s (1 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.89s (1 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.42s (1 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/com.google.code.gson_gson_2.10.1.json

=====================================

πŸ“¦ Package 2/32


πŸ” Benchmark: org.apache.commons:commons-lang3:3.14.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.43s (1 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.62s (1 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.63s (1 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.apache.commons_commons-lang3_3.14.0.json

=====================================

πŸ“¦ Package 3/32


πŸ” Benchmark: joda-time:joda-time:2.12.5
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.38s (2 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 7.43s (1 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.50s (1 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/joda-time_joda-time_2.12.5.json

=====================================

πŸ“¦ Package 4/32


πŸ” Benchmark: org.slf4j:slf4j-api:2.0.9
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.33s (1 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.05s (1 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.46s (1 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.slf4j_slf4j-api_2.0.9.json

=====================================

πŸ“¦ Package 5/32


πŸ” Benchmark: com.google.code.findbugs:jsr305:3.0.2
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.30s (1 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.87s (1 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.48s (1 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/com.google.code.findbugs_jsr305_3.0.2.json

=====================================

πŸ“¦ Package 6/32


πŸ” Benchmark: org.projectlombok:lombok:1.18.30
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.40s (1 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.00s (1 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.52s (1 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.projectlombok_lombok_1.18.30.json

=====================================

πŸ“¦ Package 7/32


πŸ” Benchmark: junit:junit:4.13.2
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.43s (2 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 7.88s (2 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.54s (2 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/junit_junit_4.13.2.json

=====================================

πŸ“¦ Package 8/32


πŸ” Benchmark: org.apache.commons:commons-text:1.11.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.71s (2 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 7.95s (2 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.81s (2 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.apache.commons_commons-text_1.11.0.json

=====================================

πŸ“¦ Package 9/32


πŸ” Benchmark: com.squareup.okhttp3:okhttp:4.12.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.56s (8 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 9.04s (8 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.87s (7 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/com.squareup.okhttp3_okhttp_4.12.0.json

=====================================

πŸ“¦ Package 10/32


πŸ” Benchmark: com.google.guava:guava:33.0.0-jre
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.61s (7 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 9.36s (7 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.86s (6 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/com.google.guava_guava_33.0.0-jre.json

=====================================

πŸ“¦ Package 11/32


πŸ” Benchmark: org.apache.httpcomponents:httpclient:4.5.14
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.61s (4 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.80s (4 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.79s (4 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.apache.httpcomponents_httpclient_4.5.14.json

=====================================

πŸ“¦ Package 12/32


πŸ” Benchmark: com.fasterxml.jackson.core:jackson-databind:2.16.1
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.75s (3 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.78s (3 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 5.62s (3 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/com.fasterxml.jackson.core_jackson-databind_2.16.1.json

=====================================

πŸ“¦ Package 13/32


πŸ” Benchmark: io.netty:netty-all:4.1.104.Final
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.84s (31 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 12.38s (35 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.96s (35 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/io.netty_netty-all_4.1.104.Final.json

=====================================

πŸ“¦ Package 14/32


πŸ” Benchmark: org.apache.logging.log4j:log4j-core:2.22.1
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 3.33s (25 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 9.61s (2 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 5.38s (2 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.apache.logging.log4j_log4j-core_2.22.1.json

=====================================

πŸ“¦ Package 15/32


πŸ” Benchmark: org.mockito:mockito-core:5.8.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.97s (4 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.61s (4 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 5.03s (4 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.mockito_mockito-core_5.8.0.json

=====================================

πŸ“¦ Package 16/32


πŸ” Benchmark: com.h2database:h2:2.2.224
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.44s (1 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 9.18s (1 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.63s (1 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/com.h2database_h2_2.2.224.json

=====================================

πŸ“¦ Package 17/32


πŸ” Benchmark: org.postgresql:postgresql:42.7.1
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 1.22s (10 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 9.31s (2 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.75s (2 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.postgresql_postgresql_42.7.1.json

=====================================

πŸ“¦ Package 18/32


πŸ” Benchmark: redis.clients:jedis:5.1.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 1.03s (16 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.67s (5 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.92s (5 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/redis.clients_jedis_5.1.0.json

=====================================

πŸ“¦ Package 19/32


πŸ” Benchmark: io.dropwizard:dropwizard-core:4.0.5
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 4.45s (90 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 13.37s (90 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 9.16s (91 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/io.dropwizard_dropwizard-core_4.0.5.json

=====================================

πŸ“¦ Package 20/32


πŸ” Benchmark: org.hibernate:hibernate-core:6.4.1.Final
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 2.13s (17 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 10.24s (17 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 6.35s (17 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.hibernate_hibernate-core_6.4.1.Final.json

=====================================

πŸ“¦ Package 21/32


πŸ” Benchmark: io.quarkus:quarkus-core:3.6.4
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 2.59s (35 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 12.16s (36 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 7.19s (36 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/io.quarkus_quarkus-core_3.6.4.json

=====================================

πŸ“¦ Package 22/32


πŸ” Benchmark: org.springframework.boot:spring-boot-starter-web:3.2.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 2.75s (34 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 11.95s (34 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 8.41s (34 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.springframework.boot_spring-boot-starter-web_3.2.0.json

=====================================

πŸ“¦ Package 23/32


πŸ” Benchmark: org.springframework.boot:spring-boot-starter-data-jpa:3.2.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 4.68s (48 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 13.84s (48 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 10.48s (48 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.springframework.boot_spring-boot-starter-data-jpa_3.2.0.json

=====================================

πŸ“¦ Package 24/32


πŸ” Benchmark: com.amazonaws:aws-java-sdk-s3:1.12.631
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 1.31s (14 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 9.35s (14 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 5.82s (14 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/com.amazonaws_aws-java-sdk-s3_1.12.631.json

=====================================

πŸ“¦ Package 25/32


πŸ” Benchmark: org.apache.kafka:kafka-clients:3.7.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 1.65s (5 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.87s (5 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 5.90s (5 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.apache.kafka_kafka-clients_3.7.0.json

=====================================

πŸ“¦ Package 26/32


πŸ” Benchmark: io.micronaut:micronaut-http-server-netty:4.2.3
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 1.26s (26 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 9.11s (26 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 5.63s (26 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/io.micronaut_micronaut-http-server-netty_4.2.3.json

=====================================

πŸ“¦ Package 27/32


πŸ” Benchmark: org.jetbrains.kotlin:kotlin-stdlib:1.9.22
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 0.40s (2 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 8.69s (2 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 4.72s (2 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.jetbrains.kotlin_kotlin-stdlib_1.9.22.json

=====================================

πŸ“¦ Package 28/32


πŸ” Benchmark: org.apache.spark:spark-core_2.13:3.5.3
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 15.96s (113 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 29.57s (117 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 22.09s (118 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.apache.spark_spark-core_2.13_3.5.3.json

=====================================

πŸ“¦ Package 29/32


πŸ” Benchmark: io.grpc:grpc-all:1.60.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 5.19s (66 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 16.15s (66 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 10.02s (66 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/io.grpc_grpc-all_1.60.0.json

=====================================

πŸ“¦ Package 30/32


πŸ” Benchmark: org.apache.flink:flink-streaming-java:1.18.0
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 6.03s (32 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 14.26s (32 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 10.72s (32 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/org.apache.flink_flink-streaming-java_1.18.0.json

=====================================

πŸ“¦ Package 31/32


πŸ” Benchmark: com.google.cloud:google-cloud-storage:2.30.1
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 7.62s (62 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 23.20s (62 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 8.94s (62 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/com.google.cloud_google-cloud-storage_2.30.1.json

=====================================

πŸ“¦ Package 32/32


πŸ” Benchmark: software.amazon.awssdk:s3:2.21.42
=====================================

🧹 Clearing caches for Chai...

1️⃣  Testing Chai...
   βœ“ Chai: 3.26s (44 files)

🧹 Clearing caches for Maven...

2️⃣  Testing Maven...
   βœ“ Maven: 10.97s (43 files)

🧹 Clearing caches for Gradle...

3️⃣  Testing Gradle...
   βœ“ Gradle: 6.70s (43 files)

🧹 Post-test cleanup...

πŸ“Š Results saved: ./bench/software.amazon.awssdk_s3_2.21.42.json

=====================================



βœ… Benchmark suite complete!
πŸ“ Individual results: ./bench/<package>.json
πŸ“Š Summary: ./bench/_summary.json

πŸ† Final Results:
============================================

Tool   Avg    Median Min   Max    Runs
----   ---    ------ ---   ---    ----
Chai   2.29s  1s     0.3s  15.96s   32
Gradle 6.51s  4.99s  4.42s 22.09s   32
Maven  10.97s 9.14s  7.43s 29.57s   32


πŸš€ Performance Analysis:
   Average: Chai is 4.79x faster than Maven (2.29s vs 10.97s)
   Average: Chai is 2.84x faster than Gradle (2.29s vs 6.51s)

   Median: Chai is 9.14x faster than Maven (1s vs 9.14s)
   Median: Chai is 4.99x faster than Gradle (1s vs 4.99s)

πŸ’‘ Per-package speedup:

Package                                                     Chai   Maven  Gradle vs Maven vs Gradle
-------                                                     ----   -----  ------ -------- ---------
com.google.code.findbugs:jsr305:3.0.2                       0.3s   8.87s  4.48s  29.4x    14.9x
org.slf4j:slf4j-api:2.0.9                                   0.33s  8.05s  4.46s  24.4x    13.5x
org.jetbrains.kotlin:kotlin-stdlib:1.9.22                   0.4s   8.69s  4.72s  21.6x    11.7x
com.h2database:h2:2.2.224                                   0.44s  9.18s  4.63s  21x      10.6x
org.apache.commons:commons-lang3:3.14.0                     0.43s  8.62s  4.63s  20.1x    10.8x
org.projectlombok:lombok:1.18.30                            0.4s   8s     4.52s  19.9x    11.3x
joda-time:joda-time:2.12.5                                  0.38s  7.43s  4.5s   19.7x    11.9x
junit:junit:4.13.2                                          0.43s  7.88s  4.54s  18.2x    10.5x
com.google.code.gson:gson:2.10.1                            0.52s  8.89s  4.42s  17.1x    8.5x
com.squareup.okhttp3:okhttp:4.12.0                          0.56s  9.04s  4.87s  16.1x    8.7x
com.google.guava:guava:33.0.0-jre                           0.61s  9.36s  4.86s  15.4x    8x
io.netty:netty-all:4.1.104.Final                            0.84s  12.38s 4.96s  14.7x    5.9x
org.apache.httpcomponents:httpclient:4.5.14                 0.61s  8.8s   4.79s  14.4x    7.8x
com.fasterxml.jackson.core:jackson-databind:2.16.1          0.75s  8.78s  5.62s  11.7x    7.5x
org.apache.commons:commons-text:1.11.0                      0.71s  7.95s  4.81s  11.1x    6.7x
org.mockito:mockito-core:5.8.0                              0.97s  8.61s  5.03s  8.9x     5.2x
redis.clients:jedis:5.1.0                                   1.03s  8.67s  4.92s  8.4x     4.8x
org.postgresql:postgresql:42.7.1                            1.22s  9.31s  4.75s  7.6x     3.9x
io.micronaut:micronaut-http-server-netty:4.2.3              1.26s  9.11s  5.63s  7.2x     4.5x
com.amazonaws:aws-java-sdk-s3:1.12.631                      1.31s  9.35s  5.82s  7.1x     4.4x
org.apache.kafka:kafka-clients:3.7.0                        1.65s  8.87s  5.9s   5.4x     3.6x
org.hibernate:hibernate-core:6.4.1.Final                    2.13s  10.24s 6.35s  4.8x     3x
io.quarkus:quarkus-core:3.6.4                               2.59s  12.16s 7.19s  4.7x     2.8x
org.springframework.boot:spring-boot-starter-web:3.2.0      2.75s  11.95s 8.41s  4.4x     3.1x
software.amazon.awssdk:s3:2.21.42                           3.26s  10.97s 6.7s   3.4x     2.1x
io.grpc:grpc-all:1.60.0                                     5.19s  16.15s 10.02s 3.1x     1.9x
io.dropwizard:dropwizard-core:4.0.5                         4.45s  13.37s 9.16s  3x       2.1x
com.google.cloud:google-cloud-storage:2.30.1                7.62s  23.2s  8.94s  3x       1.2x
org.springframework.boot:spring-boot-starter-data-jpa:3.2.0 4.68s  13.84s 10.48s 3x       2.2x
org.apache.logging.log4j:log4j-core:2.22.1                  3.33s  9.61s  5.38s  2.9x     1.6x
org.apache.flink:flink-streaming-java:1.18.0                6.03s  14.26s 10.72s 2.4x     1.8x
org.apache.spark:spark-core_2.13:3.5.3                      15.96s 29.57s 22.09s 1.9x     1.4x


πŸ“ˆ Distribution by package size:

Category                                    Packages
--------                                    --------
{Small (1-5), Medium (6-20), Large (21-50)}       20
Large (21-50)                                      8
Very Large (50+)                                   4

πŸ”₯ Starting WARM CACHE benchmark suite for 32 packages...
============================================

πŸ“₯ Pre-populating Maven cache with all packages...
   Caching: com.google.code.gson:gson:2.10.1
   Caching: org.apache.commons:commons-lang3:3.14.0
   Caching: joda-time:joda-time:2.12.5
   Caching: org.slf4j:slf4j-api:2.0.9
   Caching: com.google.code.findbugs:jsr305:3.0.2
   Caching: org.projectlombok:lombok:1.18.30
   Caching: junit:junit:4.13.2
   Caching: org.apache.commons:commons-text:1.11.0
   Caching: com.squareup.okhttp3:okhttp:4.12.0
   Caching: com.google.guava:guava:33.0.0-jre
   Caching: org.apache.httpcomponents:httpclient:4.5.14
   Caching: com.fasterxml.jackson.core:jackson-databind:2.16.1
   Caching: io.netty:netty-all:4.1.104.Final
   Caching: org.apache.logging.log4j:log4j-core:2.22.1
   Caching: org.mockito:mockito-core:5.8.0
   Caching: com.h2database:h2:2.2.224
   Caching: org.postgresql:postgresql:42.7.1
   Caching: redis.clients:jedis:5.1.0
   Caching: io.dropwizard:dropwizard-core:4.0.5
   Caching: org.hibernate:hibernate-core:6.4.1.Final
   Caching: io.quarkus:quarkus-core:3.6.4
   Caching: org.springframework.boot:spring-boot-starter-web:3.2.0
   Caching: org.springframework.boot:spring-boot-starter-data-jpa:3.2.0
   Caching: com.amazonaws:aws-java-sdk-s3:1.12.631
   Caching: org.apache.kafka:kafka-clients:3.7.0
   Caching: io.micronaut:micronaut-http-server-netty:4.2.3
   Caching: org.jetbrains.kotlin:kotlin-stdlib:1.9.22
   Caching: org.apache.spark:spark-core_2.13:3.5.3
   Caching: io.grpc:grpc-all:1.60.0
   Caching: org.apache.flink:flink-streaming-java:1.18.0
   Caching: com.google.cloud:google-cloud-storage:2.30.1
   Caching: software.amazon.awssdk:s3:2.21.42
βœ… Cache populated!

🌑️  Running COLD pass to populate dl-test (not benchmarked)...
   [1/32] Cold run: com.google.code.gson:gson:2.10.1
   [2/32] Cold run: org.apache.commons:commons-lang3:3.14.0
   [3/32] Cold run: joda-time:joda-time:2.12.5
   [4/32] Cold run: org.slf4j:slf4j-api:2.0.9
   [5/32] Cold run: com.google.code.findbugs:jsr305:3.0.2
   [6/32] Cold run: org.projectlombok:lombok:1.18.30
   [7/32] Cold run: junit:junit:4.13.2
   [8/32] Cold run: org.apache.commons:commons-text:1.11.0
   [9/32] Cold run: com.squareup.okhttp3:okhttp:4.12.0
   [10/32] Cold run: com.google.guava:guava:33.0.0-jre
   [11/32] Cold run: org.apache.httpcomponents:httpclient:4.5.14
   [12/32] Cold run: com.fasterxml.jackson.core:jackson-databind:2.16.1
   [13/32] Cold run: io.netty:netty-all:4.1.104.Final
   [14/32] Cold run: org.apache.logging.log4j:log4j-core:2.22.1
   [15/32] Cold run: org.mockito:mockito-core:5.8.0
   [16/32] Cold run: com.h2database:h2:2.2.224
   [17/32] Cold run: org.postgresql:postgresql:42.7.1
   [18/32] Cold run: redis.clients:jedis:5.1.0
   [19/32] Cold run: io.dropwizard:dropwizard-core:4.0.5
   [20/32] Cold run: org.hibernate:hibernate-core:6.4.1.Final
   [21/32] Cold run: io.quarkus:quarkus-core:3.6.4
   [22/32] Cold run: org.springframework.boot:spring-boot-starter-web:3.2.0
   [23/32] Cold run: org.springframework.boot:spring-boot-starter-data-jpa:3.2.0
   [24/32] Cold run: com.amazonaws:aws-java-sdk-s3:1.12.631
   [25/32] Cold run: org.apache.kafka:kafka-clients:3.7.0
   [26/32] Cold run: io.micronaut:micronaut-http-server-netty:4.2.3
   [27/32] Cold run: org.jetbrains.kotlin:kotlin-stdlib:1.9.22
   [28/32] Cold run: org.apache.spark:spark-core_2.13:3.5.3
   [29/32] Cold run: io.grpc:grpc-all:1.60.0
   [30/32] Cold run: org.apache.flink:flink-streaming-java:1.18.0
   [31/32] Cold run: com.google.cloud:google-cloud-storage:2.30.1
   [32/32] Cold run: software.amazon.awssdk:s3:2.21.42
βœ… Cold pass complete! dl-test/ now fully populated.

πŸ”₯ Running WARM benchmark pass (this counts!)...

πŸ“¦ Package 1/32


πŸ” Benchmark (WARM): com.google.code.gson:gson:2.10.1
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.12s (1 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.29s (1 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.91s (1 files)

πŸ“Š Results saved: ./bench-warm/com.google.code.gson_gson_2.10.1.json

=====================================

πŸ“¦ Package 2/32


πŸ” Benchmark (WARM): org.apache.commons:commons-lang3:3.14.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (1 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.44s (1 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.73s (1 files)

πŸ“Š Results saved: ./bench-warm/org.apache.commons_commons-lang3_3.14.0.json

=====================================

πŸ“¦ Package 3/32


πŸ” Benchmark (WARM): joda-time:joda-time:2.12.5
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.15s (2 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.40s (1 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.74s (1 files)

πŸ“Š Results saved: ./bench-warm/joda-time_joda-time_2.12.5.json

=====================================

πŸ“¦ Package 4/32


πŸ” Benchmark (WARM): org.slf4j:slf4j-api:2.0.9
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.12s (1 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.38s (1 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.74s (1 files)

πŸ“Š Results saved: ./bench-warm/org.slf4j_slf4j-api_2.0.9.json

=====================================

πŸ“¦ Package 5/32


πŸ” Benchmark (WARM): com.google.code.findbugs:jsr305:3.0.2
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.13s (1 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.41s (1 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.83s (1 files)

πŸ“Š Results saved: ./bench-warm/com.google.code.findbugs_jsr305_3.0.2.json

=====================================

πŸ“¦ Package 6/32


πŸ” Benchmark (WARM): org.projectlombok:lombok:1.18.30
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.13s (1 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.40s (1 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.73s (1 files)

πŸ“Š Results saved: ./bench-warm/org.projectlombok_lombok_1.18.30.json

=====================================

πŸ“¦ Package 7/32


πŸ” Benchmark (WARM): junit:junit:4.13.2
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.13s (2 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.43s (2 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.78s (2 files)

πŸ“Š Results saved: ./bench-warm/junit_junit_4.13.2.json

=====================================

πŸ“¦ Package 8/32


πŸ” Benchmark (WARM): org.apache.commons:commons-text:1.11.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (2 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.34s (2 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.78s (2 files)

πŸ“Š Results saved: ./bench-warm/org.apache.commons_commons-text_1.11.0.json

=====================================

πŸ“¦ Package 9/32


πŸ” Benchmark (WARM): com.squareup.okhttp3:okhttp:4.12.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.13s (8 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.38s (8 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.77s (7 files)

πŸ“Š Results saved: ./bench-warm/com.squareup.okhttp3_okhttp_4.12.0.json

=====================================

πŸ“¦ Package 10/32


πŸ” Benchmark (WARM): com.google.guava:guava:33.0.0-jre
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (7 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.39s (7 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.80s (6 files)

πŸ“Š Results saved: ./bench-warm/com.google.guava_guava_33.0.0-jre.json

=====================================

πŸ“¦ Package 11/32


πŸ” Benchmark (WARM): org.apache.httpcomponents:httpclient:4.5.14
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.13s (4 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.39s (4 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.79s (4 files)

πŸ“Š Results saved: ./bench-warm/org.apache.httpcomponents_httpclient_4.5.14.json

=====================================

πŸ“¦ Package 12/32


πŸ” Benchmark (WARM): com.fasterxml.jackson.core:jackson-databind:2.16.1
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (3 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.42s (3 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.79s (3 files)

πŸ“Š Results saved: ./bench-warm/com.fasterxml.jackson.core_jackson-databind_2.16.1.json

=====================================

πŸ“¦ Package 13/32


πŸ” Benchmark (WARM): io.netty:netty-all:4.1.104.Final
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (31 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.61s (35 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.84s (35 files)

πŸ“Š Results saved: ./bench-warm/io.netty_netty-all_4.1.104.Final.json

=====================================

πŸ“¦ Package 14/32


πŸ” Benchmark (WARM): org.apache.logging.log4j:log4j-core:2.22.1
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.15s (25 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.40s (2 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.79s (2 files)

πŸ“Š Results saved: ./bench-warm/org.apache.logging.log4j_log4j-core_2.22.1.json

=====================================

πŸ“¦ Package 15/32


πŸ” Benchmark (WARM): org.mockito:mockito-core:5.8.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (4 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.41s (4 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.82s (4 files)

πŸ“Š Results saved: ./bench-warm/org.mockito_mockito-core_5.8.0.json

=====================================

πŸ“¦ Package 16/32


πŸ” Benchmark (WARM): com.h2database:h2:2.2.224
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.13s (1 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.39s (1 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.78s (1 files)

πŸ“Š Results saved: ./bench-warm/com.h2database_h2_2.2.224.json

=====================================

πŸ“¦ Package 17/32


πŸ” Benchmark (WARM): org.postgresql:postgresql:42.7.1
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (10 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.39s (2 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.68s (2 files)

πŸ“Š Results saved: ./bench-warm/org.postgresql_postgresql_42.7.1.json

=====================================

πŸ“¦ Package 18/32


πŸ” Benchmark (WARM): redis.clients:jedis:5.1.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.17s (16 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.38s (5 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.73s (5 files)

πŸ“Š Results saved: ./bench-warm/redis.clients_jedis_5.1.0.json

=====================================

πŸ“¦ Package 19/32


πŸ” Benchmark (WARM): io.dropwizard:dropwizard-core:4.0.5
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.19s (90 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.71s (90 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 4.04s (91 files)

πŸ“Š Results saved: ./bench-warm/io.dropwizard_dropwizard-core_4.0.5.json

=====================================

πŸ“¦ Package 20/32


πŸ” Benchmark (WARM): org.hibernate:hibernate-core:6.4.1.Final
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (17 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.46s (17 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.89s (17 files)

πŸ“Š Results saved: ./bench-warm/org.hibernate_hibernate-core_6.4.1.Final.json

=====================================

πŸ“¦ Package 21/32


πŸ” Benchmark (WARM): io.quarkus:quarkus-core:3.6.4
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.16s (35 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.59s (36 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.88s (36 files)

πŸ“Š Results saved: ./bench-warm/io.quarkus_quarkus-core_3.6.4.json

=====================================

πŸ“¦ Package 22/32


πŸ” Benchmark (WARM): org.springframework.boot:spring-boot-starter-web:3.2.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.15s (34 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.48s (34 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.87s (34 files)

πŸ“Š Results saved: ./bench-warm/org.springframework.boot_spring-boot-starter-web_3.2.0.json

=====================================

πŸ“¦ Package 23/32


πŸ” Benchmark (WARM): org.springframework.boot:spring-boot-starter-data-jpa:3.2.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.18s (48 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.52s (48 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.97s (48 files)

πŸ“Š Results saved: ./bench-warm/org.springframework.boot_spring-boot-starter-data-jpa_3.2.0.json

=====================================

πŸ“¦ Package 24/32


πŸ” Benchmark (WARM): com.amazonaws:aws-java-sdk-s3:1.12.631
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (14 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.46s (14 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.87s (14 files)

πŸ“Š Results saved: ./bench-warm/com.amazonaws_aws-java-sdk-s3_1.12.631.json

=====================================

πŸ“¦ Package 25/32


πŸ” Benchmark (WARM): org.apache.kafka:kafka-clients:3.7.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.13s (5 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.39s (5 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.90s (5 files)

πŸ“Š Results saved: ./bench-warm/org.apache.kafka_kafka-clients_3.7.0.json

=====================================

πŸ“¦ Package 26/32


πŸ” Benchmark (WARM): io.micronaut:micronaut-http-server-netty:4.2.3
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (26 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.43s (26 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.79s (26 files)

πŸ“Š Results saved: ./bench-warm/io.micronaut_micronaut-http-server-netty_4.2.3.json

=====================================

πŸ“¦ Package 27/32


πŸ” Benchmark (WARM): org.jetbrains.kotlin:kotlin-stdlib:1.9.22
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.14s (2 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.38s (2 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.82s (2 files)

πŸ“Š Results saved: ./bench-warm/org.jetbrains.kotlin_kotlin-stdlib_1.9.22.json

=====================================

πŸ“¦ Package 28/32


πŸ” Benchmark (WARM): org.apache.spark:spark-core_2.13:3.5.3
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.16s (113 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.69s (117 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 4.88s (118 files)

πŸ“Š Results saved: ./bench-warm/org.apache.spark_spark-core_2.13_3.5.3.json

=====================================

πŸ“¦ Package 29/32


πŸ” Benchmark (WARM): io.grpc:grpc-all:1.60.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.16s (66 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.57s (66 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 4.10s (66 files)

πŸ“Š Results saved: ./bench-warm/io.grpc_grpc-all_1.60.0.json

=====================================

πŸ“¦ Package 30/32


πŸ” Benchmark (WARM): org.apache.flink:flink-streaming-java:1.18.0
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.15s (32 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.64s (32 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 4.17s (32 files)

πŸ“Š Results saved: ./bench-warm/org.apache.flink_flink-streaming-java_1.18.0.json

=====================================

πŸ“¦ Package 31/32


πŸ” Benchmark (WARM): com.google.cloud:google-cloud-storage:2.30.1
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.15s (62 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.67s (62 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 4.09s (62 files)

πŸ“Š Results saved: ./bench-warm/com.google.cloud_google-cloud-storage_2.30.1.json

=====================================

πŸ“¦ Package 32/32


πŸ” Benchmark (WARM): software.amazon.awssdk:s3:2.21.42
=====================================

πŸ”₯ Using warm Maven cache and warm JAR cache...

1️⃣  Testing Chai (warm)...
   βœ“ Chai: 0.15s (44 files)

2️⃣  Testing Maven (warm)...
   βœ“ Maven: 1.65s (43 files)

3️⃣  Testing Gradle (warm)...
   βœ“ Gradle: 3.96s (43 files)

πŸ“Š Results saved: ./bench-warm/software.amazon.awssdk_s3_2.21.42.json

=====================================



βœ… Warm cache benchmark suite complete!
πŸ“ Individual results: ./bench-warm/<package>.json
πŸ“Š Summary: ./bench-warm/_summary.json

πŸ† Final Results (WARM CACHE):
============================================

Tool   Avg   Median Min   Max   Runs
----   ---   ------ ---   ---   ----
Chai   0.14s 0.14s  0.12s 0.19s   32
Maven  1.47s 1.42s  1.29s 1.71s   32
Gradle 3.88s 3.82s  3.68s 4.88s   32


πŸš€ Performance Analysis (WARM):
   Average: Chai is 10.5x faster than Maven (0.14s vs 1.47s)
   Average: Chai is 27.71x faster than Gradle (0.14s vs 3.88s)

   Median: Chai is 10.14x faster than Maven (0.14s vs 1.42s)
   Median: Chai is 27.29x faster than Gradle (0.14s vs 3.82s)

πŸ’‘ Per-package speedup (WARM):

Package                                                     Chai  Maven Gradle vs Maven vs Gradle
-------                                                     ----  ----- ------ -------- ---------
io.netty:netty-all:4.1.104.Final                            0.14s 1.61s 3.84s  11.4x    27.1x
com.google.cloud:google-cloud-storage:2.30.1                0.15s 1.67s 4.09s  11.2x    27.4x
org.slf4j:slf4j-api:2.0.9                                   0.12s 1.38s 3.74s  11.1x    30x
junit:junit:4.13.2                                          0.13s 1.43s 3.78s  11.1x    29.4x
org.apache.flink:flink-streaming-java:1.18.0                0.15s 1.64s 4.17s  10.9x    27.5x
software.amazon.awssdk:s3:2.21.42                           0.15s 1.65s 3.96s  10.8x    25.8x
com.google.code.findbugs:jsr305:3.0.2                       0.13s 1.41s 3.83s  10.8x    29.3x
org.projectlombok:lombok:1.18.30                            0.13s 1.4s  3.73s  10.7x    28.7x
com.h2database:h2:2.2.224                                   0.13s 1.39s 3.78s  10.7x    29x
org.apache.commons:commons-lang3:3.14.0                     0.14s 1.44s 3.73s  10.6x    27.4x
com.amazonaws:aws-java-sdk-s3:1.12.631                      0.14s 1.46s 3.87s  10.6x    28.2x
com.squareup.okhttp3:okhttp:4.12.0                          0.13s 1.38s 3.77s  10.6x    28.9x
org.apache.httpcomponents:httpclient:4.5.14                 0.13s 1.39s 3.79s  10.5x    28.7x
com.google.code.gson:gson:2.10.1                            0.12s 1.29s 3.91s  10.4x    31.8x
org.hibernate:hibernate-core:6.4.1.Final                    0.14s 1.46s 3.89s  10.4x    27.9x
org.apache.spark:spark-core_2.13:3.5.3                      0.16s 1.69s 4.88s  10.4x    30x
org.apache.kafka:kafka-clients:3.7.0                        0.13s 1.39s 3.9s   10.4x    29.2x
com.fasterxml.jackson.core:jackson-databind:2.16.1          0.14s 1.42s 3.79s  10.3x    27.4x
io.micronaut:micronaut-http-server-netty:4.2.3              0.14s 1.43s 3.79s  10.3x    27.4x
org.jetbrains.kotlin:kotlin-stdlib:1.9.22                   0.14s 1.38s 3.82s  10.2x    28.2x
org.mockito:mockito-core:5.8.0                              0.14s 1.41s 3.82s  10.2x    27.7x
io.quarkus:quarkus-core:3.6.4                               0.16s 1.59s 3.88s  10.2x    24.7x
com.google.guava:guava:33.0.0-jre                           0.14s 1.39s 3.8s   10x      27.2x
org.apache.commons:commons-text:1.11.0                      0.14s 1.34s 3.78s  9.9x     27.8x
org.springframework.boot:spring-boot-starter-web:3.2.0      0.15s 1.48s 3.87s  9.9x     26x
org.postgresql:postgresql:42.7.1                            0.14s 1.39s 3.68s  9.8x     26x
io.grpc:grpc-all:1.60.0                                     0.16s 1.57s 4.1s   9.7x     25.5x
joda-time:joda-time:2.12.5                                  0.15s 1.4s  3.74s  9.6x     25.6x
org.apache.logging.log4j:log4j-core:2.22.1                  0.15s 1.4s  3.79s  9.2x     24.8x
io.dropwizard:dropwizard-core:4.0.5                         0.19s 1.71s 4.04s  8.8x     20.9x
org.springframework.boot:spring-boot-starter-data-jpa:3.2.0 0.18s 1.52s 3.97s  8.5x     22.3x
redis.clients:jedis:5.1.0                                   0.17s 1.38s 3.73s  8x       21.5x


πŸ“ˆ Distribution by package size:

Category                                    Packages
--------                                    --------
{Small (1-5), Medium (6-20), Large (21-50)}       20
Large (21-50)                                      8
Very Large (50+)                                   4

lepichudoesdev@ohiodeck in chai_deps_test via πŸ¦€ on master in 1029.7s !!!
$> 
@LePichu
Copy link
Author

LePichu commented Feb 7, 2026

UPDATE (08/02/2025 - 4:01AM)

I did some more optimization, it's even faster now and does proper Parallelism baked into Maven itself, at least I think it is finally; can definitely tinker here and there, but I think it is at the limit, besides that, here are the new tables:

Cold Cache Performance

Tool Avg Median Min Max
Chai 2.29s 1s 0.3s 15.96s
Gradle 6.51s 4.99s 4.42s 22.09s
Maven 10.97s 9.14s 7.43s 29.57s

Warm Cache Performance

Tool Avg Median Min Max
Chai 0.14s 0.14s 0.12s 0.19s
Gradle 3.88s 3.82s 3.68s 4.88s
Maven 1.47s 1.42s 1.29s 1.71s

I am really happy with the new benches, at least it is no longer slower than Gradle on bigger packages; finally maintaining a lead of at least 1.4x, that's fine with me.

βœ… Benchmark suite complete!
πŸ“ Individual results: ./bench/<package>.json
πŸ“Š Summary: ./bench/_summary.json

πŸ† Final Results:
============================================

Tool   Avg    Median Min   Max    Runs
----   ---    ------ ---   ---    ----
Chai   2.29s  1s     0.3s  15.96s   32
Gradle 6.51s  4.99s  4.42s 22.09s   32
Maven  10.97s 9.14s  7.43s 29.57s   32


πŸš€ Performance Analysis:
   Average: Chai is 4.79x faster than Maven (2.29s vs 10.97s)
   Average: Chai is 2.84x faster than Gradle (2.29s vs 6.51s)

   Median: Chai is 9.14x faster than Maven (1s vs 9.14s)
   Median: Chai is 4.99x faster than Gradle (1s vs 4.99s)

πŸ’‘ Per-package speedup:

Package                                                     Chai   Maven  Gradle vs Maven vs Gradle
-------                                                     ----   -----  ------ -------- ---------
com.google.code.findbugs:jsr305:3.0.2                       0.3s   8.87s  4.48s  29.4x    14.9x
org.slf4j:slf4j-api:2.0.9                                   0.33s  8.05s  4.46s  24.4x    13.5x
org.jetbrains.kotlin:kotlin-stdlib:1.9.22                   0.4s   8.69s  4.72s  21.6x    11.7x
com.h2database:h2:2.2.224                                   0.44s  9.18s  4.63s  21x      10.6x
org.apache.commons:commons-lang3:3.14.0                     0.43s  8.62s  4.63s  20.1x    10.8x
org.projectlombok:lombok:1.18.30                            0.4s   8s     4.52s  19.9x    11.3x
joda-time:joda-time:2.12.5                                  0.38s  7.43s  4.5s   19.7x    11.9x
junit:junit:4.13.2                                          0.43s  7.88s  4.54s  18.2x    10.5x
com.google.code.gson:gson:2.10.1                            0.52s  8.89s  4.42s  17.1x    8.5x
com.squareup.okhttp3:okhttp:4.12.0                          0.56s  9.04s  4.87s  16.1x    8.7x
com.google.guava:guava:33.0.0-jre                           0.61s  9.36s  4.86s  15.4x    8x
io.netty:netty-all:4.1.104.Final                            0.84s  12.38s 4.96s  14.7x    5.9x
org.apache.httpcomponents:httpclient:4.5.14                 0.61s  8.8s   4.79s  14.4x    7.8x
com.fasterxml.jackson.core:jackson-databind:2.16.1          0.75s  8.78s  5.62s  11.7x    7.5x
org.apache.commons:commons-text:1.11.0                      0.71s  7.95s  4.81s  11.1x    6.7x
org.mockito:mockito-core:5.8.0                              0.97s  8.61s  5.03s  8.9x     5.2x
redis.clients:jedis:5.1.0                                   1.03s  8.67s  4.92s  8.4x     4.8x
org.postgresql:postgresql:42.7.1                            1.22s  9.31s  4.75s  7.6x     3.9x
io.micronaut:micronaut-http-server-netty:4.2.3              1.26s  9.11s  5.63s  7.2x     4.5x
com.amazonaws:aws-java-sdk-s3:1.12.631                      1.31s  9.35s  5.82s  7.1x     4.4x
org.apache.kafka:kafka-clients:3.7.0                        1.65s  8.87s  5.9s   5.4x     3.6x
org.hibernate:hibernate-core:6.4.1.Final                    2.13s  10.24s 6.35s  4.8x     3x
io.quarkus:quarkus-core:3.6.4                               2.59s  12.16s 7.19s  4.7x     2.8x
org.springframework.boot:spring-boot-starter-web:3.2.0      2.75s  11.95s 8.41s  4.4x     3.1x
software.amazon.awssdk:s3:2.21.42                           3.26s  10.97s 6.7s   3.4x     2.1x
io.grpc:grpc-all:1.60.0                                     5.19s  16.15s 10.02s 3.1x     1.9x
io.dropwizard:dropwizard-core:4.0.5                         4.45s  13.37s 9.16s  3x       2.1x
com.google.cloud:google-cloud-storage:2.30.1                7.62s  23.2s  8.94s  3x       1.2x
org.springframework.boot:spring-boot-starter-data-jpa:3.2.0 4.68s  13.84s 10.48s 3x       2.2x
org.apache.logging.log4j:log4j-core:2.22.1                  3.33s  9.61s  5.38s  2.9x     1.6x
org.apache.flink:flink-streaming-java:1.18.0                6.03s  14.26s 10.72s 2.4x     1.8x
org.apache.spark:spark-core_2.13:3.5.3                      15.96s 29.57s 22.09s 1.9x     1.4x


πŸ“ˆ Distribution by package size:

Category                                    Packages
--------                                    --------
{Small (1-5), Medium (6-20), Large (21-50)}       20
Large (21-50)                                      8
Very Large (50+)                                   4


-------------------------------------------------------------------------------------


βœ… Warm cache benchmark suite complete!
πŸ“ Individual results: ./bench-warm/<package>.json
πŸ“Š Summary: ./bench-warm/_summary.json

πŸ† Final Results (WARM CACHE):
============================================

Tool   Avg   Median Min   Max   Runs
----   ---   ------ ---   ---   ----
Chai   0.14s 0.14s  0.12s 0.19s   32
Maven  1.47s 1.42s  1.29s 1.71s   32
Gradle 3.88s 3.82s  3.68s 4.88s   32


πŸš€ Performance Analysis (WARM):
   Average: Chai is 10.5x faster than Maven (0.14s vs 1.47s)
   Average: Chai is 27.71x faster than Gradle (0.14s vs 3.88s)

   Median: Chai is 10.14x faster than Maven (0.14s vs 1.42s)
   Median: Chai is 27.29x faster than Gradle (0.14s vs 3.82s)

πŸ’‘ Per-package speedup (WARM):

Package                                                     Chai  Maven Gradle vs Maven vs Gradle
-------                                                     ----  ----- ------ -------- ---------
io.netty:netty-all:4.1.104.Final                            0.14s 1.61s 3.84s  11.4x    27.1x
com.google.cloud:google-cloud-storage:2.30.1                0.15s 1.67s 4.09s  11.2x    27.4x
org.slf4j:slf4j-api:2.0.9                                   0.12s 1.38s 3.74s  11.1x    30x
junit:junit:4.13.2                                          0.13s 1.43s 3.78s  11.1x    29.4x
org.apache.flink:flink-streaming-java:1.18.0                0.15s 1.64s 4.17s  10.9x    27.5x
software.amazon.awssdk:s3:2.21.42                           0.15s 1.65s 3.96s  10.8x    25.8x
com.google.code.findbugs:jsr305:3.0.2                       0.13s 1.41s 3.83s  10.8x    29.3x
org.projectlombok:lombok:1.18.30                            0.13s 1.4s  3.73s  10.7x    28.7x
com.h2database:h2:2.2.224                                   0.13s 1.39s 3.78s  10.7x    29x
org.apache.commons:commons-lang3:3.14.0                     0.14s 1.44s 3.73s  10.6x    27.4x
com.amazonaws:aws-java-sdk-s3:1.12.631                      0.14s 1.46s 3.87s  10.6x    28.2x
com.squareup.okhttp3:okhttp:4.12.0                          0.13s 1.38s 3.77s  10.6x    28.9x
org.apache.httpcomponents:httpclient:4.5.14                 0.13s 1.39s 3.79s  10.5x    28.7x
com.google.code.gson:gson:2.10.1                            0.12s 1.29s 3.91s  10.4x    31.8x
org.hibernate:hibernate-core:6.4.1.Final                    0.14s 1.46s 3.89s  10.4x    27.9x
org.apache.spark:spark-core_2.13:3.5.3                      0.16s 1.69s 4.88s  10.4x    30x
org.apache.kafka:kafka-clients:3.7.0                        0.13s 1.39s 3.9s   10.4x    29.2x
com.fasterxml.jackson.core:jackson-databind:2.16.1          0.14s 1.42s 3.79s  10.3x    27.4x
io.micronaut:micronaut-http-server-netty:4.2.3              0.14s 1.43s 3.79s  10.3x    27.4x
org.jetbrains.kotlin:kotlin-stdlib:1.9.22                   0.14s 1.38s 3.82s  10.2x    28.2x
org.mockito:mockito-core:5.8.0                              0.14s 1.41s 3.82s  10.2x    27.7x
io.quarkus:quarkus-core:3.6.4                               0.16s 1.59s 3.88s  10.2x    24.7x
com.google.guava:guava:33.0.0-jre                           0.14s 1.39s 3.8s   10x      27.2x
org.apache.commons:commons-text:1.11.0                      0.14s 1.34s 3.78s  9.9x     27.8x
org.springframework.boot:spring-boot-starter-web:3.2.0      0.15s 1.48s 3.87s  9.9x     26x
org.postgresql:postgresql:42.7.1                            0.14s 1.39s 3.68s  9.8x     26x
io.grpc:grpc-all:1.60.0                                     0.16s 1.57s 4.1s   9.7x     25.5x
joda-time:joda-time:2.12.5                                  0.15s 1.4s  3.74s  9.6x     25.6x
org.apache.logging.log4j:log4j-core:2.22.1                  0.15s 1.4s  3.79s  9.2x     24.8x
io.dropwizard:dropwizard-core:4.0.5                         0.19s 1.71s 4.04s  8.8x     20.9x
org.springframework.boot:spring-boot-starter-data-jpa:3.2.0 0.18s 1.52s 3.97s  8.5x     22.3x
redis.clients:jedis:5.1.0                                   0.17s 1.38s 3.73s  8x       21.5x


πŸ“ˆ Distribution by package size:

Category                                    Packages
--------                                    --------
{Small (1-5), Medium (6-20), Large (21-50)}       20
Large (21-50)                                      8
Very Large (50+)                                   4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment