Await-Tree Async Rust 可观测性的灵丹妙药 - 赵梓淇回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 Async Rust 的优势 • 异步编程的共同优势 • async/await Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 设计目标 Await Tree 的设计原理与实现 • 追踪关键 Future 的生命周期和控制流 • Init, First Poll, Pending, Next Poll, Ready Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 Await Tree 在 RisingWave 中的应用 • 云原生 SQL 流式数据库 • risingwave.com • GitHub 4.5k Stars • “Materialized0 码力 | 37 页 | 8.60 MB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青咪咕-星际广场:10万人级别同屏同步元宇宙项目 分布式渲染技术 分布式实时物理技术 10万人 最高同时在线人数超过 12万平米 模拟场地面积达到 全球首个 基于云原生渲染和 物理引擎的应用案例 物理建模 全部用户之间、用户与道具 和场景间均可实时物理交互 横向扩展能力 单个节点的计算复杂度和 网络通信复杂度,不会随 集群总规模的上升而上 升,集群可线性扩容 单机架构 同屏大规模物理量模拟 同屏大规模物理量模拟 单机渲染帧率3fps VS Motphys 分布式架构 10倍于上述场景中的物理量 单机渲染帧率 25fps 物理集群帧率 50fps 此时物理模拟已不是算力瓶颈 Unity 测试案例 Thank you! Motphys0 码力 | 22 页 | 1.18 MB | 1 年前3
Hello 算法 1.1.0 Rust版展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常用在各类安全 应用与协议中。 ‧ SHA‑3 相较 SHA‑2 的实现开销更低、计算效率更高,但目前使用覆盖度不如 SHA‑2 系列。 表 6‑2 常见的哈希算法 MD5 SHA‑1 在链表表示下,二叉树的存储单元为节点 TreeNode ,节点之间通过指针相连接。上一节介绍了链表表示下的 二叉树的各项基本操作。 那么,我们能否用数组来表示二叉树呢?答案是肯定的。 7.3.1 表示完美二叉树 先分析一个简单案例。给定一棵完美二叉树,我们将所有节点按照层序遍历的顺序存储在一个数组中,则每 个节点都对应唯一的数组索引。 根据层序遍历的特性,我们可以推导出父节点索引与子节点索引之间的“映射公式”:若某节点的索引为 7‑31 所示,对于上述失衡二叉树的镜像情况,需要先对 child 执行“右旋”,再对 node 执行“左旋”。 图 7‑31 先右旋后左旋 5. 旋转的选择 图 7‑32 展示的四种失衡情况与上述案例逐个对应,分别需要采用右旋、先左旋后右旋、先右旋后左旋、左旋 的操作。 图 7‑32 AVL 树的四种旋转情况 如下表所示,我们通过判断失衡节点的平衡因子以及较高一侧子节点的平衡因子的正负号,来确定失衡节点0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常用在各类安全 应用与协议中。 ‧ SHA‑3 相较 SHA‑2 的实现开销更低、计算效率更高,但目前使用覆盖度不如 SHA‑2 系列。 表 6‑2 常见的哈希算法 MD5 SHA‑1 在链表表示下,二叉树的存储单元为节点 TreeNode ,节点之间通过指针相连接。上一节介绍了链表表示下的 二叉树的各项基本操作。 那么,我们能否用数组来表示二叉树呢?答案是肯定的。 7.3.1 表示完美二叉树 先分析一个简单案例。给定一棵完美二叉树,我们将所有节点按照层序遍历的顺序存储在一个数组中,则每 个节点都对应唯一的数组索引。 根据层序遍历的特性,我们可以推导出父节点索引与子节点索引之间的“映射公式”:若某节点的索引为 7‑31 所示,对于上述失衡二叉树的镜像情况,需要先对 child 执行“右旋”,再对 node 执行“左旋”。 图 7‑31 先右旋后左旋 5. 旋转的选择 图 7‑32 展示的四种失衡情况与上述案例逐个对应,分别需要采用右旋、先左旋后右旋、先右旋后左旋、左旋 的操作。 第 7 章 树 www.hello‑algo.com 172 图 7‑32 AVL 树的四种旋转情况 如下表所示,我们0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版展示了在实际应用中常见的哈希算法。 ‧ MD5 和 SHA‑1 已多次被成功攻击,因此它们被各类安全应用弃用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的哈希算法之一,仍未出现成功的攻击案例,因此常用在各类安全 应用与协议中。 ‧ SHA‑3 相较 SHA‑2 的实现开销更低、计算效率更高,但目前使用覆盖度不如 SHA‑2 系列。 表 6‑2 常见的哈希算法 MD5 SHA‑1 在链表表示下,二叉树的存储单元为节点 TreeNode ,节点之间通过指针相连接。上一节介绍了链表表示下的 二叉树的各项基本操作。 那么,我们能否用数组来表示二叉树呢?答案是肯定的。 7.3.1 表示完美二叉树 先分析一个简单案例。给定一棵完美二叉树,我们将所有节点按照层序遍历的顺序存储在一个数组中,则每 个节点都对应唯一的数组索引。 根据层序遍历的特性,我们可以推导出父节点索引与子节点索引之间的“映射公式”:若某节点的索引为 7‑31 所示,对于上述失衡二叉树的镜像情况,需要先对 child 执行“右旋”,再对 node 执行“左旋”。 图 7‑31 先右旋后左旋 5. 旋转的选择 图 7‑32 展示的四种失衡情况与上述案例逐个对应,分别需要采用右旋、先左旋后右旋、先右旋后左旋、左旋 的操作。 图 7‑32 AVL 树的四种旋转情况 如下表所示,我们通过判断失衡节点的平衡因子以及较高一侧子节点的平衡因子的正负号,来确定失衡节点0 码力 | 383 页 | 17.61 MB | 1 年前3
Rust OS 开源操作系统训练营的教与学-0615-李明# 行业共建 排行榜你追我赶,激发学习动力 源自高校,联合行业共同培养 训练营的六大要素 2 3 4 5 6 Rust OS 开源操作系统训练营的教与学 3 2023春夏季OS训练营案例总结 2023.4 ~ 2023.7 学员报名情况 • 以在校大学生/研究生为主 • 占比约 70% 学员技术背景调查 • 入营前的技术栈分布相对比较均衡,硬件驱动方向略多 教学安排0 码力 | 26 页 | 2.62 MB | 1 年前3
基于静态分析的Rust内存安全缺陷检测研究四、论文发表心得 实验效果 ❑ 基于已知CVE评 估检测能力 ❑ 基于GitHub上其 它开源Rust项目 的实验 高召回率 低误报率 double free和悬空指 针问题比较多 案例分析 Panic将导致双重释放 提前 性能:SafeDrop vs 原始Rust编译器 总结和思考 ❑ 问题根源是Rust的自动析构机制 ▪ XOR Mutability保证自动析构的安全性0 码力 | 28 页 | 1.55 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Rust 版展示了在實際應用中常見的雜湊演 算法。 ‧ MD5 和 SHA‑1 已多次被成功攻擊,因此它們被各類安全應用棄用。 ‧ SHA‑2 系列中的 SHA‑256 是最安全的雜湊演算法之一,仍未出現成功的攻擊案例,因此常用在各類安 全應用與協議中。 ‧ SHA‑3 相較 SHA‑2 的實現開銷更低、計算效率更高,但目前使用覆蓋度不如 SHA‑2 系列。 表 6‑2 常見的雜湊演算法 MD5 SHA‑1 TreeNode ,節點之間透過指標相連線。上一節介紹了鏈結串列 表示下的二元樹的各項基本操作。 那麼,我們能否用陣列來表示二元樹呢?答案是肯定的。 7.3.1 表示完美二元樹 先分析一個簡單案例。給定一棵完美二元樹,我們將所有節點按照層序走訪的順序儲存在一個陣列中,則每 個節點都對應唯一的陣列索引。 根據層序走訪的特性,我們可以推導出父節點索引與子節點索引之間的“對映公式”:若某節點的索引為 7‑31 所示,對於上述失衡二元樹的映象情況,需要先對 child 執行“右旋”,再對 node 執行“左旋”。 圖 7‑31 先右旋後左旋 5. 旋轉的選擇 圖 7‑32 展示的四種失衡情況與上述案例逐個對應,分別需要採用右旋、先左旋後右旋、先右旋後左旋、左旋 的操作。 第 7 章 樹 www.hello‑algo.com 172 圖 7‑32 AVL 樹的四種旋轉情況 如下表所示,我們0 码力 | 388 页 | 18.82 MB | 10 月前3
Comprehensive Rust(繁体中文)Rust 中編寫的獨 立測試。 44.1 rust_gtest_interop 程式庫 rust_gtest_interop 程式庫提供以下功能: • 使用 Rust 函式做為 gtest 測試案例 (使用#[gtest(...)] 屬性) • 使用 expect_eq! 和類似的巨集 (類似於 assert_eq!,但不會導致恐慌,斷言失敗時也不會終 止測試)。 230 Example:0 码力 | 358 页 | 1.41 MB | 11 月前3
Comprehensive Rust(繁体中文) 202406Rust 中編寫的獨 立測試。 44.1 rust_gtest_interop 程式庫 rust_gtest_interop 程式庫提供以下功能: • 使用 Rust 函式做為 gtest 測試案例 (使用#[gtest(...)] 屬性) • 使用 expect_eq! 和類似的巨集 (類似於 assert_eq!,但不會導致恐慌,斷言失敗時也不會終 止測試)。 228 Example:0 码力 | 356 页 | 1.41 MB | 1 年前3
共 12 条
- 1
- 2













