Mozilla 等提出 BinaryAST,加快网页 JS 加载

段段段落
 段段段落
发布于 2019年05月20日
收藏 14

根据定期抓取流行网站网页的 HTTPArchive 的统计,平均一个网页需要 350KB 的 JavaScript 代码,有十分之一的网页包含了 1MB 大小的 JS 代码。浏览器的 JS 引擎在传输完成之后需要检查代码的语法错误并进行编译,1 MB 的 JS 文件在高端移动设备上需要花费 100 毫秒的时间,在普通手机上需要花超过一秒钟时间。

针对上述情况,主要浏览器开发商已经提出了加快 JS 解析的方案,例如 WebAssembly,但并不容易实现。因此 Mozilla、Cloudflare 和 Facebook 等提出了另一个更方便的方案 —— BinaryAST,旨在保留 JavaScript 原始语义的情况下加快解析。

△ JavaScript 速度测试 / img source:BinaryAST

Mozilla 和 CloudFlare 的测试发现,它能将加载时间减少 4% 到 13%,如果能跳过未使用的函数,它可以将加载时间减少最多 98%。Firefox Nightly 版本是首个支持该二进制格式的浏览器,而 Cloudflare 是首个提供必要的云托管 JS 引擎的 CDN 服务商。

△ 在 FIrefox 中启用 BinaryAST

参考:venturebeatSolidotcnBeta

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Mozilla 等提出 BinaryAST,加快网页 JS 加载
加载中

精彩评论

冰力
冰力
Firefox 是浏览器的希望……

最新评论(10

Oh_really
Oh_really
序列化的悲剧希望不要重演就好!
J
Jason909

引用来自“久永”的评论

WebAssembly 可以脱离语言绑定,但是 BinaryAST 只是将js从文本形式改为二进制形式,格局上感觉差很多啊!
https://github.com/xitu/gold-miner/blob/master/TODO/binary-ast-newsletter-1.md
大大大丶
骗人,浏览器下载完了,根本不会检查语法错误,我写错了代码,不执行到那永远不会报错,坑
久永
久永
WebAssembly 可以脱离语言绑定,但是 BinaryAST 只是将js从文本形式改为二进制形式,格局上感觉差很多啊!
kernel64
kernel64
ast树?
柴门
柴门
从名字上看,就是先编译好js,然后传输的是编译后的js给浏览器,体积小了,然后浏览器端又不用检查语法、编译,这样达到节省时间的目的?
冰力
冰力

引用来自“ChengShuai”的评论

有没有更详细点的文章介绍一下这个东西?觉得它很有潜力啊
@ChengShuai 应该是 CDN 将 js 编译成 WebbAssembly 或另一种中间代码。
NickWilde
NickWilde
多介绍点啊
ChengShuai
ChengShuai
有没有更详细点的文章介绍一下这个东西?觉得它很有潜力啊
冰力
冰力
Firefox 是浏览器的希望……
返回顶部
顶部