标签: WebAssembly

不是你想象的那么快:WebAssembly 与原生代码性能对比分析

不是你想象的那么快:WebAssembly 与原生代码性能对比分析

在SPEC CPU基准测试套件中,我们发现显著性能差距:编译为WebAssembly的应用程序运行速度平均慢45%(Firefox)至55%(Chrome),峰值降速达2.08倍(Firefox)和2.5倍(Chrome)。我们识别出导致性能下降的原因,部分源于优化缺失和代码生成问题,另一些则源于WebAssembly平台本身的固有特性

webassembly 二维布料仿真模型

webassembly 二维布料仿真模型

Rust、2D 模拟、物理模拟、布料模拟、Rust Wasm、交互式演示、软体、webassembly 模拟、游戏物理、粒子系统、程序动画

我第一次涉足 WebAssembly 的经验教训

我第一次涉足 WebAssembly 的经验教训

WASM 是一种规范,定义了哈佛架构的抽象堆栈机和相关格式。它只有四种类型:i32、i64、f32 和 f64。它还具有从 0 开始的 “线性 ”八位可寻址内存,在加载和存储时没有对齐限制。零地址是一个有效的、可写的地址,这就再次出现了一些老式高级语言在空指针方面的难题。

Java 极客眼中的 WebAssembly

Java 极客眼中的 WebAssembly

Java极客眼中的WebAssembly

WebAssembly 真能取代 Kubernetes?

WebAssembly 真能取代 Kubernetes?

在某些情况下,Wasm 确实可以取代 Docker 和容器。

WebAssembly成为浏览器第二编程语言?

WebAssembly成为浏览器第二编程语言?

WebAssembly 无疑是近年来让人最为兴奋的新技术之一,其中最为被人所熟知的三点有: 二进制格式 Low-Level 的编译目标 接近 Native 的执行效率

WebAssembly(wasm)到底是什么

WebAssembly(wasm)到底是什么

WebAssembly的前身,asm.js诞生了。但是无论asm.js对静态类型的问题解决的再好,它始终逃不过要经过Parser和ByteCode Compiler,这也是JavaScript代码在引擎执行过程中最耗时的两步。

WebAssembly 到底处于编译阶段的哪个环节?

WebAssembly 到底处于编译阶段的哪个环节?

那为啥 WebAssembly 的性能就一定会比 JavaScript 好很多呢?具体原因还得看下它们到底是处于编译阶段哪个环节了。

恕我直言,90% 的应用场景都不需要用 WebAssembly!

恕我直言,90% 的应用场景都不需要用 WebAssembly!

本文阐述了 WebAssembly 诞生的背景,并从实践案例中分析了 WebAssembly 到底带来了多少性能提升。

专访:在 WebAssembly 的浏览器上运行《毁灭战士 3》

专访:在 WebAssembly 的浏览器上运行《毁灭战士 3》

将标志性的《毁灭战士 3》游戏移植到了浏览器上。为期 7 周的全职投入,展示了当前 WebAssembly 在无缝运行重量级桌面应用程序和游戏方面的性能潜力和缺失的部分

WebAssembly的未来:潜在新特性一览

WebAssembly的未来:潜在新特性一览

。第2阶段(规范提议)包括BigInt转换。第2阶段(实现)包括引用类型和返回多个值。第4阶段(标准化)包括导出和导入可变全局变量和有符号扩展操作。

WebAssembly 和 Go语言:对未来的观望

WebAssembly 和 Go语言:对未来的观望

当听到 WebAssembly(wasm) 最近支持 Go 语言时,我知道实验的时机已经成熟,并且迫切期待尝试。在尝试之前我读了些好文章,而这篇文章将记录我的一些体验。

WebAssembly 能干什么?8个WebAssembly 应用案例

WebAssembly 能干什么?8个WebAssembly 应用案例

WebAssembly 的设计目标:定义一个可移植,体积紧凑,加载迅速的二进制格式为编译目标,而此二进制格式文件将可以在各种平台(包括移动设备和物联网设备)上被编译,然后发挥通用的硬件性能以原生应用的速度运行。

WebAssembly得到了所有浏览器的支持

WebAssembly得到了所有浏览器的支持

随着9月19日Safari和10月31日Edge的发布,苹果与微软加入了谷歌和Mozilla,在生成环境浏览器中提供了对WebAssembly的支持。这四家公司的浏览器都能运行编译为wasm二进制格式的代码。

WebAssembly:解决 JavaScript 痼疾的一颗银弹?

WebAssembly:解决 JavaScript 痼疾的一颗银弹?

提到了 WebAssembly,就必然首先提及对其有深远影响的 asm.js,这是 Mozilla 在 2013 年推出的一项新技术,它是 JavaScript 的一个子集,舍弃了大量会导致性能问题的语法,并且被设计为通过 C / C++ 代码编译生成,而非手工编写 asm.js 代码。上述的 sum 函数在 asm.js 中表现为:

WebAssembly,火狐赢了?

WebAssembly,火狐赢了?

当然,Google和其他团队在WebAssembly标准的制定上也功不可没。针对PNaCl插件,Google已经发布了迁移文档。可以说,WebAssembly标准的发布,真正的赢家是开发者!

谷歌力推WebAssembly,要干掉JS?

谷歌力推WebAssembly,要干掉JS?

虽然WebAssembly还比较新,但它已经被证明是快速响应Web应用程序和站点的有效方法。起初,WebAssembly被描述为“在网络上运行C ++的一种方式”,尽管我对C ++和Web都很热爱,但技术上总是模糊不清。直到2016年,我在Chrome开发工具峰会上再次听到这个消息,我决定尝试一下。

WebAssembly的工作原理

WebAssembly的工作原理

编译和优化阶段,WebAssembly 更具优势,因为 WebAssembly 的代码更接近机器码,而 JavaScript 要先通过服务器端进行代码优化。这就是为什么在大多数情况下,同一个任务 WebAssembly 比 JavaScript 表现更好的原因。

WebAssembly是个什么鬼?

WebAssembly是个什么鬼?

WebAssembly 是除了 JavaScript 以外,另一种可以在浏览器中执行的编程语言。所以当人们说 WebAssembly 更快的时候,一般来讲是与 JavaScript 相比而言的。这里并不是暗示大家说开发时只能选择 WebAssembly或 JavaScript。实际上,我们更希望在同一个工程中,两个你同时使用。对二者的比较倒是非常有必要的,这样你就可以了解到 WebAssembly 所拥有的独特特性。

为什么浏览器里的WebAssembly能达到本地应用的速度?

为什么浏览器里的WebAssembly能达到本地应用的速度?

当然,“快”是相对的概念。相比于 JavaScript 和其他动态语言,WebAssembly 的快主要是因为它的静态类型特性和方便优化特性。WebAssembly 意在速度上能够达到和本地执行一样快,其实 asm.js 已经比较接近这一目标了,但是 WebAssembly 要进一步缩短和本地执行速度之间的差距。因此本文着重介绍为什么 WebAssembly 比 asm.js 更快。

WebAssembly能否代替JavaScript,成为程序员的新宠?

WebAssembly能否代替JavaScript,成为程序员的新宠?

除了Firefox,Google也在其Chrome浏览器和Chromium项目中拥抱了WebAssembly,所以作为一个程序员,你应该对WebAssembly引起足够的重视,未来快速加载Web应用程序的需求肯定会增加。