⽤ egg 孵化你的 SQL 优化器 - 王润基第三届中国Rust开发者⼤会 ⽤ egg 孵化你的 SQL 优化器 王润基 RisingWave 内核开发⼯程师 ? Parser Binder Optimizer Executor SQL AST Logical Plan Physical Plan Table Catalog Storage RisingLight 查询引擎的整体结构 SELECT name, url 连接重排序 连接算法选择 TopN A Order TopN A Limit 查询优化 定义计划节点 定义重写规则 ⽤纯 Rust 编写的第⼀代优化器 Visitor 模式 ⽤纯 Rust 编写的第⼀代优化器 e-class e-node Rewriting Rewriting (* ?x 2) => (<< ?x 1) Rewriting (* ?x 2) =>0 码力 | 39 页 | 6.48 MB | 1 年前3
KCL: Rust 在编译器领域的实践与探索第三届中国Rust开发者大会 KCL: Rust 在编译器领域的实践与探索 张正 蚂蚁集团 Agenda 01 KusionStack 与 KCL 02 用 Rust 重写 KCL 03 Rust 重写后的收益 04 更多的探索 01 KusionStack 与 KCL KusionStack是什么? KusionStack架构 KCL KusionStack 是什么? Language Server KCL Compiler KCL Package Manager 02 用 Rust 重写 KCL Python 代码翻译 栈式虚拟机 Rust 编译器 KCL 编译器架构升级 Source Code AST LLVM IR Native/WASM Source Code AST Bit code VM Source Code Python Rust 强大的编译检查和错误 处理方式, 更少的 Bug 稳定性提升 端到端编译执行性能提升了 66% 66 % 20 & 40 前端解析器性能提升 20倍 中端语义分析器性能提升40倍 稳定性和性能的巨大提升 50 % 语言编译器编译过程平均内存使用 量变为原来 Python 版本的一半 01 02 03 04 Case1: 单文件编译 > https://github0 码力 | 25 页 | 3.50 MB | 1 年前3
运⾏在浏览器中的 P2P ⽹络 - 李敏成运⾏在浏览器中的 P2P ⽹络 李敏成 from RingsNetwork Montivation 连接所有钱包持有者 去中⼼化的 Pure P2P ⽹络 The Idea 最好的节点载体是浏览器 ⽤户群体 钱包插件 运⾏环境 How to P2P Did: Wallet Address E2E secure(sign/encryption): Wallet Discovery Connect through WebRTC Route by Chord DHT Rings-node browser extension Rings-node daemon 浏览器节点 服务器节点 Node communication Node A Node B Create Offer ConnectNodeSend ConnectNodeReport Pending0 码力 | 23 页 | 1.74 MB | 1 年前3
基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭⽤⼀句话描述,那就是Webassembly是执⾏程序的标准化字节码格式 • Webassembly最初被发明,是⽤于Web浏览器。 • 由W3C⼯作组开发的Web浏览器标准,于2017年11⽉, Chrome,Firefox,Microsoft Edge,Safari四⼤浏览器都开始实验性的⽀持 • 它在浏览器以外也有很⼴泛的运⽤,特别是在边缘计算领域。 • ⽀持多语⾔开发,⽐如Go,Python, rust,Javascript等 受限的设备上跑起来; Wasm vs Docker • Kubedge? • OpenYurt? • Krustlet? wasm如何分发部署? 3. HPMQ函数开发说明 HPMQ平台 触发器 公共函数 (⽐如:tb2aws) 私有函数 配置 关联 关联 使⽤流程 编写函数 Hpmqfile OCI镜像 镜像仓库 hpmq-cli build hpmq-cli push0 码力 | 31 页 | 3.95 MB | 1 年前3
Comprehensive Rust(简体中文) 20241216.7 HashMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 16.8 练习:计数器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 16.8.1 解答 . . . . . . . 7 Drop 特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 19.8 练习:构建器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 19.8.1 解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 VII 第四天:上午 139 24 Welcome to Day 4 140 25 迭代器 141 25.1 Iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 250 码力 | 359 页 | 1.33 MB | 11 月前3
A tale of Rust, the ESP32 and IoT• Dereference raw pointers • … ESP-IDF & Rust FreeRTOS HTTP TCP/IP WiFi TLS … serde / JSON alloc „http“ „timer“ malloc core My App Rust C – ESP IDF End-to-end example https://github.c edition-eclipse-ide • Rust for ESP32 • https://github.com/ctron/rust- esp-container/ • Rust, ESP32, ESP-IDF, Hono • https://github.com/ctron/rust- esp32-hono • LLVM for Xtensa • https://github.com/espressif/llv0 码力 | 37 页 | 3.51 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0将错误信息输出到标准错误而不是标准输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 13. 函数式语言特性:迭代器与闭包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 13.2. 使用迭代器处理元素序列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 13.4. 性能比较:循环对迭代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 1 月前3
Comprehensive Rust(繁体中文)39 8.2 元組 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.3 疊代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.4 模式配對 . . . . 16.7 HashMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 16.8 練習:計數器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 16.8.1 解決方案 . . . . . . 17.1 比較 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 17.2 疊代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 17.3 From 和 Into0 码力 | 358 页 | 1.41 MB | 11 月前3
Comprehensive Rust(繁体中文) 20240637 8.2 元組 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 8.3 疊代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 8.4 模式配對 . . . . 16.7 HashMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 16.8 練習:計數器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 16.8.1 解決方案 . . . . . . 17.1 比較 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 17.2 疊代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 17.3 From 和 Into0 码力 | 356 页 | 1.41 MB | 1 年前3
WebAssembly 简介 - 陈思衡中运行高性能应用。它是一种低级语言,设计为编 译器目标,以在 web 浏览器中高效运行。 WebAssembly 介绍 WebAssembly 代码可以以接近原生的速度 运行,且具有很小的二进制大小和快速加 载速度。 # 高性能 WebAssembly 最初由 Mozilla、Google、 Microsoft 等主要浏览器供应商共同设计。 它现已在所有主流浏览器中实现,包括 Chrome、Firefox、Safari 和 Edge。 # 标准稳定 # 多语言支持 WebAssembly 设计为安全地嵌入到网页 中。它提供一种沙箱环境,禁止直接访问 浏览器功能或用户数据。而是需要通过 host function 来访问宿主环境。 # 安全性 现在多种语言都有编译器支持 WebAssembly,如 C/C++、Rust、Go、Zig 等。 WebAssembly 简介 Photo / image / 对于 Wasm 而言,这块内存是从 0 开始的,而不是 host 所看到的地址。 WebAssembly 机制 memory Wasm 编写的 function 可以通过 “export” 导出给 host 调用。 Host 可以把自己的 function 通过 “import“ 提供给 wasm 调用。 function WebAssembly 简介 Photo / image0 码力 | 24 页 | 773.46 KB | 1 年前3
共 49 条
- 1
- 2
- 3
- 4
- 5













