kar*_*yan 7 javascript browser performance webassembly
在 Chrome 中,JavaScript 运行在 V8 引擎上,但是运行 WebAssembly 代码的引擎是什么?
浏览器如何突然能够通过 WebAssembly 提高性能?这个 WebAssembly 引擎是否总是在浏览器中可用,还是最近被添加到浏览器中?
小智 8
自 2017 年 11 月以来,所有主要浏览器(Chrome、Firefox、Safari、Edge)仅支持 WebAssembly,这意味着旧版本的浏览器不支持 WebAssembly。(来自 Mozilla 的博文)
为了理解为什么 WebAssembly 比 Javascript 更快,有一个由 Lin Clark 撰写的精彩系列(链接)。
文章的结论是引用
在许多情况下,WebAssembly 比 JavaScript 更快,因为:
- 获取 WebAssembly 花费的时间更少,因为它比 JavaScript 更紧凑,即使在压缩时也是如此。
- 解码 WebAssembly 比解析 JavaScript 花费的时间更少。
- 编译和优化花费的时间更少,因为 WebAssembly 比 JavaScript 更接近机器代码,并且已经在服务器端进行了优化。
- 不需要重新优化,因为 WebAssembly 内置了类型和其他信息,所以 JS 引擎不需要推测它何时优化它对 JavaScript 的方式。
- 执行通常需要更少的时间,因为开发人员需要知道的编译器技巧和陷阱更少,以编写一致的高性能代码,而且 WebAssembly 的指令集更适合机器。
- 由于内存是手动管理的,因此不需要垃圾收集。
WebAssembly 是一种新的 Web 标准指令集,由浏览器执行。在 Chrome WebAssembly 中运行 V8 https://v8project.blogspot.com/2016/03/experimental-support-for-webassembly.html?m=1
| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |