diff --git a/README.md b/README.md index 1d20c661f..c7f10a905 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ ## Why Try It -**[Fast installs](https://aube.jdx.dev/benchmarks).** Warm installs are about 3x faster than pnpm and ~1.8x faster than Bun in the current benchmarks. Repeat test commands run up to 42x faster than pnpm and up to 8x faster than Bun. +**[Fast installs](https://aube.jdx.dev/benchmarks).** Warm installs are about 5x faster than pnpm and about 2x faster than Bun in the current benchmarks. Repeat test commands run up to 34x faster than pnpm and up to 4x faster than Bun. **[Existing lockfiles](https://aube.jdx.dev/package-manager/lockfiles).** Reads and writes `pnpm-lock.yaml`, `package-lock.json`, `npm-shrinkwrap.json`, `yarn.lock`, and `bun.lock` in place. diff --git a/benchmarks/results.json b/benchmarks/results.json index ff1426988..5b9a5ce95 100644 --- a/benchmarks/results.json +++ b/benchmarks/results.json @@ -1,5 +1,5 @@ { - "updated": "2026-06-17T07:07:16.492Z", + "updated": "2026-06-22T07:17:06.039Z", "unit": "ms", "managers": [ "aube", @@ -10,10 +10,10 @@ "yarn" ], "versions": { - "aube": "1.22.0", + "aube": "1.23.0", "bun": "1.3.14", "deno": "2.8.3", - "pnpm": "11.7.0", + "pnpm": "11.8.0", "npm": "11.9.0", "yarn": "4.17.0", "node": "24.14.0" @@ -23,55 +23,55 @@ "key": "gvs-warm", "label": "Fresh install (warm cache)", "values": { - "aube": 787, - "bun": 1412, - "deno": 1488, - "pnpm": 2074, - "npm": 7089, - "yarn": 10121 + "aube": 669, + "bun": 1669, + "deno": 1439, + "pnpm": 3236, + "npm": 9027, + "yarn": 10051 }, "stats": { "aube": { - "text": "0.787s ± 0.099s", - "mean": 0.78663480438, - "stddev": 0.09869898465250443, - "min": 0.6303928377800001, - "max": 0.8931504387800001 + "text": "0.669s ± 0.126s", + "mean": 0.66873830548, + "stddev": 0.12643255867406378, + "min": 0.47116141228, + "max": 0.85268332528 }, "bun": { - "text": "1.412s ± 0.398s", - "mean": 1.4123336615800002, - "stddev": 0.39766384978358316, - "min": 0.94546258168, - "max": 1.93798175468 + "text": "1.669s ± 0.443s", + "mean": 1.6689852103200002, + "stddev": 0.4430303260883932, + "min": 1.32641489012, + "max": 2.3514629261200004 }, "deno": { - "text": "1.488s ± 0.058s", - "mean": 1.48769992002, - "stddev": 0.05785699707759507, - "min": 1.38487824092, - "max": 1.59236659692 + "text": "1.439s ± 0.084s", + "mean": 1.4389346769000002, + "stddev": 0.08410612261778883, + "min": 1.3148019361, + "max": 1.6115170551 }, "pnpm": { - "text": "2.074s ± 0.098s", - "mean": 2.07362577056, - "stddev": 0.09786902009958909, - "min": 1.90451859516, - "max": 2.15037381716 + "text": "3.236s ± 0.057s", + "mean": 3.23611922194, + "stddev": 0.056905824029511616, + "min": 3.17447403374, + "max": 3.2963870027400004 }, "npm": { - "text": "7.089s ± 0.239s", - "mean": 7.08947532553, - "stddev": 0.23932295667936584, - "min": 6.77752241178, - "max": 7.34166900878 + "text": "9.027s ± 0.204s", + "mean": 9.027306160829998, + "stddev": 0.20378123569433476, + "min": 8.79943514108, + "max": 9.24828733908 }, "yarn": { - "text": "10.121s ± 0.542s", - "mean": 10.120993643590001, - "stddev": 0.5422199630715377, - "min": 9.373613710339999, - "max": 10.63260105634 + "text": "10.051s ± 0.055s", + "mean": 10.05107272032, + "stddev": 0.05533520661179421, + "min": 10.004097872320001, + "max": 10.12994471632 } } }, @@ -79,55 +79,55 @@ "key": "gvs-cold", "label": "Fresh install (cold cache)", "values": { - "aube": 6821, - "bun": 5429, - "deno": 7964, - "pnpm": 11206, - "npm": 9054, - "yarn": 12186 + "aube": 7592, + "bun": 5702, + "deno": 8036, + "pnpm": 12623, + "npm": 10331, + "yarn": 15713 }, "stats": { "aube": { - "text": "6.821s ± 0.236s", - "mean": 6.821013284619999, - "stddev": 0.23597273800292956, - "min": 6.45677171102, - "max": 7.20758266402 + "text": "7.592s ± 0.310s", + "mean": 7.591701027159999, + "stddev": 0.3098843531248597, + "min": 7.091654128959999, + "max": 8.13673811396 }, "bun": { - "text": "5.429s ± 0.482s", - "mean": 5.42879534192, - "stddev": 0.4816845833148703, - "min": 4.89675974912, - "max": 6.07467742412 + "text": "5.702s ± 0.324s", + "mean": 5.70198351112, + "stddev": 0.32435770728571767, + "min": 5.18641016352, + "max": 6.10477910652 }, "deno": { - "text": "7.964s ± 0.282s", - "mean": 7.963836432119999, - "stddev": 0.2822265449313577, - "min": 7.6416780184199995, - "max": 8.68967690142 + "text": "8.036s ± 0.263s", + "mean": 8.036024045100001, + "stddev": 0.26269607548609364, + "min": 7.5596084923, + "max": 8.3705779813 }, "pnpm": { - "text": "11.206s ± 0.108s", - "mean": 11.205998527359998, - "stddev": 0.10770942710592073, - "min": 11.04485898436, - "max": 11.28648550736 + "text": "12.623s ± 0.248s", + "mean": 12.62272946134, + "stddev": 0.2475997701806175, + "min": 12.29092792854, + "max": 12.85474521654 }, "npm": { - "text": "9.054s ± 0.030s", - "mean": 9.05428801998, - "stddev": 0.029934559975630978, - "min": 9.02635029298, - "max": 9.08124524298 + "text": "10.331s ± 0.379s", + "mean": 10.33091205445, + "stddev": 0.3789886122666813, + "min": 9.9667411217, + "max": 10.7611204157 }, "yarn": { - "text": "12.186s ± 0.088s", - "mean": 12.185953595850002, - "stddev": 0.08766696403232603, - "min": 12.1178385486, - "max": 12.3124635026 + "text": "15.713s ± 0.219s", + "mean": 15.713210894860001, + "stddev": 0.2194075200947587, + "min": 15.44277852736, + "max": 15.93498321836 } } }, @@ -135,55 +135,55 @@ "key": "install-test", "label": "npm install && npm run test", "values": { - "aube": 8, - "bun": 64, - "deno": 49, - "pnpm": 333, - "npm": 679, - "yarn": 1496 + "aube": 12, + "bun": 47, + "deno": 80, + "pnpm": 406, + "npm": 836, + "yarn": 1967 }, "stats": { "aube": { - "text": "0.008s ± 0.000s", - "mean": 0.007842927660000002, - "stddev": 0.00035630390767073185, - "min": 0.007308576760000001, - "max": 0.008335285760000002 + "text": "0.012s ± 0.001s", + "mean": 0.01161350694, + "stddev": 0.00102519098116849, + "min": 0.00966955584, + "max": 0.01314563084 }, "bun": { - "text": "0.064s ± 0.002s", - "mean": 0.06415385802, - "stddev": 0.0016657410236556403, - "min": 0.06189917532, - "max": 0.06658387932 + "text": "0.047s ± 0.003s", + "mean": 0.047401527900000004, + "stddev": 0.002655320122584461, + "min": 0.0433575077, + "max": 0.0520607337 }, "deno": { - "text": "0.049s ± 0.002s", - "mean": 0.049173910300000005, - "stddev": 0.0015390397122918347, - "min": 0.047172050300000004, - "max": 0.0519180133 + "text": "0.080s ± 0.004s", + "mean": 0.07977652276, + "stddev": 0.0037779361882141725, + "min": 0.07152618006000001, + "max": 0.08480952906000001 }, "pnpm": { - "text": "0.333s ± 0.005s", - "mean": 0.3333364851, - "stddev": 0.004575241131284098, - "min": 0.32779528370000005, - "max": 0.34007466970000005 + "text": "0.406s ± 0.013s", + "mean": 0.40622181370000005, + "stddev": 0.012910339696410473, + "min": 0.3897602985, + "max": 0.4217575505 }, "npm": { - "text": "0.679s ± 0.013s", - "mean": 0.67916467565, - "stddev": 0.01306822040207285, - "min": 0.6660237129000001, - "max": 0.6936654089000001 + "text": "0.836s ± 0.014s", + "mean": 0.83566875185, + "stddev": 0.014098031139826052, + "min": 0.8203777176, + "max": 0.8506290356 }, "yarn": { - "text": "1.496s ± 0.004s", - "mean": 1.4961817436899998, - "stddev": 0.004094899311528802, - "min": 1.49311656744, - "max": 1.50196793944 + "text": "1.967s ± 0.103s", + "mean": 1.96725656448, + "stddev": 0.10284465728776948, + "min": 1.86166120798, + "max": 2.10606413998 } } }