tinyshare微博账号
JS和WebAssembly的互相调用终于变快了 十月 18, 2018

Webassembly或许将成为颠覆前端开发的一项新技术,它可以打破前端开发一定要使用JavaScript的界限,使得那些使用c、c++、golang等的后端开发者也可以写前端页面。

Webassembly发展初期,不可避免地要和JavaScript模块进行交互,而这种跨语言的交互很耗时,现阶段下还有很多事情要做。

作者在Mozilla为Firefox的新浏览器做Webassembly方面的工作,文中介绍了他们团队在最新的工作中,使得Webassembly和JS互相调用的速度有了非常大的提升。下图列出了改造前后执行一亿次函数调用所需时间的对比:


改造前后执行一亿次函数调用所需时间的对比

本文还介绍了浏览器的引擎是如何与计算机进行数据的交互的知识,并由浅入深地介绍他们是怎么一步步地将模块间地调用进行优化的。