Last benchmarked at: Nov 27, 2022, 1:55 PM (daily updated).
This benchmark compares the performance of npm, pnpm, Yarn Classic, and Yarn PnP (check Yarn's benchmarks for any other Yarn modes that are not included here).
Here's a quick explanation of how these tests could apply to the real world:
clean install: How long it takes to run a totally fresh install: no lockfile present, no packages in the cache, no
with node_modules: After the first install is done, the install command is run again.
with lockfile: When a repo is fetched by a developer and installation is first run.
with cache: Same as the one above, but the package manager doesn't have a lockfile to work from.
with lockfile: When an installation runs on a CI server.
with node_modules: The lockfile is deleted and the install command is run again.
with lockfile: The package cache is deleted and the install command is run again.
with node_modules: The package cache and the lockfile is deleted and the install command is run again.
update: Updating your dependencies by changing the version in the
package.jsonand running the install command again.
Lots of Files
The reason pnpm is fast
Why is pnpm so crazy fast compared to other "traditional" package managers?
pnpm doesn't have blocking stages of installation. Each dependency has its own stages and the next stage starts as soon as possible.