PromQL Got a BOOST: 用 Rust 重写 Prometheus 的查询引擎第三届中国 Rust 开发者大会 PromQL Got a BOOST: 用 Rust 重写 Prometheus 的查询引擎 Ruihang Xia @greptime.com Ruihang GitHub: waynexia Losing hair at Greptime Wanna sleep 10 hrs/day Learn JS every year Healing0 码力 | 39 页 | 6.95 MB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青第三届中国Rust开发者大会 Rust在物理引擎研发中的应用 崔汉青 Motphys CEO Motphys 驱动虚拟世界的全部运动 体验 应用 基础应用: 内容生成工具、 交易市场等 基础硬件: 5G/6G、 半导体、 VR/AR等 基础软件: 渲染引擎、 动作物理引擎等 静态表现力 动态表现力 渲染技术 动作物理技术 动作技术 Motion 物理技术 Physics 保证每个目标平台的极致性能 跨端确定性 – 保证所有目标平台计算结 果完全一致 具备分布式能力 – 通过横向扩展突破单 机物理算力的上限 Motphys 物理引擎的设计目标 Rust 的性能和 C/C++ 比肩,支持 SIMD 优 化,满足苛求性能的引擎研发需求; Rust 的零开销抽象甩掉了复杂设计的性能包袱 # 高性能 Rust 在不损耗性能的情况下,其优秀的语 法设计保证了语言的强大表达力:用更少 在语法层面极大程度保证了内存安全 和并发安全 语言内建的 async/await,还有优秀的 crates rayon(计算密集型并发支持)和 tokio(IO 密集型并发支持) 为什么选择 Rust Motphys 物理引擎架构 Broad Phase Narrow Phase Candidate Collision Pairs Manifold Build Collision Pairs Collision0 码力 | 22 页 | 1.18 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人Graph Analytics Source: KDnuggets 图技术全景图—— Graph Technology Landscape 2020 • 图数据库 • 图数据建模 • 图计算引擎 • 图数据集成 • 可视化分析 • 知识图谱解决方案 • 图查询语言 • 欺诈检测 • 网络安全分析 • 社交网络分析 • BI 工具 • 图分析工具集 • 图咨询服务 Source ,高性能图计算引 擎,预置 20 余种图计算算法 ,可扩展的分析引擎支持更复 杂的数据挖掘和机器学习场景 MPP Massively Parallel Processing 架构,大规模集群 分布式存储及并行计 算, Shared Nothing 模式支 持存储计算分离 高性能 基于 Rust 开发的分布式存储引 擎及图计算引擎,精细的内存 管理设计,内置索引系统,支 持毫秒级的并发查询响应速度 Language) ,类 SQL 的图查询 语言,内置上百种分析函数, 面向分析师友好,拥抱标准, 基于 openCypher 向 ISO GQL 迈进 实时大图 支持万亿节点存储及流式计算 引擎的结合,最新数据实时入 库构图,为在线业务决策分析 提供有力支撑 AtlasGraph 架构及实现 新一代图技术应用特征简介 Takeaway AtlasGraph 架构概览 存储层0 码力 | 38 页 | 24.68 MB | 1 年前3
Kotlin 1.9.10 官方文档 中文版
Objective-C 以及其他语言 编写的现有项目中会很容易。 直接在 Kotlin/Native 中使用现有原生代码、 静 态或动态 C 语言库、 Swift/Objective-C 框架、 图形引擎以及任何其他原生内 容也很容易。 Kotlin/Native 库有助于在多个项目之间共享 Kotlin 代码。 POSIX、 gzip、 OpenGL、 Metal、 Foundation 以及许多其他流行库与 been manually created. Another is to opt out of the template completely. To opt out, add kotlin.mpp.applyDefaultHierarchyTemplate=false to your gradle.properties and configure all other source sets variety of projects. To try it out, add the following option to your gradle.properties : kotlin.mpp.import.enableKgpDependencyResolution=true This option enables a preview of the new import mode. Besides0 码力 | 3753 页 | 29.69 MB | 1 年前3
Kotlin 官方文档中文版 v1.9Objective-C 以及其他语言编写的现有项目 中会很容易。 直接在 Kotlin/Native 中使用现有原生代码、 静态或动态 C 语言库、 Swift/Objective-C 框架、 图形引擎以及任何其他原生内容也很容易。 Kotlin/Native 库有助于在多个项目之间共享 Kotlin 代码。 POSIX、 gzip、 OpenGL、 Metal、 Foundation 以及许多其他流行库与 Another is to opt out of the template completely. Kotlin 1.9.20-RC 88 To opt out, add kotlin.mpp.applyDefaultHierarchyTemplate=false to your gradle.properties and configure all other source sets variety of projects. To try it out, add the following option to your gradle.properties : kotlin.mpp.import.enableKgpDependencyResolution=true This option enables a preview of the new import mode. Besides0 码力 | 2049 页 | 45.06 MB | 1 年前3
Kotlin Language Documentation 1.9.20been manually created. Another is to opt out of the template completely. To opt out, add kotlin.mpp.applyDefaultHierarchyTemplate=false to your gradle.properties and configure all other source sets manually been manually created. Another is to opt out of the template completely. To opt out, add kotlin.mpp.applyDefaultHierarchyTemplate=false to your gradle.properties and configure all other source sets manually larger variety of projects. To try it out, add the following option to your gradle.properties: kotlin.mpp.import.enableKgpDependencyResolution=true This option enables a preview of the new import mode. Besides0 码力 | 1299 页 | 32.44 MB | 1 年前3
RISC-V 手册 v2(一本开源指令集的指南)把控制状态寄存器 mstatus 中的 MIE 位置零以禁用中断,并把先前的 MIE 值保 留到 MPIE 中。 ⚫ 发生异常之前的权限模式保留在 mstatus 的 MPP 域中,再把权限模式更改为 M。图 10.5 显示了 MPP 域的编码(如果处理器仅实现 M 模式,则有效地跳过这 个步骤)。 为避免覆盖整数寄存器中的内容,中断处理程序先在最开始用 mscratch 和整数 寄存器(例如 a0)中的值交换。通常,软件会让 mret 指令(M 模 式特有的指令)返回。mret 将 PC 设置为 mepc,通过将 mstatus 的 MPIE 域复制到 MIE 来恢复之前的中断使能设置,并将权限模式设置为 mstatus 的 MPP 域中的值。 这基本是前一段中描述的逆操作。 图 10.6 展示了遵循此模式的基本时钟中断处理程序的 RISC-V 汇编代码。它只对 时间比较器执行了递增操作,然后继续执行之前的任务。更实际的时钟中断处理程序 限模式:用户模式(U 模式)。这种模式拒绝使用这些功能,并在尝试执行 M 模式指令或 访问 CSR 的时候产生非法指令异常。其它时候,U 模式和 M 模式的表现十分相似。通过 将 mstatus.MPP 设置为 U(如图 10.5 所示,编码为 0),然后执行 mret 指令,软件可以 从 M 模式进入 U 模式。如果在 U 模式下发生异常,则把控制移交给 M 模式。 这些不可信的代码还必须被限制只能访问自己那部分内存。实现了0 码力 | 164 页 | 8.85 MB | 1 年前3
RISC-V 开放架构设计之道 1.0.0Reserved TSR TW TVM MXR SUM MPRV 1 XLEN-24 1 1 1 1 1 1 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 XS FS MPP Res. SPP MPIE Res. SPIE Res. MIE Res. SIE Res. 2 2 2 2 1 1 1 1 1 1 1 1 1 图 10.4: mstatus CSR。在仅有机器模式且无 的信息字写入 mtval。 • 将 mstatus.MIE 清零以屏蔽中断,并将 MIE 的旧值保存到 MPIE 中。 • 将异常发生前的特权模式保存到 mstatus.MPP,并将特权模式更改为 M。 图 10.9 列出了 MPP 字段的编码。(若处理器仅支持 M 模式,则省略此步)。 为避免覆盖整数寄存器的内容,中断处理程序的准备阶段通常先交换 mscratch 和某个整数寄存器(如 a0)。软件通常预先让 到异常发生前的值。最后,处理程序通过一条 M 模式专用的指令 mret 返回。mret 将 PC 设为 mepc,将 mstatus.MPIE 复制到 MIE 字段来恢复之前的中断使能状态, 并将特权模式设为 mstatus.MPP 的值。此过程基本是前文所述行为的逆操作。 图 10.10 展示了一个简单的时钟中断处理程序的 RISC-V 汇编代码,其处理过程 如上文所述。它仅递增时间比较器,然后返回之前的任务继续执行。在实际系统中,0 码力 | 223 页 | 15.31 MB | 1 年前3
Guía Práctica de RISC-V:
El Atlas de una Arquitectura Abierta
Primera Edición, 1.0.5Reservado TSR TW TVM MXR SUM MPRV 1 XLEN-24 1 1 1 1 1 1 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 XS FS MPP Res. SPP MPIE Res. SPIE Res. MIE Res. SIE Res. 2 2 2 2 1 1 1 1 1 1 1 1 1 Figura 10.4: El CSR m s privilegio pre-excepción es preservado en el campo MPP de m s t a t u s , y el modo de privilegio es cambiado a M. La Figura 10.9 muestra la codificación del campo MPP (Si el procesador solo implementa el modo copiando el campo MPIE de m s t a t u s a MIE, y escribe el modo de privilegio al valor en el campo MPP de m s t a t u s , esencialmente revirtiendo las acciones descritas en el párrafo anterior. La Figura0 码力 | 217 页 | 29.97 MB | 1 年前3
Guia prático RISC-V
Atlas de uma Arquitetura Aberta
Primeira edição, 1.0.0Reserved TSR TW TVM MXR SUM MPRV 1 XLEN-24 1 1 1 1 1 1 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 XS FS MPP Res. SPP MPIE Res. SPIE Res. MIE Res. SIE Res. 2 2 2 2 1 1 1 1 1 1 1 1 1 Figura 10.4: O CSR m s t privilégio de pré-exceção é preservado no campo MPP do m s t a t u s e o modo de privilégio é alterado para M. A Figura 10.9 mostra a codificação do campo MPP. (Se o processador implementar apenas o M-mode anterior copiando o campo MPIE m s t a t u s para MIE e "seta" o modo de privilégio para o valor no campo MPP de m s t a t u s , essencialmente invertendo as ações descrito no parágrafo anterior. A Figura 100 码力 | 215 页 | 21.77 MB | 1 年前3
共 240 条
- 1
- 2
- 3
- 4
- 5
- 6
- 24













