刘用涛 CnosDB时序数据库的Rust实践第三届中国Rust开发者大会 CnosDB时序数据库的Rust实践 Yongtao Liu CnosDB 研发工程师 Rust China Conf 2023 CnosDB 是一款基于 Rust 开发的 开源的分布式时序数据库 1. CnosDB 架构与选型 2. 为何从 Go 切换到 Rust 3. 使用 Rust 经验分享 4. 反哺社区 linker=$gcc_prefix-gcc 指示rustc采用的C链接器程序 cross 提供了 “零设置” 的交叉编译 rust crate 它提供了一个环境、交叉工具链和交叉编译库,可以生成最便携的二进制文件 3.4 Rust 交叉编译 1. IO 异步化 平台兼容性 隔离阻塞 IO 异步化 2. io_uring 性能有40%提高 3.50 码力 | 26 页 | 3.28 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人新一代分布式高性能图数据库的构建 北京海致星图科技有限公司 2023-06-18 沈游人 数据库与大数据专场 海致简介—企业级知识图谱开创者 专业顶尖技术团队支撑 超 700 人团队,其中 80% 为技术人员,创始团队在完成全球第一个中文知 识图谱网站研发后,探索知识图谱技术在企业领域的应用。 2021 年,海致院 士专家工作站成立,站内清华大学计算机博士生占比达 90% 以上。 高性能图计算是高性能计算、图计算两项技术融合产生的新的技术方向,满足人们对更大规模、更复 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph ,培育世界级的图计算软硬件 生态体系,保持对全球科技竞争的战略均衡。 海致高性能图计算院士专家工作站 海致获得“ 2021 年 CCF 科学技术奖科技进步卓越奖” CCF 生活中无处不在的图 图分析技术分类 图查询 • 使用图数据库的查询语言进行点边搜索 图算法 • 中心性算法 • 社区算法 • 路径算法 • … 图深度学习 • 图嵌入 • 图卷积 • 图注意力网络 • 图自编码器 图查询及其应用场景 图查询 • 使用图数据库的查询语言进行点边的关联查询,可以快速完成传统数据库难以完成的 多度点边关 联 当前图的典型应用场景 路径识别 群体挖掘0 码力 | 38 页 | 24.68 MB | 1 年前3
Rust 语言学习笔记1.2.1 module 的可见性 ................................................................. 11 1.2.2 引用外部文件模块 ................................................................ 11 1.2.3 多文件模块的层级关系 ....... 5 Re-exporting....................................................................... 14 1.2.6 加载外部库......................................................................... 14 1.2.7 prelude....... rust调用 ffi函数 .................................................................. 68 6.3.2 将 rust 编译成库 .................................................................. 71 6.4 堆,栈,BOX................0 码力 | 117 页 | 2.24 MB | 1 年前3
Rust 程序设计语言简体中文版.............................................................................. 278 12.4. 采用测试驱动开发完善库的功能 ................................................................................ 293 12.5. 处理环境变量 (IOT)程序、机器学习,甚至是 Firefox 浏览器的重要部分。 7/600 Rust 程序设计语言 简体中文版 开源开发者 Rust 适合那些希望构建 Rust 编程语言、社区、开发工具和库的开发者。我们非常欢迎你为 Rust 语言作出贡献。 重视速度和稳定性的开发者 Rust 适合那些渴望在编程语言中寻求速度与稳定性的开发者。对于速度来说,既是指 Rust 可 以运行的多快,也是指编写 制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第 7 章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应 用程序接口)。第 8 章讨论标准库提供的常见集合数据结构,例如 Vector(向量)、字符串和 Hash Map(散列表)。第 9 章探索 Rust 的错误处理的理念与技术。 第 10 章深入介绍泛型(generic)、Trait0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 12.4. 采用测试驱动开发完善库的功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 工具、嵌入式设备、音视频分析与转码、加密货币、生物信息学、搜索引擎、物联网 (IOT)程序、机器学习,甚至是 Firefox 浏览器的重要部分。 开源开发者 Rust 适合那些希望构建 Rust 编程语言、社区、开发工具和库的开发者。我们非常欢迎你为 Rust 语言作出贡献。 7/562Rust 程序设计语言 简体中文版 重视速度和稳定性的开发者 Rust 适合那些渴望在编程语言中寻求速度与稳定性的开发者。对于速度来说,既是指 控 制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第七章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应 用程序接口)。第八章讨论标准库提供的常见集合数据结构,例如 Vector(向量)、字符串和 Hash Map(散列表)。第九章探索 Rust 的错误处理的理念与技术。 第十章深入介绍泛型(generic)、Trait 和生命周期0 码力 | 562 页 | 3.23 MB | 25 天前3
Comprehensive Rust(简体中文) 202412. . . . . . . . . . . . . . . . . . . . . . . . 78 IV 第二天:下午 79 15 Welcome Back 80 16 标准库类型 81 16.1 标准库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 16.2 文档 . use、super、self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 26.5 练习:面向 GUI 库的模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 26.5.1 解答 . . . . . . . . . . . 33.1 Rust 二进制文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 33.2 Rust 库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 34 AIDL 191 34.1 /**0 码力 | 359 页 | 1.33 MB | 10 月前3
Comprehensive Rust(繁体中文)你可以藉由改變區塊中的最後一行來觀察區塊數值的變化。舉例來說,新增或刪除一個分號,或者使 用 return。 6.4.1 範圍和遮蔽 變數的有效範疇受限於封閉其變數的區塊。 您可以遮蔽變量,包括來自外部範圍以及來自同一範圍的變量: fn main() { let a = 10; println!("before: {a}"); { let a = "hello"; println!("inner in inner scope: {a}"); } println!("after: {a}"); } • 請說明變數的範疇受到限制,做法是在最後一個範例的內部區塊中新增 b,然後嘗試在該區塊外部 存取 b。 • Shadowing is different from mutation, because after shadowing both variable's memory locations minutes 對裸指標解參考 10 minutes 可變的靜態變數 5 minutes 聯合體 5 minutes 呼叫不安全的函式 5 minutes 實作不安全的特徵 5 minutes 練習:封裝外部函式介面 (FFI) 30 minutes 30.1 不安全的 Rust Rust 語言包含兩個部分: • **安全的 Rust:**可確保記憶體安全,無法觸發未定義的行為。 • **不安全的0 码力 | 358 页 | 1.41 MB | 10 月前3
Comprehensive Rust(繁体中文) 202406你可以藉由改變區塊中的最後一行來觀察區塊數值的變化。舉例來說,新增或刪除一個分號,或者使 用 return。 6.4.1 範圍和遮蔽 變數的有效範疇受限於封閉其變數的區塊。 您可以遮蔽變量,包括來自外部範圍以及來自同一範圍的變量: fn main() { let a = 10; println!("before: {a}"); { let a = "hello"; println!("inner in inner scope: {a}"); } println!("after: {a}"); } • 請說明變數的範疇受到限制,做法是在最後一個範例的內部區塊中新增 b,然後嘗試在該區塊外部 存取 b。 • Shadowing is different from mutation, because after shadowing both variable's memory locations minutes 對裸指標解參考 10 minutes 可變的靜態變數 5 minutes 聯合體 5 minutes 呼叫不安全的函式 5 minutes 實作不安全的特徵 5 minutes 練習:封裝外部函式介面 (FFI) 30 minutes 30.1 不安全的 Rust Rust 語言包含兩個部分: • **安全的 Rust:**可確保記憶體安全,無法觸發未定義的行為。 • **不安全的0 码力 | 356 页 | 1.41 MB | 1 年前3
应用 waPC (rust) 做软件测试工具协议标准化了本机代码调用 WebAssembly 和 WebAssembly 调用本机代码的通信 (messaging) 和 错误处理 (error handling) 。 什么是 waPC? WASM 外部函数 接口 FFI Input type Return type Platform 底层 I32 I32 Unknown waPC &[u8] Result,error 0 码力 | 30 页 | 2.50 MB | 1 年前3
Comprehensive Rust(日语) 202412rather longer and more complicated. 組み込みの Send トレイトと Sync トレイトはアンセーフです。 30.7 安全な FFI ラッパ Rust は、外部関数インターフェース(FFI)を介した関数呼び出しを強力にサポートしています。これを 使用して、ディレクトリ内のファイル名を読み取るために C プログラムで使用する libc 関数の安全 なラッパーを作成します。 は他の言語との相互運用性に優れているため、次のことが可能です。 • 他の言語から Rust 関数を呼び出す。 • Rust から他の言語で記述された関数を呼び出す。 他の言語の関数を呼び出す場合は、外部関数インターフェース(FFI: foreign function interface)を使 用します。 37.1 C との相互運用性 Rust は、C の呼び出し規則によるオブジェクトファイルのリンクを完全にサポートしています。同様 つつも、豊富な型システムのおかげで堅牢で、 (インタプリタ言語ではなくコンパイル言語 なので)実行速度が高速です。 – Rust エコシステムに参加するには、Cargo などの標準の Rust ツールを使用する必要が あります。外部からコントリビューションを受け、Chromium 以外(Bazel や Android / Soong のビルド環境など)での使用が推奨されるライブラリでは、Cargo を使用すること をおすすめします。0 码力 | 381 页 | 1.36 MB | 10 月前3
共 37 条
- 1
- 2
- 3
- 4













