关于WebAssembly核心原理, 应用展望

本文介绍了WebAssembly的历史,从2015年的社区成立到2017年成为W3C工作小组标准,以及其作为高性能二进制格式的核心特性。WebAssembly运行在浏览器的安全沙箱中,用于提升性能,弥补JavaScript的不足。通过对比ASM.js,阐述了WASM的类型严格性和编译优势。使用emscripten编译器可将C/C++代码转换为WASM。文章还提到了WASM的内存模型,提供深入探讨的链接。
摘要由CSDN通过智能技术生成
WebAssembly记录
  • 历史
    • 2015年4月 WASM Community Group 成立
    • 2017年3月 四大主流浏览器达成MVP标准共识
    • 2017年8月 WASM W3C Working Group 成立, 开发进入正常技术和标准迭代流程
  • 技术核心
    • 是一种以 .wasm 作为后缀二进制格式(0x6d736100开头), 一种高性能的二进制格式并且可以直接在浏览器加载和运行
    • 可以通过JS接口直接在浏览器加载, 解析和运行
    • 运行在浏览器的安全沙箱内
  • WebAssembly = Web(Web浏览器) + Assembly(高性能)
  • 由于JS性能较低, 所以发明了WebAssembly作为补充
  • Js性能较低的原因
  1. 动态语言
  2. 编译流程复杂冗余, 流入下图即使一个+号运算也需要较复杂的流程判断类型等

Js运算流程以加法运算为例

曾经的其他尝试 ASM.js

  • 一种JavaScript的子集
  • 如下图通过Annotation(参数类型注解)的方式告诉JS引擎具体的解析方式
    ASM引擎的原理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值