Node.js 现可作为本地应用在 Windows 上运行

  • Abel Avram
  • 贾国清

2011 年 11 月 12 日

话题:JavaScriptWindowsNode.js语言 & 开发

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.12 Linux 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.12 Windows 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 ms

Node.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

JavaScriptWindowsNode.js语言 & 开发