当前位置:主页 > 聚焦 >

V8 JavaScript引擎8.0减少了40%的堆 增加了可选的链接

时间:2021-01-03 20:08:17

  谷歌的V8 JavaScript引擎的最新版本V8 8.0使用指针压缩来减少40%的堆大小,并且不会影响性能。此外,它还使用?添加了对可选链接的支持。操作符和为零合并使用??。V8 v8.0将在Chrome 80版本中正式发布。

  

V8 JavaScript引擎8.0减少了40%的堆 增加了可选的链接

  V8 v8.0适用压缩JavaScript标记值,用来表示指针到堆或小整数,V8的核心团队成员LeszekŚwirski曾解释道。V8将只使用较低的位,并合成较高的位,而不是使用完整的64位来表示64位CPU上的指针。V8团队已经完整地记录了他们的指针压缩方法,该方法利用了与其他平台(包括Java)使用的相同的技术。与InfoQ谈话,Świrski澄清V8内存压缩V8 v8.0作品bychopping高级32位内存地址。这强制“压缩”指针跨越4GB空间,所有“压缩”指针都用作其中的相对偏移量。通过将基偏移量添加回压缩指针来计算完整指针。他还补充说,该团队计划将单词对齐和地址级位转换结合起来,以扩展压缩堆大小,使其超过4GB的限制。一般的想法是你将你的记忆组织成单词而不是字节。如果使用8字节的单词,则只需要表示从0、7、15、23等位置开始的地址,从而给出跨越2 < sup > 3 < /sup > * 2 < sup > 32 < /sup >的地址字节。

  

V8 JavaScript引擎8.0减少了40%的堆 增加了可选的链接

  值得注意的是,V8团队表示,指针压缩并不会造成性能损失。这与这样一个事实有关:从一个压缩指针到一个完整指针本身就是一个相当快的操作。在V8的情况下还有一个额外的好处,那就是垃圾收集器也变得更快了。根据初步的基准测试,这使得V8 v8.0在实际的web站点(比如Facebook、CNN和谷歌Maps)上的运行速度更快,无论在移动设备还是桌面设备上。

  在JavaScript方面,V8 v8.0引入了对两个有用的语法约定的支持:可选的链接和空合并。

  

V8 JavaScript引擎8.0减少了40%的堆 增加了可选的链接

  可选链接的目的是使按顺序访问属性更容易,而不会因为中间对象为null或未定义而导致出现异常的风险。例如,为了防止这种错误发生的可能性,在下面的代码中,我们提前检查我们要访问的所有中间属性是否定义良好:

  可以通过以下代码替换它,其中我们使用了可选的链接操作符?为了确保一旦中间组件为空或未定义,整个表达式将短路为未定义:

  零聚并算子,??是在以下情况下的细化:

  在这种上下文中,的缺点是,在上面的示例设置中,不能在需要设置的值时使用它。迭代,计算为假,例如,当设置。迭代= = 0。在这种情况下,您仍然会使用默认值,例如4。相反,空合并操作符??会正确处理这些个案,即:

  换句话说,a ??b仅在a为空或未定义时计算为b,否则计算为a。

  V8 v8.0还不是正式的V8稳定版本,将在几周后在Chrome 80稳定版中发布。同时,可以使用git checkout -b 8.0 -t branch-heads/8.0访问它。

热点推荐
1 Chun Wang向币安转入4950枚ETH,价值约953万美

消息,据A早期发行in监测,Chun Wang通过Lido解除质押并解包WETH后,向币安转入4950枚ETH,按实时...

2 Ondo Finance推出基于DTCC的CRCLon和SPYon代币化

消息,Ondo Finance宣布推出基于DTCC的代币化股票CRCLon和SPYon,底层资产分别为Circle股票和SPDR标普...

3 阿根廷液化天然气公司与乌克兰签署长期

消息,阿根廷液化天然气公司与乌克兰国家石油天然气公司签署了一份关于长期美国液化天然...

4 麻吉黄立成:ETH多单增持1200枚,当前盈亏

消息,麻吉黄立成增持ETH多单1,200枚,约合2,082,340美元,持仓规模达到27,893,650美元,均价从1...

5 摩根大通、高盛、黑石、先锋集团和纽约

消息,摩根大通、高盛、黑石、先锋集团和纽约证券交易所将参与试点代币化美国股票和国债...

6 Arteris (AIP)与IC

消息,Arteris Inc.于7月8日与IC-LINK达成合作,旨在加速下一代AI和HPC半导体的开发。通过将Arter...

7 油价连续第四天上涨,伊朗威胁关闭能源

消息,周三油价连续第四个交易日上涨,因美伊停火协议破裂引发霍尔木兹海峡新危机,伊朗...

8 6种我在7月密切关注的加密货币

消息,7月加密货币市场在价格上大致忽视了过去一年网络所取得的进展,但现在有足够的迹象...

9 美股期货保持平静,但风险依然存在

消息,US股指期货目前保持平静,标准普尔500期货上涨0.1%,纳斯达克期货上涨0.4%。这延续了昨...

10 比特币ETF流出80亿美元,HyperLiquid吸引1.

消息,比特币ETF在近期出现了80亿美元的资金流出,而HyperLiquid则吸引了1.72亿美元的资金流入。...

成都来彰科技 蜀ICP备2025134723号-1

资讯来源互联网,如有版权问题请联系管理员删除。