NodeJS and iojs have met in the middle and become one project again – whoop! No more trying to decide which one to use. They have also announced their release plans which are exciting. Two big releases per year and to top it off, there will be a LTS version of Node which will hopefully make the use case easier in environments where life cycles are longer.
How I tested
- NodeJS and io.js running on Mac OS X Yosemite, fully up to date on a 2.5ghz i7 Macbook Pro with 16gm of ram
- Ubuntu VM using wrk, 12 threads, 400 concurrent connections over 30 seconds posting a small Raygun styled payload to a tiny ExpressJS site that returns what’s posted to it
Each test was run 5 times and then averaged to get the numbers below. As with all benchmarks, these can only be compared to the results in this set.
With that done, let’s get cracking
If you’ve been following the Node/io.js thing for a while now, you’ll know that the latest version is using a recent version of V8 which includes heaps of new ECMA 6 features. It should also be quicker, being newer and all.
From the very quick test here, Node 4.0.0 is around 8% quicker than Node 0.12.7 when dealing with the same load. That’s not bad for a simple upgrade, especially if you multiply it over multiple servers!
I was a tad surprised to see that io.js 3.3.0 was slightly slower than Node 0.12.7 based on previous results – but the Node guys did work hard to catch up and it looks like their work paid off.
So should you upgrade today? Probably. There are a few breaking changes though, so probably best to test it on your dev environments first to make sure you don’t end up having a very late night – been there, done that, wouldn’t recommend it 😉