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

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