WebKit升级可提高内存使用率

Apple的WebKit浏览器引擎JavaScript引擎JavaScriptCore已升级为新的字节码格式,从而提高了内存效率和类型安全性。

这种格式的目标在6月21日的公告中进行了详细介绍 ,目的是减少内存消耗并允许字节码缓存在磁盘上。 WebKit团队声称,新格式平均使用的内存减少了50%,这意味着Facebook或Reddit等JavaScript繁多的网站的内存使用量总体减少了10%。

[更深入: 如何开始使用WebAssembly WebAssembly的下一步是什么 8个使WebAssembly崭露头角的项目 •那么, WebAssembly的下一步究竟是什么? | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

新格式引用了两项重大更改:

  • 不再有用于执行的单独的链接编码。 这意味着字节码不再是直接线程化的,因为指令的地址无法存储到磁盘,因为它随每次程序调用而改变。
  • 为了使单一格式既适合存储又适合执行,可以将指令编码为窄或宽。 使用窄指令,操作码和操作数各自占用一个字节。 一条宽指令由一个特殊的单字节操作码op_wide ,后跟一系列用于原始操作码及其参数的四个字节的插槽。

新的字节码还具有元数据表。 链接时,将使用与给定指令关联的所有可写数据初始化边表。 此外,通过改进与字节码相关的基础结构,提高了类型安全性。 WebKit存储库中正在开发用于新字节码的缓存API。 开发人员可以在bugs.webkit.org上做出贡献。

参与该项目的开发人员试图解决旧字节码格式的两个主要问题。 首先,它使用了太多的内存,其次,它包含了可写的指令流,从而阻止了内存映射字节码流。 旧的字节码格式还具有不再有用的优化,例如直接线程化

新的字节码格式在iOS 12.1和MacOS 10.14.4随附的Safari 12.1浏览器以及Safari技术预览版中可用。 您可以从webkit.org 下载Safari技术预览

From: https://www.infoworld.com/article/3405156/webkit-upgrade-improves-memory-usage.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值