Developing & Debugging WebAssembly Filters### solo.io ## Developing & Debugging WebAssembly Filters Idit Levine & Yuval Kohavi   UPSTREAM ## Why WebAssembly? Polyglot: Envoy Filters are written in C++ and Wasm expands to any language Secure and Reliable: existed in 2008, we wouldn't have needed to create Docker. That's how important it is. Webassembly on the server is the future of computing. A standardized system interface was the missing link0 码力 | 22 页 | 2.22 MB | 2 年前3
WebAssembly 简介 - 陈思衡第三届中国Rust开发者大会 6.17-6.18 @Shanghai WebAssembly 介绍 ## WebAssembly 简介 WebAssembly(简称 Wasm)是一种新的编译目标,帮助在 web 中运行高性能应用。它是一种低级语言,设计为编译器目标,以在 web 浏览器中高效运行。 ## WebAssembly 简介 ## #高性能 WebAssembly 代码可以以接近原生的速度运行,且具有很小的二进制大小和快速加载速度。 且具有很小的二进制大小和快速加载速度。 ## # 安全性 WebAssembly 设计为安全地嵌入到网页中。它提供一种沙箱环境,禁止直接访问浏览器功能或用户数据。而是需要通过 host function 来访问宿主环境。 ## # 标准稳定 WebAssembly 最初由 Mozilla、Google、Microsoft 等主要浏览器供应商共同设计。它现已在所有主流浏览器中实现,包括 Chrome、Firefox、Safari Chrome、Firefox、Safari 和 Edge。 ## # 多语言支持 现在多种语言都有编译器支持 WebAssembly,如 C/C++、Rust、Go、Zig 等。 ## WebAssembly 简介 ## WebAssembly 机制 ## memory Wasm 的 memory 是 host 内存中的一部分。对于 Wasm 而言,这块内存是从 0 开始的,而不是 host 所看到的地址。0 码力 | 24 页 | 773.46 KB | 2 年前3
15 Envoy Istio WebAssembly 扩展实现原理 边鹏远## Envoy/Istio WebAssembly 扩展实现原理 ... 边鹏远 (github: bianpengyuan) ## 目录 Wasm 和 V8 engine 简介 Wasm 扩展对于Envoy的意义 Wasm 扩展在 Envoy 的实现原理 Wasm 扩展在 Istio 的应用 未来工作 ## WebAssembly “WebAssembly (abbreviated 和 NaCl ☐ 不仅面向web,可以在任何地方执行 ## WebAssembly 用途 高性能需求 ☐ 编解码,游戏,多媒体编辑 ☑ 利用现有的C/C++代码库 ☑ 使用任意语言开发Web应用, Rust, AssemblyScript 等等 ☐ 嵌入其他应用: Node.js, CDN 等等 ## WebAssembly 二进制格式 Wasm 二进制文件 -- Wasm module module ☐ 一个 Wasm module 包括 ☐ 函数 ☐ 全局变量 ☐ 引入和输出的函数 ☐ 内存 (linear memory) 要求 ## WebAssembly 简洁的指令集 只有四种数据类型 ☐ i32, i64, f32, f64 ☑ 指令都是基于栈的操作 ☐ 例如 i32.add 从栈取两个值相加然后压入栈中 ☐ 从内存读取数据 ☐ i32.const 10240 码力 | - 页 | 916.89 KB | 1 年前3
夏歌-使用Rust构建LLM应用大部分时间是在等待  Rust 与 WebAssembly - 轻量级 - 资源占用量小 - 节省大量计算资源 # Rewrite it in Rust 为什么不用 Rust? Rust 太难学! 学习曲线太陡峭了,学习周期太长了 招 Rust API,并发布成了 crate,比如 ChatGPT、telegram、GitHub、Discord、向量数据库比如 qdront。 - 整个 serverless 平台是为 Rust 和 WebAssembly 设计的  ### flows0 码力 | 36 页 | 38.31 MB | 2 年前3
基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭性能(C/C++/Rust) • 开发效率 (Rust/Golang/Java) • 编译的产物要足够小(C/C++/Rust) • 内存安全(Rust/Golang/Java) • 对WebAssembly生态支持友好  ## 为什么需要geo-distributed 7/3/c473a090d8d00d0b59d72dafe4494546/p19_1.jpg) ## 什么是Webassembly? • Webassembly,简称wasm - 用一句话描述,那就是Webassembly是执行程序的标准化字节码格式 - Webassembly最初被发明,是用于Web浏览器。 - 由W3C工作组开发的Web浏览器标准,于2017年11月,Chrome,Firefox0 码力 | 31 页 | 3.95 MB | 2 年前3
Rust在Substrate 开发框架中的使用R ## Rust in blockchain Why Rust: All the above features WebAssembly 例子: • Substrate • Libra ## R ## Why blockchain?  support - Secure by default - Secret Discovery Service (SDS) - Auto mTLS - API fix gaps https://istio.io/latest/blog/2020/tradewinds-2020/ #IstioCon ## Extension Ecosystem WebAssembly (Wasm) enhancements ☐ APIs for adding custom Wasm extensions ☐ Focus on Developer workflow ☐0 码力 | 17 页 | 633.89 KB | 1 年前3
02. Service Mesh落地之后_为sidecar注入灵魂 - 周群力2_1.jpg) • Service Mesh 回顾 • Multi Runtime: 从 sidecar 到机甲 • Runtime API: 解决跨云部署和厂商绑定难题 • WebAssembly in sidecar: 让业务逻辑跑在sidecar里 • 展望2022:待解决的问题 • 总结 ## Service Mesh 回顾 ## 由开发了 Linkerd 的Buoyant sidecar vs Micro sidecar Who is right? ## Who cares! - 暴露出抽象API即可, 应用不关心有几个sidecar - 具体部署几个全看取舍 ## WebAssembly in sidecar: 让业务逻辑跑在sidecar里 • 语言无关 - 平台无关 - 可移植 - 内存安全的沙箱隔离环境  现实..... 想拿Webassembly跑FaaS? 目前的科技树还不成熟 0 码力 | 63 页 | 880.85 KB | 2 年前3
SMALL IS GOING BIG: GOON MICROCONTROLLERS
DO A LOT ALREADY ## AND TINYGO IS ALREADY VERY USEFUL FOR SMALL PLACES ## MICROCONTROLLERS ## WEBASSEMBLY ## HOW TINYGO WORKS ## GO → TINYGO → LLM ## GO COMPILER TOOLCHAIN IS WRITTEN IN GO ## LLVM - A { x int y int } const ( frameX = 400 ) ## DEMO ## THE FUTURE OF EDGE COMPUTING ## WEBASSEMBLY ## TINYGO PLAYGROUND #### PLAY.TINYGO.ORG ## DEMO ## RISC-V ### SIFIVE HIFIVE1 REV. B FREEDOM E3100 码力 | 100 页 | 1.40 MB | 2 年前3
webpack wasm challenge## WEBPACK + WEBASSEMBLY WEBPACK AND THE CHALLENGE OF WEBASSEMBLY ## INTRODUCTION WEBASSEMBLY AND ESM ## WEBASSEMBLY? • Low-Level BINARY FORMAT FOR CODE • TYPED (I8 – I64, F32, F64) - MEMORY • USUALLY FROM NATIVE LANGUAGES (C/C++, Rust, ...) • ASSEMBLY-LIKE TEXTUAL REPRESENTATION (WAT) WASM = WEBASSEMBLY ## STRUCTURE OF A WASM-FILE • MULTIPLE SECTIONS: • IMPORT DATA • GLOBALS • EXPORT - FUNCTION-TYPES $getNumber_type) (result i32) (i32.const 40) )) ## WEBASSEMBLY API • 1. FETCH THE BINARY • 2. COMPILE A WebAssembly.Module • 3. INSTANCIATE a WebAssembly.Instance • An importsObject CAN BE PASSED • 40 码力 | 39 页 | 6.70 MB | 2 年前3
共 181 条
- 1
- 2
- 3
- 4
- 5
- 6
- 19
相关搜索词
WebAssemblyEnvoy ProxyIstio Service MeshOCI Image SpecificationSolo.ioWASIAsyncifyBinaryen编译器EnvoyIstioV8 engineApplication Binary InterfaceRustLLMServerless平台WasmEdgeHPMQ边缘计算MQTTSubstrate区块链Runtime ModuleDay 2 Operations升级维护Service MeshsidecarMulti RuntimeRuntime APITinyGoLLVM微控制器GopherConWebpacki64ESM模块生命周期













