Firefox Beta加速了JavaScript和WebAssembly之间的代码调用

栏目: JavaScript · 发布时间: 7年前

Mozilla 刚刚宣布,最新版本的 Firefox Beta 已经极力加快了 JavaScript 和 WebAssembly 代码之间的调用速度。通过 JavaScript 执行 1 亿次 WebAssembly 函数调用的时间,已经从此前的 5500 ms(5.5 秒)、降低到了现在的不到 500 ms(0.5 秒)。在运行依赖于 WebAssembly 的页面(包括一些基于浏览器的游戏)时,这项改进会更加明显。

Firefox Beta加速了JavaScript和WebAssembly之间的代码调用

此前,Mozilla 一直在使用 C++ 来帮助理解 WebAssembly 代码、并将之传递给 JavaScript 代码。 为了提升速度,Mozilla 决定直接切断这个“中间人”。该公司称:

我们拿到了入口存根处(entry stub)运行的 C++ 代码,让它可被 JIT 代码直接调用。

当引擎从 JavaScript 向 WebAssembly 切换时,就会解包 entry stub 数值、并将之放到正确的位置。

Firefox Beta加速了JavaScript和WebAssembly之间的代码调用

此外,Mozilla 还提升了通过 WebAssembly 调用浏览器内置函数的速度,以及从 JavaScript 到 WebAssembly 的单态调用。

如果你对内部工作原理的变化深感兴趣,请一定不要错过 Mozilla 官方撰写的这篇通俗易懂的 博客文章 (附有趣味的插图和注释)。

[编译自: Neowin ]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

一路编程

一路编程

史蒂夫·富特 (Steven Foote) / 佟达 / 电子工业出版社 / 2017-1-1 / CNY 65.00

《一路编程》是一本编程入门书籍,然而,如果以书中所讲内容作为入门标准,估计十有八九的在职程序员都不能算已入门。现代软件开发,已经不仅仅是写出正确的代码这么简单,环境、依赖、构建、版本、测试及文档,每一项都对软件是否成功交付起到至关重要的作用,这些都是每一个程序员在开发软件过程中必备的技能。《一路编程》对于上述的每一种技能都做了简洁而精练的介绍,以满足最基本的日常软件开发。换句话说,《一路编程》实际......一起来看看 《一路编程》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试