JavaScript package manager benchmarks
Install and run times for JavaScript tools, measured nightly on identical runners and published in full, failures included.
Set up your agent
Every page on this site is also available as Markdown, and /llms.txt indexes them all. Paste this prompt into your agent to point it at the benchmarks:
Help me use the vlt benchmarks. Start by reading https://benchmarks.vlt.io/llms.txt, which lists every page of the site and explains how to read the results. Every page is available as Markdown: append .md to its URL, or request the page with an Accept: text/markdown header. Query parameters apply to the Markdown as they do to the page: https://benchmarks.vlt.io/package-managers/clean.md?fixture=babylon is that scenario on one fixture. https://benchmarks.vlt.io/llms-full.txt holds every scenario of the latest run, at the default view, in one file.
1. For structured data, use the JSON API, described at https://benchmarks.vlt.io/openapi.json: /api/v1/runs, /api/v1/catalog, /api/v1/{section}/{scenario} (the full report, same parameters as the page) and /api/v1/{section}/{scenario}/history (the trend, failures and coverage).
2. To query it as tools, add the read-only MCP server with `claude mcp add --transport http vlt-benchmarks https://benchmarks.vlt.io/mcp`. Its tools are list_benchmarks, get_results, get_history and compare_scenarios.
3. When you report a result: total time is the measurement and the ranking. A DNF (the run exited non-zero) is never counted as a time, a tool that did not complete every fixture is not ranked against tools that did, and derived metrics are labelled "derived".
Only quote numbers that appear on the site, and name a run by its date.llms.txt
An index of every page on this site, for agents to read before anything else.
Markdown pages
Add .md to any page's URL for a plain Markdown copy, or read every scenario of the latest run in one file.
JSON API
Runs, the catalog, and each scenario's full report and history, described by an OpenAPI document.
MCP server
Read-only tools at /mcp to list benchmarks, get results and history, and compare scenarios.
Latest results
From the nightly run of . Each finding is the headline of its benchmark's report.
RegistriesRegistries, scenario registry-clean
- registry.vlt.io: 17.5s
- registry.npmjs.org: 30.2s, the baseline
- JFrog Artifactory: 39.5s
- GitHub Packages: 72.4s
- AWS CodeArtifact: 93.4s
- Cloudsmith: 96.9s
- 6tools
- 6fixtures
- 2scenarios
Package managersPackage managers, scenario clean
upm is fastest at 796ms, 34.3× faster than npm.
Not drawn: yarn (zpm), which did not complete every fixture. And 2 more in the full ranking.
- upm: 796ms
- bun: 1.91s
- aube: 3.26s
- pnpm: 4.23s
- vlt: 4.28s
- deno: 4.35s
- npm: 27.3s, the baseline
- 10tools
- 6fixtures
- 10scenarios
Task runnersTask runners, scenario build
npm, the baseline, is fastest at 17.3s.
Not drawn: nx, which did not complete every fixture. And 6 more in the full ranking.
- npm: 17.3s, the baseline
- yarn: 17.5s
- node: 17.7s
- turborepo: 17.7s
- yarn (zpm): 17.8s
- bun: 17.9s
- 13tools
- 1fixture
- 3scenarios