我对这项技术的理解是,它是即时编译成汇编的。在速度谱上,它比Java慢,但比Ruby和Python快。在客户端,解释器是有意义的,但在服务器端,我的第一个想法是在运行之前进行编译,或者至少可以选择这样做,这是一个最佳的体系结构。如果JavaScript是以这种方式预编译的,它的运行速度会比Java快吗?或者,这与弱类型语言有关,这意味着JavaScript总是比Java慢?
发布于 2012-03-22 22:39:31
有些Node.js是C++的,并且是预编译的。我的理解是,有一个努力,尽可能多地保留在Javascript中,但在性能较差的地方,则使用C++。
如果没有V8 JavaScript Engine,Node.js就不可能实现,而javascript正是用来编译javascript的。这台发动机以速度极快而闻名。它是为Chrome浏览器构建的,但它在Node.js上的性能也是值得的。
关于Node.js的性能,作为一种web服务器,它至少是,可以与其他领先的web服务器如Apache+PHP媲美。因此,在常见用例中,性能不是问题。也就是说,有更快的技术。众所周知,基于Erlang的服务器在并发负载下速度更快(有趣的是,Erlang也是一种动态类型的语言)。
对于纯数字处理的cpu/gpu密集型任务,Node.js不是一个好的选择,除非你用Fabric Engine调整它,在这种情况下,它可以与C++平起平坐。
目前有几个项目正在探索JavaScript的速度问题:
https://stackoverflow.com/questions/9247429
复制相似问题