首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以强制Node.js编译代码吗?

可以强制Node.js编译代码吗?
EN

Stack Overflow用户
提问于 2019-12-14 19:17:26
回答 1查看 4.6K关注 0票数 3

由于Node.js使用V8 js引擎,所以我认为它的工作方式与v8相同,并且只在函数或代码被调用多次时优化/jit编译函数或代码。

考虑到我正在制作一台服务器,并且我希望从代码中获得最好的性能,而且内存不是问题,是否有办法“强迫”我的所有代码从第一次运行开始就被编译和优化以提高性能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-14 22:41:10

这里是V8开发人员。通过让V8完成它的任务,您可以获得最好的性能。(我们非常关心性能,我们构建的V8使得开箱即用的配置为您提供了最佳的性能。)

出于测试目的,确实有一个标志强制在第一次执行时对所有代码进行“优化”编译。但是“优化”确实需要引用,因为这样做意味着大大降低了的性能。原因不仅在于编译时间,还在于对于像JavaScript这样的动态语言来说,创建优化的代码非常依赖于首先观察类型反馈的。您可以在没有类型反馈的情况下将代码提供给优化编译器,但是它无法完成很好的工作--它有两个选择:要么生成能够处理任何类型的通用代码(该代码将与非优化代码一样快),要么生成对它将遇到的类型进行随机猜测的代码(这意味着有几乎100%的可能性会出现一些猜测错误,代码必须在第一次执行时被丢弃)。无论哪种方式,结果的性能都比常规的方法差。

如果您希望能够提前优化代码,请用C++或Rust、Go等编写服务器;-)

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

https://stackoverflow.com/questions/59338370

复制
相关文章

相似问题

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