V8引擎将JavaScript编译为机器代码.那么,为什么node.js不比C快?

Jef*_*eff 5 javascript v8 lighttpd nginx node.js

根据语言基准测试,JavaScript V8在regex-dna程序中比其他编程语言更快.那么,为什么node.js应用程序(即http服务器)不比C应用程序(即Nginx,Lighttpd)快?

fed*_*lva 32

因为V8应用程序是javascript应用程序.即使javascript最终编译为机器代码,运行时特性也不同.

例如,如果在对象中调用函数并且该对象未定义函数,则运行时必须通过遍历原型层次结构来定位函数,此层次结构可以在程序的生命周期内随时更改.可以进行巧妙的优化,但仍然存在开销.

还有内存模型.Javascript被垃圾收集,GC需要cpu周期.


Ste*_*non 11

因为提供http请求与regex-dna不同.

在一项任务中A比B快的事实并没有说明从其他任务中得到什么.

强制性的坏车比喻:火腿三明治比保时捷更美味.为什么从0-60开始没有更快?

  • 推论:我可以用任何语言编写糟糕的代码. (8认同)