专栏名称: 前端大全
分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯
目录
相关文章推荐
天津市应急管理局  ·  沉浸式互动宣传 带您查找身边安全隐患 ·  22 小时前  
天津市应急管理局  ·  沉浸式互动宣传 带您查找身边安全隐患 ·  22 小时前  
前端大全  ·  三大云厂同时瘫了?Cursor、ChatGP ... ·  2 天前  
山东环境  ·  2025年全国“安全生产月”公益广告 ·  2 天前  
山东环境  ·  2025年全国“安全生产月”公益广告 ·  2 天前  
神兽集团  ·  美乱纪元开启第一集:问计! ·  2 天前  
神兽集团  ·  美乱纪元开启第一集:问计! ·  2 天前  
广东司法行政  ·  潮州:首创基层社会治理"1+3+5"工作机制 ·  3 天前  
广东司法行政  ·  潮州:首创基层社会治理"1+3+5"工作机制 ·  3 天前  
51好读  ›  专栏  ›  前端大全

新 V8 即将推出,和 Node.js 性能变化

前端大全  · 公众号  · 前端  · 2017-08-08 20:44

正文

请到「今天看啥」查看全文


自从诞生以来,Node.js 就依赖于 V8 引擎, V8 引擎是由 Google 为 Chrome 浏览器编写的 JavaScript 虚拟机。从一开始,V8 的主要目标就是使 JavaScript 运行更加快速,或至少比竞争对手快。对于高度动态这并不容易。这部分是关于 V8 和 JS 引擎性能的演变。

V8 引擎的核心部分是能够高速执行 JavaScript 的 JIT(Just In Time)编译器。这是一个动态编译器,可以在运行时优化代码。当 V8 最初构建时,JIT 编译器被称为 FullCodegen。然后,V8 团队实现了 Crankshaft,其中包括许多 FullCodegen 未实现的性能优化。

从 90 年代开始,JavaScript 哪些操作快,哪些操作慢(无论引擎是什么)通常都是反直觉的,所以JavaScript 代码慢的原因常常难以理解。

近年来,Matteo Collina 和我专注于如何编写性能优异的 Node.js 代码。当然,这意味着当 V8 引擎执行代码时,要知道哪些方法是快速的,哪些方法很慢。

现在是我们挑战所有关于性能假设的时候了,因为 V8 团队已经编写了一个新的 JIT 编译器:Turbofan。

从常见的“V8杀手”开始,到更复杂的 Matteo 和我对 Crankshaft 性能的发现,我们将会根据一系列测试结果来对 V8 进行评估。

当然,在优化 V8 代码之前,我们应该首先关注 API 设计,算法和数据结构(过早的优化是万恶之源)。下面会对 Node 的几个版本进行性能测试。我们可以得到一些结论来影响我们的代码风格,以及在应用通常的优化后提高性能的方式。

Try / Catch 问题

一个非常出名的去优化模式是使用 try/catch blocks.







请到「今天看啥」查看全文