Skip to content

Instantly share code, notes, and snippets.

@LePichu
Last active February 4, 2026 10:43
Show Gist options
  • Select an option

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

Select an option

Save LePichu/ddeb629fa7e0ee57516fce6eee7a30e8 to your computer and use it in GitHub Desktop.
lepichudoesdev@ohiodeck in chai_deps_test via πŸ¦€ on master in 0.0s !!!
$> ./Invoke-Benchmark.ps1
πŸš€ Starting benchmark suite for 12 packages...
============================================

πŸ“¦ Package 1/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 2/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 3/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 4/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 5/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 6/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 7/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 8/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 9/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 10/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 11/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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

πŸ“¦ Package 12/12


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

🧹 Clearing all caches...

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

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

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

🧹 Post-test cleanup...

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

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



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

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

Tool   Avg Time Runs
----   -------- ----
Chai   2.84s      12
Gradle 5.84s      12
Maven  12.15s     12


πŸš€ Performance Analysis:
   Chai is 4.28x faster than Maven (2.84s vs 12.15s avg)
   Chai is 2.06x faster than Gradle (2.84s vs 5.84s avg)

πŸ’‘ Per-package speedup:

Package                                                     vs Maven vs Gradle
-------                                                     -------- ---------
com.fasterxml.jackson.core:jackson-databind:2.16.1          14.2x    9.9x
com.google.code.gson:gson:2.10.1                            19.3x    10.2x
com.google.guava:guava:33.0.0-jre                           15.1x    7.9x
com.squareup.okhttp3:okhttp:4.12.0                          15.3x    9.1x
io.grpc:grpc-all:1.60.0                                     3.3x     1.5x
io.quarkus:quarkus-core:3.6.4                               6.1x     3.1x
org.apache.commons:commons-lang3:3.14.0                     18x      9.4x
org.apache.kafka:kafka-clients:3.7.0                        6x       3.1x
org.apache.spark:spark-core_2.13:3.5.3                      1.8x     0.6x
org.hibernate:hibernate-core:6.4.1.Final                    6.5x     2.8x
org.springframework.boot:spring-boot-starter-data-jpa:3.2.0 4.3x     2.2x
org.springframework.boot:spring-boot-starter-web:3.2.0      4.3x     2.5x

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

LePichu commented Feb 3, 2026

NOTE: This benchmarks takes into account the amount of time it takes to download EVERYTHING FROM SCRATCH, NOTHING is cached between runs, this does not mean a lot for cold boot syncing of dependencies, but think about incrementally adding dependencies; you are essentially adding everything quickly without the overhead of launching the JVM; something both Gradle (also known as: "fuckinguselesspieceofshit" in most circles) and Maven need to do and have a fixed cost of doing so, implying you can add a new dependency in a few milliseconds instead of a few solid seconds.

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