根据language benchmarks的说法,在regex- V8编程中,JavaScript V8比其他编程语言更快。那么,为什么node.js应用程序(如http服务器)的速度不如C应用程序(如Nginx、Lighttpd)呢?
发布于 2010-11-19 07:03:06
因为V8应用程序是javascript应用程序。即使javascript最终被编译成机器码,运行时特征也是不同的。
例如,如果您在一个对象中调用一个函数,而该对象没有定义运行库必须通过遍历原型层次结构来定位该函数的函数,则此层次结构可以在程序的生存期内随时更改。有一些聪明的优化是可以完成的,但开销仍然存在。
还有内存模型。Javascript被垃圾回收,GC占用cpu周期。
发布于 2010-11-19 06:40:13
因为服务http请求与regex-dna是不同的问题。
A在一项任务中比B快的事实并不能说明对其他任务的期望是什么。
必有的坏车类比:火腿三明治比保时捷美味多了。为什么从0到60的速度不快呢?
发布于 2010-11-19 14:18:54
首先,C语言本质上是计算速度的基准语言。现在的编译器非常好,可以产生非常高效的机器代码。这意味着性能的上限是您可以使用C语言获得的。
在他关于node.js Ryan Dahl (创建者)的一次演讲中,said和C一样快(但是GC和其他东西确实对性能有影响,更不用说V8需要时间来适当地优化东西)
https://stackoverflow.com/questions/4220333
复制相似问题