- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WebAssembly - 技术变⾰,未来已来
于航(曜彤)
阿⾥巴巴/本地⽣活
在此键⼊姓名
在此键⼊tittle
在此键⼊姓名
在此键⼊tittle
⾃我介绍
前端@阿⾥巴巴 / 本地⽣活
于航 ( 曜彤) 《深⼊浅出 WEBASSEMBLY》作者
FCC 上海社区负责⼈
⽬录 • WebAssembly 简短回顾(背景、原理);
• 各⼤公司的 WebAssembly 线上实践;
• Roadmap & Milestone 发展规划;
• 未来可期的 - WASI ;
Javascript 部分执⾏链路(V8)
ECMA 规定的“+”执⾏流程
x + y
编译链路优化与问题(V8)
曾经的尝试 - ASM.js & PNACL
function plusOne (x) { • 是⼀种 JavaScript 严格⼦集;
x = x|0; // x : int
• 通过 Annotation 的⽅式标注了变量的类型;
return (x + 1)|0;
• 利于编译器的优化;
}
• 提供沙盒环境在浏览器中执⾏的 C/C++ 代码;
• 充分利⽤ CPU 的特性,如 SIMD 、多核⼼处理等;
• 平台独⽴,⼀次编译到处运⾏;
新的⽅案 - WebAssembly
• ⼀种新的抽象虚拟机(W3C)标准;
• 四⼤浏览器已⽀持该标准MVP 版本的所有特性;
• ⼀种以 .wasm 为后缀的⼆进制格式(0x6d736100);
• 可以通过标准 Web API 接⼝在浏览器中加载、解析和运⾏;
WebAssembly 编译完整链路
⼀种新的抽象虚拟机(W3C)标准;
四⼤浏览器已⽀持该标准 MVP 版本的所有特性;
⼀种以 .wasm 作为后缀的⼆进制格式(0x6d736100);
可以通过标准 Web API 接⼝在浏览器中加载、解析和运⾏;
使⽤ Emscripten 构建 Wasm 应⽤ • Virtual File System;
• Pthread;
• Linear Memory;
• …
C/C++ Source Code
⼀个简单的例⼦-C++
#include "emscripten.h"
extern "C" {
C++ EMSCRIPTEN_KEEPALIVE int add(int x, int y) {
return x + y;
toy.cc }
}
⼀个简单的例⼦-CLI
CLI emcc toy.cc -s WASM=1 -O3 -o toy.js
.wasm .js
⼀个简单的例⼦-HTML
<script>
fetch('toy.wasm').then(response =>
response.
1亿VIP精品文档
相关文档
最近下载
- 在线网课学习课堂《舰艇操纵与避碰》单元测试考核答案.docx
- CRTSⅠ型双块式无砟轨道框架式轨排使用说明书.docx
- 飞利浦Shaver series 9000 干湿两用电动剃须刀s9711_33使用说明书.pdf
- 2022年4月自考《00467课程与教学论》试卷及答案.pdf VIP
- 毕业论文(设计)110kv变电站设计(一次部分).doc VIP
- 《建设工程工程量清单计价规范》(GB50500—2023).docx
- 《地方党政领导部安全生产责任制规定》.pptx VIP
- 英语课堂:Fast food转盘互动游戏.pptx
- 崔木煤矿隐蔽致灾地质因素普查报告(2019.6.14).doc VIP
- 【历史】2024年1月贵州省普通高等学校招生考试适应性测试试题.docx
文档评论(0)