< 返回版块

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

Tags:日报

文章《利用 AI 将 GPU 着色器移植到 Rust 的速度提高 30 倍》

作者使用 AI 将 Sascha Willems 的 Vulkan 示例中的 GPU 着色器移植到 Rust 语言的过程。

借助 Rust GPU 项目,作者在四天内完成了大约 90% 的着色器移植工作,相比手动移植速度提升了 30 倍。

这些 Rust 着色器能够编译成有效的 SPIR-V 格式,并无缝集成到原有的 C++ Vulkan 渲染管线中,无需修改宿主代码,只需调整构建系统。

文章还详细介绍了 Rust GPU 对 Vulkan 各种着色器类型和高级技术的支持情况,以及作者在使用 AI 进行代码生成时的策略和遇到的限制。

阅读:https://rust-gpu.github.io/blog/2025/06/24/vulkan-shader-port/

Reddit:https://www.reddit.com/r/rust/comments/1ljawa6/porting_gpu_shaders_to_rust_30x_faster_with_ai/

文章《将 Go 的微服务重写为 Rust》

Grab 的 Integrity Data Platform 团队将一个高 QPS 的 Golang 微服务重写为 Rust,节省了 70% 的基础设施成本,性能相似。

文章详细介绍了选择重写服务的标准、重写方法、遇到的困难(如 Rust 的借用检查器和异步编程的学习曲线)以及最终的影响。

重写后,Rust 服务的资源消耗仅为原 Golang 服务的 20%,尽管 P99 延迟略高。这次重写证明了 Rust 在效率上的优势,但也显示了 Golang 在性能上的竞争力。

阅读:https://engineering.grab.com/counter-service-how-we-rewrote-it-in-rust

Reddit:https://www.reddit.com/r/rust/comments/1li50bn/counter_service_how_we_rewrote_it_in_rust/

文章《在 Blender 中创建可热重载的 Rust 扩展》

作者:Lars Helge Scheel

这篇文章介绍了如何在 Blender 中创建一个可热重载的 Rust 扩展。

作者通过 PyO3 将 Rust 代码封装为 Python 轮文件,使其可以在 Blender 的 Python 扩展中调用。

为了实现热重载,作者使用了 hot-lib-reloader,通过不断为共享库生成新名称来强制操作系统从磁盘加载最新版本。

这种方法允许在不重启 Blender 的情况下更新 Rust 核心逻辑,但需要注意避免在 API 更改时进行热重载,以防止未定义行为。

阅读:https://algebraic.games/blog/rust_extension_api/

Reddit:https://www.reddit.com/r/rust/comments/1lidczj/rust_blender_extension_api_with_hot_reloading/

文章《从 Flutter + Rust 转向 Rust + egui》

作者:jdiaz97

这篇文章分享了作者从 Flutter + Rust 转向 Rust + egui 的个人经历。

作者提到,尽管 Flutter + Rust 能够通过 flutter_rust_bridge 生成大量代码,但偶尔的生成失败、FFI 问题以及设计友好 API 的精力消耗让他感到沮丧。

转向 Rust + egui 后,他发现这种组合能减少复杂性,因为他可以理解项目中的每一行代码,并且 egui 的即时模式 UI 编程范式更适合他,无需复杂的回调或状态管理框架,性能也有所提升。

阅读:https://jdiaz97.github.io/greenblog/posts/flutter_to_egui/

Reddit:https://www.reddit.com/r/rust/comments/1lje61s/why_i_switched_from_flutter_rust_to_rust_egui/

wxDragon:发布 v0.8.1 - 跨平台的 GUI 框架

wxDragon v0.8.1 是 Rust 绑定的 wxWidgets 的重大更新版本。

wxWidgets 哲学是尽可能使用平台原生小部件,虽在现代外观和动画效果方面不如 Qt、Flutter 和 Egui,但适合创建实用软件。

它能生成零依赖、小体积、低资源消耗的跨平台可执行文件,适合在旧电脑上运行。

与 fltk-rs 相比,它功能更丰富,布局系统更强大。

v0.8.1 的主要改进包括:99%+ 的构建时间减少,从 20-30 分钟缩短到 20-30 秒(macOS)和 70 秒(Windows 交叉编译),通过从 GitHub 下载预构建的 wxWidgets 库实现。

新功能包括全面的光标 API、暗模式支持、增强的窗口管理、高级文本编辑、自定义 DataView 渲染器、细粒度特性门、增强的异步支持、新小部件和组件、系统集成以及跨平台卓越性,支持 Linux、macOS、Windows 和跨编译。

仓库:https://github.com/AllenDang/wxdragon

Reddit:https://www.reddit.com/r/rust/comments/1lj5s97/wxdragon_v081_released_cross_platform_gui/

Sqlx-d1:Cloudflare D1 的 SQLx 接口

sqlx-d1 是一个为 Cloudflare D1 提供 SQLx 接口的 Rust 库,支持编译时 SQL 验证。

它通过在宏上下文中加载 sqlx-sqlite 来绕过 D1 的限制。

它无需环境变量或 .env 文件,支持本地 D1 模拟器和离线模式。

它不支持事务、连接池和 derive TypeEncodeDecode 等特性。

仓库:https://github.com/ohkami-rs/sqlx-d1

Reddit:https://www.reddit.com/r/rust/comments/1lj9185/just_released_sqlxd1_v020_supporting_worker_v06/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页