首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么不在运行时之前编译Node.js?

为什么不在运行时之前编译Node.js?
EN

Stack Overflow用户
提问于 2012-02-12 16:23:17
回答 1查看 10.9K关注 0票数 21

我对这项技术的理解是,它是即时编译成汇编的。在速度谱上,它比Java慢,但比Ruby和Python快。在客户端,解释器是有意义的,但在服务器端,我的第一个想法是在运行之前进行编译,或者至少可以选择这样做,这是一个最佳的体系结构。如果JavaScript是以这种方式预编译的,它的运行速度会比Java快吗?或者,这与弱类型语言有关,这意味着JavaScript总是比Java慢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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的速度问题:

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9247429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档