你可能听说过WebAssembly运行起来很快,但是你知道WebAssembly为什么这么快吗?在本系列文章中,我将向您解释为什么WebAssembly是快速的。
首先,先来介绍一下什么是WebAssembly
WebAssembly是一种使用JavaScript以外的编程语言编写代码的方法,并最终在浏览器中运行。当人们说webassembly运行很快,其实真正进行比较的标杆是和javascript。
现在我不想把它暗示为非及彼此的情况,不管是使用WebAssembly还是使用JavaScript。实际上我们期望开发者们在同一应用中同时使用WebAssembly和JavaScript。
说实话将两者进行比较还是非常有收获的,你就可以了解到WebAssembly潜在的东西。
简单的介绍一下JavaScript的性能历史
1995年JavaScript被设计出来。它的设计初衷并不在于速度,在最初的十年里,它的速度真的不快,接下来就进入了一个各大浏览器相互竞争的时期。
2008年浏览器性能之争的开始,许多浏览器加入了即时编译机制,也称作JITs。当JavaScript运行时,JIT可以看到模式并基于这些模式使代码运行得更快。
引入JITs可以说是JavaScript性能的一个拐点,运行速度比以前提升了10倍。
随着性能的提升,JavaScript被用于之前不被期望的领域,像服务端语言Node.js。 性能的提升使得JavaScript用在解决全新一类的问题是可行的。
现在我们可能正处在WebAssembly的另一个转折点上。
因此,让我们深入了解一下是什么让WebAssembly速度如此之快
Background:
1.A crash course in just-in-time (JIT) compilers
WebAssembly, the present:
1.Creating and working with WebAssembly modules
2.What makes WebAssembly fast?
WebAssembly, the future:
原文链接: https://hacks.mozilla.org/2017/02/a-cartoon-intro-to-webassembly/
作者:Lin Clark
ps:由于翻译水平有限,有不足指出欢迎指正,谢谢