Rust Glancer:内存占用低于 100MB 的 Rust 语言服务器
Rust Glancer 是一个面向低内存占用的 Rust 语言服务器,作者在博客中介绍了项目约 4 个月的开发进展与设计取舍。
项目目标是在常见规模工程中把常驻内存压到 100MB 以下,并在编辑器重启后复用已索引结果,避免重新全量索引。与 rust-analyzer 基于 salsa 增量查询和 rowan 语法树、尽量把状态常驻内存的路径不同,Rust Glancer 采用冻结分析结果:工作区索引一次后把结果落到文件系统,查询时再按需加载。当前已覆盖完整索引流水线、类型推断、基于 chalk 的 trait solver,以及 goto definition、hover、inlay hints、补全等常见 LSP 能力;作者说明它仍是早期阶段,功能未齐且存在已知问题。VS Code 扩展已可在 Marketplace 安装,仓库见 GitHub。
原文链接:https://rust-glancer.github.io/blog/hello-world/
Zellij 0.45:嵌套会话、Kitty 图形协议与新 UI
Zellij 0.45.0 是用 Rust 编写的终端工作区/多路复用器的新版本,发布说明列出嵌套会话、Kitty 图形协议、移动端 Web UI 与若干插件 API 更新。
嵌套会话场景下,Zellij 会检测自己运行在另一 Zellij 会话内,并提供“放大控制内层会话”或“获得焦点时把按键交给内层”等模式。图形方面除原有 Sixel 外,新增 Kitty Graphics Protocol,支持在 pane 中显示图片并在滚动、移动、缩放时保持可用。内置 web client 增加移动端界面与 PWA 安装;默认 UI 改为更轻的 title frame,并支持按命令(依赖 shell 的 OSC133)而非按行滚动。插件侧 Rust API 可读取其他 pane 屏幕内容、打开不抢焦点的后台 pane,以及控制新的 mobile UI。
原文链接:https://zellij.dev/news/nested-sessions-kitty-graphics-new-ui/
Thermite:完全通过 GitHub 运行的 Rust 编译服务
Thermite 是一个基于浏览器的 Rust 构建服务,前端为静态 GitHub Pages 站点,实际编译跑在用户自己 GitHub 账户的 Actions runner 上。
用户使用 GitHub 登录后选择工具链版本、目标平台,以及 .rs 文件、zip 工程或 GitHub 仓库与项目根目录,再触发一次 Pour。系统会为用户准备 public 的 thermite-crucible 仓库,把源码提交进去,由 commit 触发 Actions 工作流构建,并把产物作为 artifact/release 发布;基本单元是一次 pour 对应一次 commit、一次 Actions 运行和一份产物。实时日志通过 runner 把输出写到 orphan 分支、前端轮询读取;另有可选加密模式,密钥拆分存放在仓库与用户本机。项目支持多目标交叉编译,源码位于 GitHub。
原文链接:https://github.com/microserv-net/thermite-web
Enki:用安全 Rust 统一编写 CPU 与 GPU 计算内核
Enki 是一个实验性 Rust GPU 并行项目,目标是让计算内核用标准安全 Rust 编写,并在 CPU 与 GPU 上共用同一套源码。
作者通过 #[kernel] 把函数同时映射到 CPU 与 GPU 执行路径,演示中覆盖 impl、带 self 的方法,以及带 payload 的 tagged enum;GPU 缓冲区(如 GpuVec)仍受借用检查约束,可变/不可变别名错误在编译期捕获。实现上,构建阶段让 rustc 产出 LLVM bitcode,首次执行时 Parsu 从 bitcode 提取 kernel 并 JIT 生成 SPIR-V,再由 Anu 基于 Vulkan 处理 barrier、Buffer Device Address 与执行图,结果可缓存为 .anutu 文件。当前定位为本地研究阶段的 compute 向 PoC,尚未上架 crates.io;内核内不支持动态堆分配、dyn Trait 与无界递归,完整图形管线仍在规划中。
原文链接:https://www.reddit.com/r/rust/comments/1vuv86u/show_rrust_enki_bridging_cpu_gpu_parallelism_in/
From Rust中文社区 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论