何双江yarshray 2019-06-27
你可能已经听说 WebAssembly 代码跑起来非常快。
但是你知道这是为什么吗?在本系列文章中,我们将探究其原因。
WebAssembly 是一种技术,该技术能让除 JavaScript 以外的代码运行在浏览器上。
所以,当人们说 WebAssembly 很快时,其实是在拿它跟 JavaScript 比较。
这里,我并不是在暗示你要么使用 JavaScript,要么使用 WebAssembly 。
反而,我更希望开发者能够把它们两结合起来使用。
不过拿这两货来比较一下还是很有意义的,这样我们才能理解 WebAssembly 具备的潜力。
在 1995 年,JavaScript 被创造出来时并不是冲着性能去的。
而且在之后的十年发展中,它的性能一直是很低的。
后来,随着浏览器变得越来越流行,JavaScript 也受到了越来越多的关注。
在 2008 年,性能之战开始了。多款浏览器都加上了即时编译器(Just-in-time Compiler),即 JIT 。
当 JavaScript 代码运行时,JIT 能够观察其运行模式,然后根据这些模式让代码跑的过快。
JIT 的引入成就了 JavaScript 性能提升的一个转折点,其执行速度比以往快了 10 之多。
乘着这波性能提升的节奏,JavaScript 也开始涉足之前想都不敢想的领域,比如催生了用于服务端编程的 Node.js 。性能提升也使得在全新的问题上使用 JavaScript 成为可能。
现在,WebAssembly 极可能是下一个性能转折点。
所以,你是否愿意跟随本系列文章深入探讨 WebAssembly 呢?
以下是后续文章链接:
相关背景
WebAssembly 现状
WebAssembly 未来