Node.js 已可在不借助 Cygwin 的情况下,直接在 Windows 上运行,同时,在 Windows 和 UX 系统上的性能也有显著的提升。
Ryan Dahl,Node.js 创始人,宣布了 Node.js 0.6的发布,这是一个新的服务端 JavaScript 环境的稳定版本,其中一个重要的新特性是,通过使用 Socket 的I/O完成端口提供在 Windows 本地运行的支持。上一个版本的 Node.js 必须借助 Cygwin 才可在 Windows 上运行,但现在,已不再提供对 Cygwin 的支持。除 Windows 外,Node.js 还支持 Linux、Mac OS X、webOS 及一些 UX 型系统:Solaris、FreeBSD 和 OpenBSD。
Dahl 提到,向 Windows 平台的移植致使主要架构进行了调整,但大部分的 API 仍保持不变,而且在 Unix 系统上的性能也没有受到影响(这一直是大家所担心的)。他列举了具体的数据作为例证:
Linux v 0.4.12Linux v 0.6.0 http_simple.js /bytes/1024 5461 r/s 6263 r/s io.js 读 19. 75 MB/s 26. 63 MB/s io.js 写 21. 60 MB/s 17. 40 MB/s startup.js 74. 7 ms 49. 6 ms唯一的一个问题就是 Node.js 0.6 版本在 Linux 上写数据的性能稍逊一筹。但是,脱离了 Cygwin,Node.js 在 Windows 上的性能有了明显的改善,以下数据可作为参考:
Windows v 0.4.12Windows v 0.6.0 http_simple.js /bytes/1024 3858 r/s 5823 r/s io.js 读 12. 41 MB/s 26. 51 MB/s io.js 写 12. 61 MB/s 33. 58 MB/s startup.js 152. 81 ms 52. 04 msNode.js 0.6 在其他方面的改进主要体现在:在多进程之上集成了负载均衡、内置了用于压缩的 zlib 库。在 Node 实例之间更好地支持 IPC(进程间通信,Inter-process communication),改进了命令行调试器,此外,V8的版本也从3.1升级到了3.6。
关于 API 变更的具体细节可在 GitHub 页面查看。
此外 Dahl 还提到,他们计划缩短发布周期,尝试赶在与 Google 发布 Chrome 新版本 V8(用于 Google Chrome 的 JavaScript 引擎)的同时,也将 Node.js 的新版本发布。
查看英文原文:Node.js Now Runs Natively on Windows
(作者:Abel Avram 译者:贾国清)