图说 WebAssembly(一):序言

何双江yarshray 2019-06-27

你可能已经听说 WebAssembly 代码跑起来非常快。
但是你知道这是为什么吗?在本系列文章中,我们将探究其原因。

何为 WebAssembly

WebAssembly 是一种技术,该技术能让除 JavaScript 以外的代码运行在浏览器上。
所以,当人们说 WebAssembly 很快时,其实是在拿它跟 JavaScript 比较。

这里,我并不是在暗示你要么使用 JavaScript,要么使用 WebAssembly 。
反而,我更希望开发者能够把它们两结合起来使用。

不过拿这两货来比较一下还是很有意义的,这样我们才能理解 WebAssembly 具备的潜力。

JS 性能简史

在 1995 年,JavaScript 被创造出来时并不是冲着性能去的。
而且在之后的十年发展中,它的性能一直是很低的。

后来,随着浏览器变得越来越流行,JavaScript 也受到了越来越多的关注。

在 2008 年,性能之战开始了。多款浏览器都加上了即时编译器(Just-in-time Compiler),即 JIT 。
当 JavaScript 代码运行时,JIT 能够观察其运行模式,然后根据这些模式让代码跑的过快。

JIT 的引入成就了 JavaScript 性能提升的一个转折点,其执行速度比以往快了 10 之多。

图说 WebAssembly(一):序言

乘着这波性能提升的节奏,JavaScript 也开始涉足之前想都不敢想的领域,比如催生了用于服务端编程的 Node.js 。性能提升也使得在全新的问题上使用 JavaScript 成为可能。

现在,WebAssembly 极可能是下一个性能转折点。

图说 WebAssembly(一):序言

所以,你是否愿意跟随本系列文章深入探讨 WebAssembly 呢?
以下是后续文章链接:

相关背景

  • 图说 WebAssembly(二):JIT 编译器
  • 图说 WebAssembly(三):什么是汇编

WebAssembly 现状

  • 图说 WebAssembly(四):快速入门
  • 图说 WebAssembly(五):高性能原因

WebAssembly 未来

  • 图说 WebAssembly(六):现状与展望

相关推荐