Hacker News new | past | comments | ask | show | jobs | submit login
Node.js v0.6.0 is released (nodejs.org)
198 points by jasondavies on Nov 5, 2011 | hide | past | web | favorite | 35 comments

I found it a bit odd that writes for linux went down from 22MB/s to 17MB/s when Windows writes went way up from 13MB/s to 34MB/s. This at the same time as read performance went up to 27MB/s for both systems.

Edit: Seems like it's a regression that will likely be fixed for 0.6.1.

I hope it's well optimized for fibonacci algorithms now.

Not to worry! Until we can get the desperately needed native Fibonacci support (lest the haters hate), there is always node-fib: http://news.ycombinator.com/item?id=3067403

Am I the only one that thinks that Windows support was not really worth the time? Sure, you get to support a huge chunk of the OS market, but what are the real implications of Node running natively on Windows?

Microsoft funded the work. My guess is since they're pushing for JS client-side apps now with WinRT; they funded node on Windows so that JS developers can run their server-side code on Windows instead of being tempted to fire up a *nix server instead.

(AFAIK, MS doesn't have any server-side JS tooling similar to node at the moment. Very good chance that I'm wrong, though.)

Microsoft has JScript.NET (and has for a while now).


I haven't seen it used anywhere as a server side application, though.

JScript.NET was dropped for .NET 4.0; it has always been a bit of a curiosity though. I think it was there because "classic" ASP had support for doing server-side scripting in JScript, so somebody thought ASP.NET needed to support it also. Thankfully, there are a few alternative JavaScript implementations on .NET such as IronJS.

Wow.. yeah, who would want Node on Windows? Whats the point. LOL. The sad thing is, that is probably the default perspective. Basically what's going on is status quo bias -- its the same thing with dying. There's nothing you can do about it so you learned to accept and love that Node.JS doesn't work on Windows. Who would want to live forever? Dying is great! Or you just don't want to have anything to do with Windows or something. People are amazingly stupid. I'm sorry, but its just stupidity to react that way.

"Sure, you get to support a huge chunk of the OS market" <-- This is a big deal.

Most businesses run Windows. I want my Node.JS software to run on most business servers or workstations without requiring a VM or something. Same with most PCs.

The implication is that I can provide Node.JS-based software to an additional 400 million or so people. That means that I can write my software for Node.JS and not have to write a different version for Windows or ignore 400 million people.

For example, say I built an online database application builder type thing where users can build forms using drag and drop and configure database search screens and reports easily. What a lot of my users really want is to have complete control over their database and application. They don't want to have to rely on my server or their internet connection always being on to access their business data.

With good Windows support, I can build my application in Node.JS, and provide a setup bundle that users or IT people can use to install the user's database application on a Windows server.

Seems pretty obvious that this is a big advantage.

Worse. Features (like unix_dgram) were deprecated because equivalents don't exist on Windows.


I believe the extensive work on Windows support was from a Microsoft/Joyent collaboration.. as in the answer to your question may be measured in $$$.

Not that that's a bad thing at all, but it would explain the seemingly unusual choice.

'huge chuck' is an understatement. Windows is the majority OS.

I think your argument is valid, but that it will take some serious cultural change at Microsoft to accept.

When Microsoft SQL Server, Exchange and Sharepoint run on on Linux we will know that has change happened.

Windows support is what Node needs in order to go mainstream. It also means that Node developers will be in even greater demand.

"Native Windows support using I/O Completion Ports for sockets."

"Integrated load balancing over multiple processes."

These two improvements are just the nudge I needed to start tinkering with Node. I've been following along and reading about node almost daily but native windows support and integrated focus on multiple processes make a big difference to me. I can no longer sit on the sidelines.

Thanks for picking me up and shoving me onto the field!

While I agree what windows support is nice, I have found running a virtual machine running Linux much easier even when there is official Win support. It's no different running an SSH terminal to a local system than a remote one, after all.

That is exactly what I was considering for my home use. But unfortunately many businesses will deal only with windows servers, vm or not. This brings node one step closer into the realm of plausible platform for those cases.

Can you provide a couple of examples?

Direct link to a list of changes you have to make to your codebases: https://github.com/joyent/node/wiki/API-changes-between-v0.4...

Question: Since this doesn't look that complex, is anyone working on an automagical translator from 0.4 to 0.6 that people could use?

I think lots of the pain is going to be in the vast collection of third party (npm) modules that need to be updated. Will take a bit before all module authors are up to date.

It'd be nice to have a list of modules affected by the change. I probably won't update until I know what it'll do to my existing system.

Next for windows developers is trying to get npm to work. The sheer popularity of unix tooling in the build process means that using node libraries is likely to remain a challenge.

While it's true that a lot of Node libraries assume *nix and make system calls, a surprising number of libraries are written in pure Node. Just clone the library from GitHub and put it in the node_modules directory and you're good to go for a number of popular libraries.

I've played around with Node in Windows and Node without NPM is seriously gimped.

Well, ryppi.py is a python script which works like npm. Once you are done with it you can install any of the libraries by using the following command.

             python ryppi.py install socket.io express

uhm, according to their benchmark io.js write performance dropped from 21mb/s to 17mb/s in linux but rose from 12mb/s to 33mb/s in windows. So it seems that windows node implementation is now twice faster (for I/O) than linux one..are they only focusing on windows platform?

That's a regression we'll probably have fixed in 0.6.1.

Note that I/O read performance is up 35%, from 19.7 mb/s in 0.4 to 26.6 mb/s in 0.6.

Any numbers for node on ARM? I was told that recently v8 releases have had significant performance regressions for ARM devices by a JS dev at a meetup.

Can you give more information about this?

If you know that JS dev personally please ask him to file the bug (http://code.google.com/p/v8/issues/entry) or send any information he has about regressions to v8-users mailing list.

I don't think there were any bugs opened recently about perf regressions on ARM devices.


Is there a ticket to follow to track this regression?

Is there a description of your benchmark machines / benchmark process anywhere?

Keep up the great work, btw! I'm pretty excited to move up to Node 0.6 (probably-statistically-insignificant regression on IO-write regardless)!

Don't use it if you rely on npm. It doesn't work yet.

Or just install npm manually. Clone it, edit one line to bypass a check, `make install`. Remember, if it's 0.5.x compatible, it's probably 0.6.0 compatible.

Node Cluster? http://nodejs.org/docs/latest/api/cluster.html

Is it me or does this look like the early makings of an erlangish otp, eh?

Wow the balancing through clusters looks awesome! With this addition, does anyone know if you need to start node with --balance anymore?

Would be nice to see a need a list of modules that are ready for 0.6. I rekon our moderately complex app we will be on 0.4.x for a while

Wouldn't run node on windows in production, but it makes it a heck of alot easier for dev work.

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact