Rust 异步并发框架在移动端的应用 - 陈明煜第三届中国 Rust 开发者大会 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com 华为 公共开发部 嵌入式软件能力中心 本科就读加州大学圣地亚哥分校,毕业时长两年半, Rustacean 在 华为 目前正在使用 Rust 开发并行调度框架等模块。 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com Rust #1 Rust 异步简介 Ylong async runtime #3 Ylong Runtime 并发框架 目录 Table of Contents #2 社区并发框架介绍以及与移动端的不适配性 Introduction to third party Runtime crates and their incompatibility with mobile environment 现有框架无法完美适配移动端(一) Core Thread Thread Worker Worker task task Local queue Local queue Tokio 采用了如右图这种 GMP 模式: • 一核可以绑定多线程,每个线程拥有一个 Worker ,每个 Worker 拥有一个任务队列 • 但线程拥有相同优先级 • Worker 只持有一个本地 FIFO 队列 移动端诉求:优先级0 码力 | 25 页 | 1.64 MB | 1 年前3
在Solana合约链实现IBC协议跨链互操作 - 苏胤榕第三届中国Rust开发者大会 @DaviRain 在Solana合约链 实现IBC协议跨链互操作 简单介绍下IBC协议是什么,及其生态 简介 > 介绍IBC协议和其在跨链互操作中的作用 IBC协议中的角色和参与者 1. 客户端 2. 连接 3. 通道 4. 包 4. 中继器 解释为什么选择在Rust合约链中实现IBC协议 - IBC Connection创建原理 Connection创建OpenInit Connection创建OpenTry Connection创建OpenAck Connection创建OpenConfirm 轻客户端核心 使用Rust在Rust合约链实现IBC协议 Rust合约链概述> 解释为什么选择Rust作为实现IBC协议的语言 1. Rust语言的安全性和性能优势 2. Rust生态系统的丰富性 高性能区块链平台,提供了完善的开发工具和文档,可 以帮助开发者更加便捷地进行Rust合约链开发。 4. Informal Systems提供的IBC协议Rust语言实现和 协议的形式化验证可以有效提高IBC协议的安全性和可 靠性,保障跨链交易的安全和正确性。 简要介绍Solana作为使用Rust开发智能合约的平台 在Solana链上实现IBC协议的核心要点 IBC在Solana上的实现> 集成ibc-rs仓库实现solana-ibc0 码力 | 29 页 | 3.05 MB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青基础硬件: 5G/6G、 半导体、 VR/AR等 基础软件: 渲染引擎、 动作物理引擎等 静态表现力 动态表现力 渲染技术 动作物理技术 动作技术 Motion 物理技术 Physics 规则驱动 AI生成 数据驱动 AI加速 云原生架构和 AI 能力 架构特点 性能特点 功能特点 云原生架构 单机架构 动作物理分离 跨平台确定性 动作物理统一 算力动态调配 分布式计算 物理材质统一解算 算法优化 物理材质单独解算 工程优化 性能待优化 AI仿真加速 前沿动作功能 缺乏动作功能 AI动作生成 优秀的易用性和适配性 缺乏AI能力 保证每个目标平台的极致性能 跨端确定性 – 保证所有目标平台计算结 果完全一致 具备分布式能力 – 通过横向扩展突破单 机物理算力的上限 Motphys 物理引擎的设计目标 Rust 的性能和 C/C++ 比肩,支持 SIMD 法设计保证了语言的强大表达力:用更少 的代码写更多的功能 # 高表达力 # 安全 Rust 依靠 LLVM 实现了多目标平台,并可 以用语言内建的 target_feature 针对不同 的指令集进行处理 # 跨平台 Cargo 真的比 cmake 好太多了 # 依赖管理 # 无惧并发 Rust 在语法层面极大程度保证了内存安全 和并发安全 语言内建的 async/await,还有优秀的 crates rayon(计算密集型并发支持)和0 码力 | 22 页 | 1.18 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0程序设计语言》,这是一本关于 Rust 的入门书籍。Rust 程序设计语言能帮助 你编写更快、更可靠的软件。在编程语言设计中,高层的工程学与底层的控制往往是难以兼得 的;而 Rust 则试图挑战这一矛盾。通过平衡强大的技术能力与优秀的开发者体验,Rust 为你 提供了控制底层细节(如内存使用)的选项,而无需承受通常与此类控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 规则用来组织代码和公开的 API(应 用程序接口)。第八章讨论标准库提供的常见集合数据结构,例如 Vector(向量)、字符串和 Hash Map(散列表)。第九章探索 Rust 的错误处理的理念与技术。 第十章深入介绍泛型(generic)、Trait 和生命周期(lifetime),这些功能让你能够定义适用 于多种类型的代码。第十一章全面讲述了测试,因为就算 Rust 有安全保证,也需要测试确保 一个高级主题大杂烩,包括不安全 Rust(unsafe Rust)、宏(macro)和更多关于生命周期、 Trait、类型、函数和闭包的内容。 第二十一章我们将会完成一个项目,实现一个底层多线程的 Web 服务端! 最后的附录包含了一些关于该语言的实用信息,其格式更像是参考资料。附录 A 涵盖了 Rust 的关键字,附录 B 涵盖了 Rust 的运算符和符号,附录 C 涵盖了标准库提供的可派生 trait,附0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 程序设计语言简体中文版程序设计语言》,这是一本关于 Rust 的入门书籍。Rust 程序设计语言能帮助 你编写更快、更可靠的软件。在编程语言设计中,高层的工程学与底层的控制往往是难以兼得 的;而 Rust 则试图挑战这一矛盾。通过平衡强大的技术能力与优秀的开发者体验,Rust 为你 提供了控制底层细节(如内存使用)的选项,而无需承受通常与此类控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 组织代码和公开的 API(应 用程序接口)。第 8 章讨论标准库提供的常见集合数据结构,例如 Vector(向量)、字符串和 Hash Map(散列表)。第 9 章探索 Rust 的错误处理的理念与技术。 第 10 章深入介绍泛型(generic)、Trait 和生命周期(lifetime),这些功能让你能够定义适用 于多种类型的代码。第 11 章全面讲述了测试,,因为就算 Rust 有安全保证,也需要测试确保 another_function 函数并打印它的信息。 参数 我们可以定义为拥有 参数(parameters)的函数,参数是特殊变量,是函数签名的一部分。 当函数拥有参数(形参)时,可以为这些参数提供具体的值(实参)。技术上讲,这些具体值 55/600 Rust 程序设计语言 简体中文版 被称为参数(arguments),但是在日常交流中,人们倾向于不区分使用 parameter 和 argument 来表示函0 码力 | 600 页 | 12.99 MB | 1 年前3
简谈 Rust 与国密 TLS - 王江桐Cryptography Rust China Conf 2022 – 2023, Shanghai, China • 商用密码是中华人民共和国政府用于非国家机密信息保护所采用的一系列密码技术和密 码产品的总称,其相关技术部分为国家秘密。商用密码的研发及使用由国家密码管理局 统一管理。 • 根据国家密码管理局2007年4月23日公布的《商用密码产品使用管理规定》和《境外组 织和个人在华使用密码产品管理办法》: 主要用于用户的身份认证,据新华网公开报道,SM9 的加密强度等同于 3072 位密钥的 RSA 加密算法,也就是 128 位安全位数。 • 适用于互联网应用的各种新兴应用的安全保障,如基于云技术的密码服务、电子邮件安全、智能终 端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现 数据加密、身份认证、通话加密、通道加密等。 SM9 Introduction of SM9 国密 TLS 指使用国密套件的 TLS 协议,包含如下规范: • GM/T 0024-2014 SSL VPN技术规范:国密 SSL 协议,参考了 TLS 1.0 规范,整个协议握手与加密流程基本 与其一致,但和 TLS 1.0 并不兼容; • GB/T 38636-2020 信息安全技术 传输层密码协议(TLCP):TLCP 协议,参考 TLS 1.2 规范,基本兼容 GM/T 0024-20140 码力 | 44 页 | 3.70 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人新一代分布式高性能图数据库的构建 北京海致星图科技有限公司 2023-06-18 沈游人 数据库与大数据专场 海致简介—企业级知识图谱开创者 专业顶尖技术团队支撑 超 700 人团队,其中 80% 为技术人员,创始团队在完成全球第一个中文知 识图谱网站研发后,探索知识图谱技术在企业领域的应用。 2021 年,海致院 士专家工作站成立,站内清华大学计算机博士生占比达 90% 以上。 企业级数据解决方案专家 海致专注为政府、金融、能源等客户提供大数据处理、分析、挖掘服务,在互 联网技术基础上,打造专业、易用的企业级大数据实战应用产品及解决方案。 北京中关村总部 武汉运维中心 深圳研发中心 上海应用中心 专注于数据智能技术赋能中国数字经济发展 海致高性能图计算院士专家工作站 郑纬民 - 海致科技首席科学家 中国工程院院士、清华大学计算机科学与技术系教 授、中国计算机学会前理事长,中国计算机系统结构 的学 的学科带头人,我国高性能计算和存储系统等方面的 泰斗和先行者。 2021 年 3 月 25 日,海致科技与清华大学计算机科学与技术系共同建设高性能图计算院士专家工作站 。 高性能图计算是高性能计算、图计算两项技术融合产生的新的技术方向,满足人们对更大规模、更复 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph0 码力 | 38 页 | 24.68 MB | 1 年前3
Rust 语言学习笔记use 来实现 Re-exporting。Re-exporting 的字面 意思就是 重新导出。它的意思是这样的,把深层的 item 导出到上层目录中, 使调用的时候,更方便。接口设计中会大量用到这个技术。 还是举上面那个 a::b::c::d 的例子。我们在 main.rs 中,要调用 d, 得使用 use a::b::c::d; 来调用。而如果我们修改 a/mod.rs 文件 为: a/mod static - 静态库 framework - OS X 里的 Framework 5.1.2.4 条件编译 有时候,我们想针对不同的编译目标来生成不同的代码,比如在编写跨平台模块时, 针对 Linux 和 Windows 分别使用不同的代码逻辑。 条件编译基本上就是使用 cfg 这个属性,直接看例子 #[cfg(target_os = "macos")] fn 目标平台的 CPU 架构,包括但不限于 x86, x86_64, mips, powerpc, arm 或 aarch64。 target_endian = "..." - 目标平台的大小端,包括 big 和 little。 target_env = "..." - 表示使用的运行库,比如 musl 表示使用的是 MUSL 的 libc 实现, msvc 表 示使用微软的 MSVC,gnu0 码力 | 117 页 | 2.24 MB | 1 年前3
Comprehensive Rust(简体中文) 20241234.1.5 部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 34.1.6 AIDL 客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 34.1.7 更改 API . . . . . . . . 00720061 ' .2.4. .y.e.a.r.' 0x00000070: 00210073 00000000 's.!..... ') 34.1.6 AIDL 客户端 最后,我们可以为我们的新服务创建一个 Rust 客户端。 birthday_service/src/client.rs: use com_example_birthdayservice::aidl::com::examp "libbinder_rs", ], prefer_rlib: true, // To avoid dynamic link error. } 请注意,客户端不依赖于 libbirthdayservice。 在您的设备上构建、推送并运行客户端: m birthday_client adb push "$ANDROID_PRODUCT_OUT/system/bin/birthday_client"0 码力 | 359 页 | 1.33 MB | 10 月前3
硬件创业公司的Rust应用和转型 - 陈昱衡明 月 湖 ) 鹿 仔 科 技 东 莞 研 发 中 心 ( 东 莞 松 山 湖 ) 行为学实验仪器: ... 脑立体定位仪: ... 其他仪器: ... 为什么选择Rust 嵌入式端Rust UI方面的Rust应用 0 1 2 公司Rust人才培养 3 Rust在嵌入式公司应用的想法 4 为什么选择Rust Rust的选择 小动物跑步机 通过调节跑步机的速度和倾斜角度,可以模拟小动物在不 Rust物联网不足 解决方案:屏幕上云 冷热板刺激仪 老项目评估 新项目评估 简单工期长,探索型项目优先选择Rust 糖水偏好仪 尾部打标机 已经立项 UI端Rust应用 UI 端 Rust 桌面端 平板端 嵌入式端 曾经 现阶段 即将 未来期望 屏幕上云 屏幕交互是用户体验的核心之一 相 似 串口屏用户体验不佳,开发复用性低 多端统一 Slint更多应用 Slint尝试 Slint尝试 未来望 胶囊测温仪 Slint踩坑 开荒 Flickable 底部图层按键/滚轮 触发 图片切换时直接改图片地址导致卡顿 数据无法正常渲染 图表无支持,列表表格等支持弱 。。。 轻量化,高效率 多平台多语言支持 团队未来愿景 类QML的语法 Cargo 社区 胶囊测温仪 Slint踩坑 开荒 分页表格 悬浮球 隐藏页面 Tab滑动页面 可变图表 后续Rust人才跟进0 码力 | 23 页 | 4.95 MB | 1 年前3
共 43 条
- 1
- 2
- 3
- 4
- 5













