于航—WebAssembly — 技术变革,未来已来.pdf

于航—WebAssembly — 技术变革,未来已来.pdf

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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.

文档评论(0)

daozhu_ + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档