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

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

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

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

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

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...