BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Node.js Now Runs Natively on Windows

Node.js Now Runs Natively on Windows

This item in japanese

Bookmarks

Node.js can now run on Windows without Cygwin, the performance being significantly improved both on Windows and UX systems.

Ryan Dahl, the creator of Node.js, has announced Node.js 0.6, a new stable version of the server-side JavaScript environment, the most important feature being the support of native Windows using I/O Completion Ports for sockets. Previous versions of Node.js could be used on Windows only via Cygwin, but now Cygwin builds are no longer supported. Besides Windows, Node.js is also supported on Linux, Mac OS X, webOS, and a number of UXes: Solaris, FreeBSD, and OpenBSD.

Dahl declared that porting to Windows involved major architectural changes, but most of the API has remained unchanged and the performance on Unix systems was not affected as it was initially feared. He gave some numbers as a proof:

  Linux v 0.4.12 Linux v 0.6.0
http_simple.js /bytes/1024 5461 r/s 6263 r/s
io.js read 19.75 MB/s 26.63 MB/s
io.js write 21.60 MB/s 17.40 MB/s
startup.js 74.7 ms 49.6 ms

The only problem seem to be writes where Node.js 0.6 has poorer performance on Linux. But by not using Cygwin, Node.js is having much better results on Windows as the following data shows:

  Windows v 0.4.12 Windows v 0.6.0
http_simple.js /bytes/1024 3858 r/s 5823 r/s
io.js read 12.41 MB/s 26.51 MB/s
io.js write 12.61 MB/s 33.58 MB/s
startup.js 152.81 ms 52.04 ms

Other major improvements in Node.js 0.6 are: Integrated load balancing for running multiple Node processes on a cluster and Built-in binding to zlib library. There is also better support for IPC between Node instances, an improved debugger, and Node is now using the V8 3.6.

The API changes are detailed on a Node’s GitHub page.

Dahl has also mentioned that they plan a faster release cycle, trying to release a new version when Google releases a new V8 version with Chrome.

Rate this Article

Adoption
Style

BT