Doing partial prod builds under controlled conditions for comparison purposes. Cold caches, no shrinkwrap, 3 different package.json in a monorepo-type thing, 1797 dependencies installed, only npm install times shown:

- npm4: 406.01 seconds
- npm5: 60.96 seconds

This is a bit less speedup than what I got excited about yesterday, but still (a bit) more than 6 times faster! 🎆 🍻 ✨

cc @zkat, @[email protected]

(These are somewhat artificial numbers because the real build is *really* not set up for it — we traded off caching for other gains elsewhere, so prod builds are always cold-cached. But!)

Same controlled builds, with warmed caches instead:

- npm4: 137.14 seconds
- npm5: 56.01 seconds

cc @zkat

@passcod not too shabby, still. :)

Also, because I got asked this on twitter. Same setup as original tweet (cold cache, no lockfile, etc):

- yarn: 86.82 seconds

But as discussed (in various places previously): npm & yarn have different tradeoffs and models, and both are valid choices! In the end they both use the same npm registry :)

cc @dx @zkat

@passcod @dx buh! I'd say the most fair comparison when it comes to npm@5 is to generate yarn.lock and npm-shrinkwrap.json, and _then_ clear your cache. Neither tool really shines without the lockfile.
@zkat @dx Yeah, but this build is *really* not set up for that. I think I'll do a more rigorous set of comparisons with various real codebases (that should support lockfiles better) when npm5 comes out so I can put it out in a proper blog post.
@passcod @dx in the end, your setup happens to be a realistic one. This is pretty important to support, too, even if it's not the optimal repo target for the tools.
@dx @passcod and seriously, thanks a ton for taking the time to do this.
@passcod goodness gracious
@zkat pretty sure I could optimise the npm4 build to take less than that, this is kinda abysmal… but the npm5 speedup is a w e s o m e !
@passcod do you have cached-data numbers? I expect those to be *much* better.
@passcod this makes me so happy btw. It's like, really motivating to start seeing results coming in. Can't wait until it's tagged and pushed :o