Node.jsがCygwinなしでWindowsで動くようになった。パフォーマンスはWindows、Unix系ともにかなり改善されている。
Node.jsの作者Ryan Dahl氏は、サーバサイドJavaScript環境の新しい安定バージョン、Node.js 0.6を発表した。その最重要フィーチャーはソケットにI/O Completion Portsを使ったWindowsのネイティブサポートだ。Node.jsのこれまでのバージョンはCygwin経由でしか動かせなかったが、これによってCygwinビルドはもはやサポートされなくなる。Windowsのほか、Node.jsはLinux、Mac OS X、webOS、それからSolaris、FreeBSD、OpenBSDといった各種Unix系システムもサポートしている。
Dahl氏は、Windowsへの移植には大きなアーキテクチャ変更を必要としたが、ほとんどのAPIはそのままで、Unixシステムにおけるパフォーマンス低下は当初危惧されたほどではなかった、と述べた。彼はその証拠に、いくつかの数値を示した。
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 |
唯一問題なのは、Linuxでの書き込みパフォーマンスが低下しているところのようだ。しかし以下のデータが示すように、Cygwinを使わなくなったことによって、Node.jsはWindows上で非常によい結果を得ている。
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 |
ほかにもNode.js 0.6には大きな改善がいくつかある。クラスタ上の複数のNodeプロセス実行のためのロードバランシングの統合や、zlibライブラリへの組込みバインディング、また、Nodeインスタンス間のIPCサポートの改善、改善されたデバッガなどがある。また、NodeはV8 3.6を使うようになっている。
API変更についてはNodeのGitHubページに詳しく説明されている。
Dahl氏はリリースサイクルの短縮についても言及した。Googleが新しいV8をChromeでリリースすると、Node.jsも新しいバージョンをリリースするとのことだ。