通过漫画介绍WebAssembly
本文为翻译
原文标题:A cartoon intro to WebAssembly
WebAssembly 执行很快。你可能已经听说过了。但是什么因素让 WebAssembly 这么快呢?
通过这个系列文章,我想向你解释为什么 WebAssembly 很快。
等等,什么是 WebAssembly?
WebAssembly 是一种在浏览器中运行非 JavaScript 代码的方式。因此,当有人说 WebAssembly 很快时,他们是在和 JavaScript 作比较。
我并不是在暗示你 “这两者是非此即彼的” — 你要么使用 WebAssembly,要么使用 JavaScript 。事实上,我们希望开发者可以在一个应用程序中同时使用 WebAssembly 和 JavaScript。
但是将两者进行对比是有帮助的,这样你就能理解 WebAssembly 拥有的 潜在影响力。
一点点性能的历史
JavaScript 诞生于 1995 年。它并不是为了快速运行而设计出来的,而且在最初十年里它的运行速度确实不够快。
后来浏览器之间的竞争开始变得激烈。
在 2008 年,这个被大家称为 性能战争 的时期开始了。很多浏览器添加了 即时编译器(just-in-time compilers),也被称作 JIT。当 JavaScript 代码运行时,JIT 可以识别代码运行的模式,并基于这些模式来加速代码的运行。
由于 JIT 的出现,JavaScript 的性能迎来了一个拐点,JavaScript 的执行速度快了之前 10 倍。
随着性能的提高,JavaScript 开始被用于一些 令人难以预料 的领域,比如使用 Node.js 进行服务端编程。性能的提高使得 JavaScript 可以解决一类全新的问题。
而 WebAssembly 可能会带来另外另一个拐点。
那么,让我们来深入细节来理解是什么使得 WebAssembly 这么快。
背景
即时编译器(JIT) 速成课
汇编(assembly) 速成课
现在的 WebAssembly
创建并使用 WebAssembly 模块
是什么使得 WebAssembly 这么快
未来的 WebAssembly
现在 WebAssembly 发展到了什么程度,而我们接下来要做什么