< 返回版块

苦瓜小仔 发表于 2025-06-05 09:05

Tags:日报

采访:David Lattimore – Faster Linker, Faster Builds

David Lattimore 是 Wild Linker 和 Excvr Jupyter 内核的作者。

在访谈中,他介绍了 Wild Linker 的创作初衷,主要是为了在开发过程中提升链接器的速度,以实现像 SmallTalk 那样的即时反馈,让编译语言也能有快速的开发体验。

他分享了自己对 Rust 的热爱,认为 Rust 解决了他在 C 和 C++ 中遇到的诸多问题。

他还指出 Rust 编译器和 Cargo 有改进空间,例如在剥离二进制文件调试信息时,Cargo 会重新构建一切,而实际上只需更改传递给链接器的标志即可。

Wild Linker 仓库:https://github.com/davidlattimore/wild

阅读/收听:https://timclicks.dev/podcast/david-lattimore-faster-linker-faster-builds

Reddit:https://www.reddit.com/r/rust/comments/1l2t9se/audio_interview_about_the_wild_linker_on_compose/

公告:Redox OS 五月进展

Redox OS 是一个用 Rust 编写的类 Unix 微内核操作系统。

5 月亮点包括成功运行 GTK 3 演示,实现了 X11 支持,使 X11 程序无需修改即可在 Redox 上运行。此外,还启用了 Mesa3D EGL,改进了 2D 渲染性能。

系统方面,创建了 /var 目录以符合 Linux FHS 标准,修复了多个内核和驱动问题,包括 ARM64 定时器中断问题。Relibc 和多个程序库也得到了大量更新和修复。

阅读:https://www.redox-os.org/news/this-month-250531/

Reddit:https://www.reddit.com/r/rust/comments/1l3a32m/this_month_in_redox_may_2025/

公告:gccrs 五月进展

Rust-GCC 项目旨在为 GCC 提供一个替代的 Rust 编译器(gccrs)。

5 月的主要工作集中在社区拓展上,包括在 RustWeek 上的演讲,与 Rust-for-Linux 项目团队会面,讨论了 Linux 内核不再依赖 alloc 标准库,这使得 gccrs 更容易编译 core 和内核的 alloc 实现。

项目团队计划在未来 6 个月内完成 GCC 16.1 的第一阶段目标,并开始将内核源码集成到测试基础设施中。

此外,团队还专注于完成 core 的名称解析工作,并修复剩余的宏展开错误。

作为 Google Summer of Code 的一部分,团队将改进模式匹配后端,以支持 core 中的所有模式,并探索 Pin 语义的正确处理。

5 月项目共收到 25 个外部贡献者的拉取请求,并启动了与两位 GSoC 学生的合作。

仓库:https://github.com/Rust-GCC/gccrs

Reddit:https://www.reddit.com/r/rust/comments/1l35el9/gccrs_may_2025_monthly_report/

文章《2,000x faster route propagation by rewriting our Traefik gateway in Rust》

作者:Nathan Flurry

Rivet 是一个开源的自托管无服务器平台,其团队用 Rust 重写了基于 Traefik 的网关,命名为 Rivet Guard。

原 Traefik 网关在路由传播速度和配置响应性上存在瓶颈,导致资源可用性延迟。

Rivet Guard 通过懒加载和缓存路由,将路由传播速度从 2 秒提升到 1 毫秒,支持无限路由,且完全无状态。

它简化了架构,从 3 个组件变为 1 个组件,优化了冷启动,允许资源在客户端连接时启动,并能智能缓冲请求直到资源就绪。Rivet Guard 由 Rust 编写,利用了 Rust 的内存安全性和正确性保证,避免了常见的网络服务问题。

阅读:https://rivet.gg/blog/2025-06-02-faster-route-propagation-by-rewriting-our-traefik-gateway-in-rust

Reddit:https://www.reddit.com/r/rust/comments/1l3479e/2000x_faster_route_propagation_by_rewriting_our/

Egor - 基于 wgpu 的跨平台 2D 图形引擎

我一直用 macroquad 和其他各种 crate(比如三个不同的 ECS)构建一个 MORPG 游戏。

我对 macroquad 的主要不满在于它不是基于 wgpu (wgpu 的编译时间非常快)。另一个让我不满的是,它试图实现 3D 效果,但实际上能力不足。动画、 macroquad-tiled 和 macroquad-platformer 等功能非常不完善,在很多情况下都无法正常工作,对我来说,无论如何都需要重写。

因此,我决定构建一个基于 wgpu 的纯 2D 图形引擎。它类似于 pixels ,无需进行大量优化,但包含纹理、字体等功能。

我构建 egor 目的是使其更通用,而不是只针对特定游戏。目前,我有两个简单的演示,展示了精灵动画之类的功能(并非 egor 的抽象),并且我计划添加一些与游戏无关的演示。

它旨在成为一种构建 GUI 应用程序的方法,其中包含计时、输入、渲染/字体等基本功能。

仓库:https://github.com/wick3dr0se/egor

Reddit:https://www.reddit.com/r/rust/comments/1l38pyw/egor_crossplatform_2d_graphics_engine/

讨论:为什么 Rust 还没有合适的 GUI 生态系统?

一些高赞回答:

  • “GUI 很难。很多人开始一个项目,然后开始编写自己的标签和按钮实现,就以为快完成了。然后他们尝试处理文本字段,但大多数时候都没有任何消息。”
  • “然后是字体渲染,几乎每个操作系统/设备都使用相同的库。你知道吗,字体可以包含一个执行的微型状态机?”
  • “字体可以包含字节码程序,这些程序必须被执行才能计算正确的提示 。此外,还有 OpenType 的特性, 比如任意上下文相关的重写规则(所以,状态机在这里是不够的,你需要一个线性有界自动机……)。”

Reddit:https://www.reddit.com/r/rust/comments/1l303wm/why_doesnt_rust_have_a_proper_gui_ecosystem_yet/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页