资讯专栏INFORMATION COLUMN

图说 WebAssembly(一):序言

codergarden / 375人阅读

摘要:性能简史在年,被创造出来时并不是冲着性能去的。而且在之后的十年发展中,它的性能一直是很低的。的引入成就了性能提升的一个转折点,其执行速度比以往快了之多。性能提升也使得在全新的问题上使用成为可能。现在,极可能是下一个性能转折点。

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

何为 WebAssembly

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

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

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

JS 性能简史

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

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

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

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

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

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

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

相关背景

图说 WebAssembly(二):JIT 编译器

图说 WebAssembly(三):什么是汇编

WebAssembly 现状

图说 WebAssembly(四):快速入门

图说 WebAssembly(五):高性能原因

WebAssembly 未来

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/94724.html

相关文章

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

    摘要:现状年月日,主流的四大浏览器达成了共识并宣布的最小可行产品已经完成。更快的函数调用当前,在中调用函数比想象的要慢。直接操作目前,没有任何方式能够操作。这就导致了部分应用可能会因此而推迟发布时间。结束现如今已经相当快速。 本文是图说 WebAssembly 系列文章的最后一篇。如果您还未阅读之前的文章,建议您从第一篇入手。 现状 2017 年 2 月 28 日,主流的四大浏览器达成了共识...

    clasnake 评论0 收藏0
  • 图说 WebAssembly(三):什么是汇编

    摘要:为了更好的理解,我们有必要去先理解什么是汇编,以及编译器是如何产生汇编的。什么是汇编现在,我们来看看外星人的大脑是如何工作的。这些注释就是汇编,也称为符号机器码。结束以上的内容就是什么是汇编以及它是如何从高级编程语言翻译过来的。 本文是图说 WebAssembly 系列文章的第三篇。如果您还未阅读之前的文章,建议您从第一篇入手。 为了更好的理解 WebAssembly ,我们有必要去先...

    刘福 评论0 收藏0
  • 图说 WebAssembly(五):高性能原因

    摘要:本文是图说系列文章的第五篇。这样的话,使用的开发者也不需要做任何适配,但是它们却能获得更高性能。该图并不是用来准确的衡量其性能的。运行编写出高性能的代码是可能的。这种清理工作由引擎自动进行,称为垃圾回收。 本文是图说 WebAssembly 系列文章的第五篇。如果您还未阅读之前的文章,建议您从第一篇入手。 在上一篇文章中,我们说到了使用 WebAssembly 和 JavaScript...

    seal_de 评论0 收藏0
  • 图说 WebAssembly(四):快速入门

    摘要:本文是图说系列文章的第四篇。它们表示一种可以在普遍流行机器上高效使用的指令集合。这是因为是一种称为堆栈机器。尽管是根据堆栈机器来设计的,但是这并不是它在真实物理机器上工作的方式。这些内容称为段。 本文是图说 WebAssembly 系列文章的第四篇。如果您还未阅读之前的文章,建议您从第一篇入手。 WebAssembly 是一种使得除 JavaScript 以外的编程语言也能运行在网页上...

    BoYang 评论0 收藏0
  • 图说 WebAssembly(二):JIT 编译器

    摘要:编译器优缺点与解释器相比,编译器有着相反的优缺点。它们为引擎新增了一个组件,称为监视器,或者。优化编译器会基于监视器记录的代码运行信息来作出一些判断。通常来说,优化编译器会使得代码跑的更快。而这正是优化编译器所做的优化之一。 本文是图说 WebAssembly 系列文章的第二篇,如果你还没阅读其它的,建议您从第一篇开始。 JavaScript 的运行,一开始是很慢的,但是后面会变得越来...

    LuDongWei 评论0 收藏0

发表评论

0条评论

codergarden

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<