< 返回版块

苦瓜小仔 发表于 2025-07-16 11:51

Tags:日报

2025 年 6 月 Rust Jobs Report

阅读:https://filtra.io/rust/jobs-report/jun-25

Rust-Analyzer 更新日志

  • 新功能:支持折叠多行参数列表;函数体、在全局符号中包含枚举变体;为元组结构体启用 generate_new 功能。
  • 修复:修复文档渲染中的崩溃、解析器错误、dyn 提示显示问题、naked_asm!global_asm! 的安全性问题等。
  • 内部改进:重构 ExpressionStore,将多个辅助功能迁移到 SyntaxEditor。 这些更新提升了功能性和稳定性,优化了用户体验。

阅读:https://rust-analyzer.github.io/thisweek/2025/07/14/changelog-294.html

Rust 语言功能:使特征方法在 const 上下文中可调用


[const] trait Default {
    fn default() -> Self;
}

impl const Default for () {
    fn default() {}
}

struct Thing<T>(T);

impl<T: [const] Default> const Default for Thing<T> {
    fn default() -> Self { Self(T::default()) }
}

const fn default<T: [const] Default>() -> T {
    T::default()
}

fn compile_time_default<T: const Default>() -> T {
    const { T::default() }
}

const _: () = Default::default();

fn main() {
    let () = default();
    let () = compile_time_default();
    let () = Default::default();
}

RFC3762:https://github.com/rust-lang/rfcs/pull/3762

Reddit:https://www.reddit.com/r/rust/comments/1lzacp2/upcoming_const_breakthrough/

GPT-rs:用 Rust 实现和训练 Transformer & Tokenizer

gpt-rs 是一个用 Rust 编写的开源库,旨在为 OpenAI 的 GPT 模型提供简单易用的接口。

它允许开发者通过 Rust 代码轻松调用 GPT 模型,生成文本、对话或执行其他自然语言处理任务。该库支持多种 GPT 模型,并提供了灵活的配置选项,如设置温度、最大长度等参数。它还支持异步编程,方便与其他 Rust 项目集成。

gpt-rs 的目标是让 Rust 开发者能够快速上手并利用 GPT 模型的强大功能,同时保持代码的简洁和高效。

仓库:https://github.com/liam-ilan/gpt-rs

Uzu:用于 Apple Silicon 的高性能 AI 模型推理引擎

其主要特点如下:

  • 简单易用的高级 API:提供简洁明了的接口,方便开发者快速上手。
  • 混合架构:支持在 GPU 上以内核形式运行,或通过 MPSGraph(CoreML 之下的低级 API,支持访问 ANE)进行计算。
  • 统一的模型配置:便于为新模型添加支持。
  • 可追溯的计算:确保与源代码实现的一致性,保证正确性。
  • 利用 Apple 设备的统一内存:优化内存使用,提升性能。

基准测试:

仓库:https://github.com/trymirai/uzu

Reddit:https://www.reddit.com/r/rust/comments/1m0fk31/we_made_our_own_inference_engine_for_apple/

Zerofs:基于 SlateDB 的 NFS 服务器实现

ZeroFS 是一款基于 SlateDB 的 NFS 服务器实现,与传统的 S3FS 实现相比,它采用了一种完全不同的存储架构。

ZeroFS 使用 SlateDB(一种基于日志结构合并树的数据库)作为存储后端,将文件切分为 64KB 的块以优化小文件操作和随机 I/O 性能,支持原子批量操作,并通过 B - tree 索引实现快速目录操作。它还支持通过环境变量配置 S3 兼容端点和缓存大小。

未来计划支持硬链接和快照功能。ZeroFS 以数据库原生方式实现文件系统语义,牺牲了与 S3 的直接兼容性,但显著提升了性能。

仓库:https://github.com/Barre/zerofs

Reddit:https://www.reddit.com/r/rust/comments/1m0c1s9/zerofs_the_s3fs_that_does_not_suck/

Thunk:在 Windows XP 上运行的 Rust 程序

Thunk 主要帮你做了下面两件事:

  • 将 VC-LTL5 添加到库搜索路径中
  • 额外链接 YY-Thunks,以弥补 Vista 和 XP 上没有的 API

注意:Thunk 并不能保证所编译的软件可以成功编译或者编译后正常运行。

仓库:https://github.com/felixmaker/thunk

Edgelinkd:Node-RED 的 Rust 实现

EdgeLinkd 是一个基于 Rust 的运行时,与 Node-RED 流程完全兼容,现在集成了完整的 Node-RED Web UI。

您可以直接在浏览器中打开、设计和运行工作流,所有这些都由高性能 Rust 后端提供支持,无需安装外部 Node-RED。

Node-RED 是一个流行的开源平台,用于连接硬件设备、API 和在线服务,尤其适用于物联网和自动化领域。它拥有强大的基于浏览器的编辑器和庞大的生态系统,但其 Node.js 基础对于边缘设备来说可能会占用大量资源。

仓库:https://github.com/oldrev/edgelinkd

Reddit:https://www.reddit.com/r/rust/comments/1lyuai5/edgelinkd_reimplementing_nodered_in_rust/

Rodio:音频播放库

Rodio 是一款 Rust 生态系统中的音频播放库,已有 9 年历史。

0.21 更新引入了许多改进:

  • 易用性提升:API 更加友好,不再对样本类型泛型化,添加了开发者意图警告。
  • 功能增强:支持通过构建器配置解码器和输出流,新增了分贝放大、失真效果、限制器以及更多噪声生成器。
  • 独立使用:无需依赖 cpal,即可分析音频或生成 WAV 文件。

仓库:https://github.com/RustAudio/rodio

讨论:直接使用 Rust 和 x86_64 汇编语言练习 Linux 系统调用

在学习汇编语言的过程中,我决定将其与 Rust 集成——结果出乎意料地兼容。我可以用汇编语言编写直接的系统调用指令,将它们暴露给 Rust,并在代码中自然地使用它们。

换句话说,这开启了很多可能性:我可以不依赖外部库与内核交互。主要优点是拥有完全的控制权,且没有任何抽象开销——直接按照我想要的方式去做我想做的事情。

Reddit:https://www.reddit.com/r/rust/comments/1lyxyoa/practicing_linux_syscalls_with_rust_and_x86_64/

Intern-mint:切片 intern 库

intern-mint 是一个 Rust 库,用于实现字节切片的共享内存管理技术(interning)。

它通过将相同的字节切片存储在全局静态池中,避免重复分配,节省内存。

该库使用 Arc<[u8]> 存储切片,利用分片哈希表(基于 hashbrownDashMap)实现高效的并发访问。

它提供了 Interned 类型用于管理共享切片,以及 BorrowedInterned 类型用于避免不必要的克隆。

此外,它还支持与 HashMapBTreeMap 的无缝集成,并提供了可选的 bstrserdedatabuf 扩展功能。

仓库:https://github.com/sweet-security/intern-mint

Reddit:https://www.reddit.com/r/rust/comments/1lzj6fo/yet_another_slice_interning_crate/

讨论:为什么 Rust 选择 *const 而不是 *

“这是 RFC68,它主要是为了避免不安全的 FFI 与 C 世界的混淆,这是使用原始指针最常见的用例”

RFC68:https://rust-lang.github.io/rfcs/0068-const-unsafe-pointers.html

Reddit:https://www.reddit.com/r/rust/comments/1lzoavc/why_did_rust_opt_for_const_instead_of_just/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页