GithubHelp home page GithubHelp logo

jamiemason / npm-cache-benchmark Goto Github PK

View Code? Open in Web Editor NEW

This project forked from siddharthkp/npm-cache-benchmark

54.0 5.0 8.0 435.32 MB

January 2022 Benchmarks of npm, pnpm, yarn, and shrinkpack install times.

License: MIT License

JavaScript 98.45% Shell 1.55%
benchmark benchmarks npm pnpm yarn shrinkpack npm-install yarn-install

npm-cache-benchmark's Introduction

npm install benchmarks

Benchmarks of npm, pnpm, yarn, and shrinkpack install times.

I ran these to understand roughly how well shrinkpack performs, please also see the Benchmarks maintained by pnpm (https://pnpm.io/benchmarks) and yarn (https://yarnpkg.com/benchmarks).

Running the benchmarks

npm install -g [email protected]
npm install -g [email protected]
npm install -g [email protected]
npm install -g [email protected]
git clone https://github.com/JamieMason/npm-cache-benchmark.git
cd npm-cache-benchmark
node index.js && node report.js

Results

Installer Average over 5 runs
[email protected] (offline) 6.79
[email protected] (offline) 7.38
[email protected] (with shrinkpack) 12.07
[email protected] 14.61
[email protected] (offline) 16.20
[email protected] 18.28
[email protected] 29.85

Full results can be found in results.json. Benchmark was run on macOS Monterey 12.0.1 on an early 2015 Macbook Air:

Model Name: MacBook Air
Model Identifier: MacBookAir7,2
Processor Name: Dual-Core Intel Core i7
Processor Speed:  2.2 GHz
Number of Processors: 1
Total Number of Cores:  2
L2 Cache (per Core):  256 KB
L3 Cache: 4 MB
Hyper-Threading Technology: Enabled
Memory: 8 GB

npm-cache-benchmark's People

Contributors

jamiemason avatar siddharthkp avatar akkuma avatar

Stargazers

Roman avatar Aleksey Zavorotkov avatar Mehdy Dara avatar Peter W avatar Chris Watson avatar Shuma Yoshioka avatar Philipp Kretzschmar avatar Denis Denisov avatar Ilya Mokin avatar Phil Rukin avatar Felix Billon avatar Jean-Baptiste Pionnier avatar Kenta Takeuchi avatar Andi N. Dirgantara avatar Alexandre Nicastro avatar Alex Kale avatar Victor Perron avatar Orestis Ioakeimidis avatar Dmitry Shvalyov avatar Artem Denysov avatar Eugen Soloviov avatar Valentin Agachi avatar Zach Leatherman avatar Piotr Kowalski avatar Davy Duperron avatar Adam Bradley avatar Yannick Huard avatar Byungjik Roh avatar Burkhard Reffeling avatar Vladimír Volek avatar Kevin Chapelier avatar Porramate Lim avatar Jake Niemiec avatar Jeff Escalante avatar Oleg Solomko avatar Igor Redchuk avatar Aaron McAdam avatar Pedro Monad avatar Eugene Melnikov avatar  avatar Vincent Ogloblinsky avatar Zmeecer Yarashevich avatar José Manuel Rosa Moncayo avatar Ryo Nitami  avatar Masaya Kamakura avatar Umar Hansa avatar Jim Cummins avatar Karl Horky avatar Tom Byrer avatar William Pickens avatar Adrian Falleiro avatar Jiri Spac avatar Vladimir Starkov avatar Dan Spencer avatar Loïc Mahieu avatar

Watchers

 avatar James Cloos avatar Shuma Yoshioka avatar  avatar  avatar

npm-cache-benchmark's Issues

Looking for Maintainer

I am no longer maintaining this project and am happy to transfer ownership if anyone is interested.

npm@5: Maximum call stack size exceeded

$ node index.js
Run 1
npm 4.x: 20.67s (average 20.67s)
npm 4.x (cached): 15.98s (average 15.98s)
npm 4.x (shrinkpacked): 13.46s (average 13.46s)
npm 4.x (shrinkpacked, compressed): 13.51s (average 13.51s)
yarn: 11.33s (average 11.33s)
yarn --offline: 5.47s (average 5.47s)
npm 5.x: 8.71s (average 8.71s)
npm 5.x (cached): 7.48s (average 7.48s)
npm notice BETA npm5 is beta software. Please see https://github.com/npm/npm/issues/16510 for known issues, and please file a new one if you find something new.
npm ERR! Maximum call stack size exceeded
$ node --version
v7.10.0
$ npm5 --version
5.0.0-beta.36
$ npm --version
4.6.1
$ yarn --version
0.24.6
$ git lg
*   dc9dade - (HEAD -> master, origin/master, origin/HEAD) Merge branch 'Akkuma-master' (2 weeks ago) <Jamie Mason>
npm debug log

0 info it worked if it ends with ok
1 verbose cli [ '/Users/jess.telford/.nvm/versions/node/v7.10.0/bin/node',
1 verbose cli   '/Users/jess.telford/.nvm/versions/node/v7.10.0/bin/npm5',
1 verbose cli   'install' ]
2 info using [email protected]
3 info using [email protected]
4 notice BETA npm5 is beta software. Please see https://github.com/npm/npm/issues/16510 for known issues, and please file a new one if you find something new.
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly install normalizeTree
8 silly install loadIdealTree
9 silly install cloneCurrentTreeToIdealTree
10 silly install loadShrinkwrap
11 verbose pacote file manifest for accepts@file:node_shrinkwrap/accepts-1.3.3.tar fetched in 29ms
12 verbose pacote file manifest for ajv@file:node_shrinkwrap/ajv-4.11.8.tar fetched in 32ms
13 verbose pacote file manifest for asap@file:node_shrinkwrap/asap-2.0.5.tar fetched in 5ms
14 verbose pacote file manifest for asn1@file:node_shrinkwrap/asn1-0.2.3.tar fetched in 7ms
15 verbose pacote file manifest for assert-plus@file:node_shrinkwrap/assert-plus-0.2.0.tar fetched in 6ms
16 verbose pacote file manifest for assertion-error@file:node_shrinkwrap/assertion-error-1.0.2.tar fetched in 7ms
17 verbose pacote file manifest for asynckit@file:node_shrinkwrap/asynckit-0.4.0.tar fetched in 6ms
18 verbose pacote file manifest for aws-sign2@file:node_shrinkwrap/aws-sign2-0.6.0.tar fetched in 4ms
19 verbose pacote file manifest for aws4@file:node_shrinkwrap/aws4-1.6.0.tar fetched in 7ms
20 verbose pacote file manifest for babel-runtime@file:node_shrinkwrap/babel-runtime-6.23.0.tar fetched in 17ms
21 verbose pacote file manifest for core-js@file:node_shrinkwrap/core-js-2.4.1.tar fetched in 63ms
22 verbose pacote file manifest for basic-auth@file:node_shrinkwrap/basic-auth-1.1.0.tar fetched in 3ms
23 verbose pacote file manifest for boom@file:node_shrinkwrap/boom-2.10.1.tar fetched in 4ms
24 verbose pacote file manifest for buffer-shims@file:node_shrinkwrap/buffer-shims-1.0.0.tar fetched in 3ms
25 verbose pacote file manifest for caseless@file:node_shrinkwrap/caseless-0.12.0.tar fetched in 2ms
26 verbose pacote file manifest for chai@file:node_shrinkwrap/chai-3.5.0.tar fetched in 5ms
27 verbose pacote file manifest for classnames@file:node_shrinkwrap/classnames-2.2.5.tar fetched in 3ms
28 verbose pacote file manifest for co@file:node_shrinkwrap/co-4.6.0.tar fetched in 4ms
29 verbose pacote file manifest for codemirror@file:node_shrinkwrap/codemirror-5.25.2.tar fetched in 31ms
30 verbose pacote file manifest for combined-stream@file:node_shrinkwrap/combined-stream-1.0.5.tar fetched in 3ms
31 verbose pacote file manifest for commander@file:node_shrinkwrap/commander-2.9.0.tar fetched in 3ms
32 verbose pacote file manifest for cookie@file:node_shrinkwrap/cookie-0.3.1.tar fetched in 3ms
33 verbose pacote file manifest for cookie-parser@file:node_shrinkwrap/cookie-parser-1.4.3.tar fetched in 3ms
34 verbose pacote file manifest for cookie-signature@file:node_shrinkwrap/cookie-signature-1.0.6.tar fetched in 2ms
35 verbose stack RangeError: Maximum call stack size exceeded
35 verbose stack     at Function.isBuffer (buffer.js:287:12)
35 verbose stack     at chunkInvalid (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_readable.js:393:15)
35 verbose stack     at readableAddChunk (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_readable.js:185:12)
35 verbose stack     at Source.Readable.push (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_readable.js:171:10)
35 verbose stack     at Source.Transform.push (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_transform.js:123:32)
35 verbose stack     at afterTransform (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_transform.js:79:51)
35 verbose stack     at TransformState.afterTransform (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_transform.js:58:12)
35 verbose stack     at Source.PassThrough._transform (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_passthrough.js:25:3)
35 verbose stack     at Source.Transform._read (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_transform.js:159:10)
35 verbose stack     at Source.Transform._write (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_transform.js:147:83)
35 verbose stack     at doWrite (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_writable.js:338:64)
35 verbose stack     at writeOrBuffer (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_writable.js:327:5)
35 verbose stack     at Source.Writable.write (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_writable.js:264:11)
35 verbose stack     at Source.Writable.end (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/readable-stream/lib/_stream_writable.js:475:51)
35 verbose stack     at Extract._write (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/pacote/node_modules/tar-stream/extract.js:239:12)
35 verbose stack     at Extract._continue (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/pacote/node_modules/tar-stream/extract.js:207:28)
35 verbose stack     at oncontinue (/Users/jess.telford/.nvm/versions/node/v7.10.0/lib/node_modules/npm5/node_modules/pacote/node_modules/tar-stream/extract.js:64:10)
36 verbose cwd /Users/jess.telford/dev/npm-cache-benchmark/shrinkpack
37 verbose Darwin 14.5.0
38 verbose argv "/Users/jess.telford/.nvm/versions/node/v7.10.0/bin/node" "/Users/jess.telford/.nvm/versions/node/v7.10.0/bin/npm5" "install"
39 verbose node v7.10.0
40 verbose npm  v5.0.0-beta.36
41 error Maximum call stack size exceeded
42 verbose exit [ 1, true ]

[email protected] warns about lockfileVersion@0

$ npm install -g npm
$ npm --version
5.0.0
$ node index
< snip >
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but npm-shrinkwrap.json was generated for lockfileVersion@0. I'll try to do my best with it!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.