手机版
你好,游客 登录 注册
背景:
阅读新闻

Google JavaScript Engine 加速 JSON解析

[日期:2019-08-14] 来源:Linux公社  作者:醉落红尘 [字体: ]

Google的JavaScript V8引擎的最新更新,已经发布了测试版。此7.6版本加速了JSON解析并增加了对原生堆栈遍历的支持。

V8是Google的开源高性能JavaScript和WebAssembly引擎,用C++编写。它用于Chrome和Node.js,并实现ECMAScript和WebAssembly。

开发人员对JSON解析器进行了大修,使其在扫描和解析JSON时速度更快,从而使流行web页面所提供的数据的解析速度提高了2.7倍。在此版本发布之前,JSON解析器是递归的,并使用相对于传入JSON数据嵌套深度的原生堆栈空间,因此对于嵌套非常深的JSON数据可能会耗尽堆栈。取而代之的是一个迭代解析器,它管理自己的堆栈,并且只受可用内存的限制。解析器也被重新设计以提高内存效率。

在此之前,在前两个版本(7.4和7.5)中添加了对JSON解析的其他性能升级。7.4改进了使用太少或太多参数的调用处理,在某些情况下将调用开销减少了60%。

与7.4相比的另一个改进是在Chrome中更好地处理大型脚本,处理UTF-8解码和属性名更合适,提供了18%的改进。

在Chrome 75中,V8直接将脚本从网络流到流解析器中,而不是等待Chrome主线程。此更改改进了JavaScript解析的性能,并减少了并发流解析任务的数量,进一步减少了内存消耗。

通过添加一些JavaScript编码模式,冻结或密封数组的处理也得到了改进,因此当调用indexof、include和一些spread调用时,冻结的对象处理得更好。

承诺的处理已经随着承诺的增加而改进。这提供了一个信号,当所有的输入承诺都被执行或拒绝时,就这样解决了。开发人员表示,在您不关心承诺状态的情况下,这非常有用,您只想知道工作何时完成,而不管是否成功。

已经为Windows添加了原生堆栈遍历支持。到目前为止,Windows还不能在运行x64架构时遍历包含TurboFan生成的代码的调用堆栈。V8现在可以为Windows提供它所需要的元数据,以便在x64上运行这些堆栈,而在v7.6中,这是默认启用的。

更多的信息

V8 version 7.6

V8 Website

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-08/160041.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款