< 返回版块

苦瓜小仔 发表于 2025-08-21 13:28

Tags:日报

第 52 期《嵌入式 Rustacean》

  • SOAFEE、微软 Wassette、Ripple 加密等新闻聚焦汽车与AI安全;
  • Arduino/Raspberry Pi/ESP 硬件持续更新
  • 大量Rust嵌入式教程、岗位与会议信息,显示 Rust 在 IoT、汽车、医疗等领域加速落地

阅读:https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-52

文章《Rust 是 Python 的新性能引擎》

  1. 趋势数据

    • JetBrains《State of Python 2025》显示,只用一年时间,Rust 在 Python 原生扩展中的占比就从 27% 提升到 33%。
    • 在 PyPI 的新项目里,已有 1/4~1/3 的二进制扩展选择 Rust,而非传统的 C。
  2. Rust 取代 C 的核心原因

    • 性能:零成本抽象,能达到 C 级速度。
    • 内存安全:编译期即可阻止缓冲区溢出、内存泄漏等问题,减少安全漏洞。
    • 开发体验:现代工具链、友好的错误提示、Cargo 包管理,比写 C 扩展更轻松。
  3. 典型成功案例

    • Polars:Rust 写的 DataFrame 库,速度常比 Pandas 高一个数量级。
    • Pydantic v2:核心验证引擎用 Rust 重写,数据校验与序列化大幅提速。
    • FastAPI 生态:Rust 组件让异步服务更快;Granian、Uvicorn 等新型 ASGI 服务器也在积极引入 Rust。
  4. 工具链升级

    • 两款全新的 Python 类型检查器 ty(Astral)与 Pyrefly(Meta)均用 Rust 开发,提供极速 LSP 体验。
  5. 企业收益

    • 更快的服务=更低的云成本、更少的能耗、更高的客户满意度。
  6. 给 Python 开发者的建议

    • 学会“读”Rust:不必转行,但能看懂底层库的 Rust 代码会成为竞争优势。
    • 优先选择带 Rust 核心的库。
    • 编写性能关键扩展时,把 Rust 作为 C 的替代方案。

总结:Rust 并未取代 Python,而是成为它的“性能副驾”:用 Python 写业务逻辑,用 Rust 跑计算密集组件,兼得开发效率与极致速度。

阅读:https://thenewstack.io/rust-pythons-new-performance-engine/

Reddit:https://www.reddit.com/r/rust/comments/1mvfi2x/rust_pythons_new_performance_engine/

文章《Numaflow 使用 Rust 重写数据平面》

这篇文章讲述了 Numaflow 数据平面的重写过程。Numaflow 是一个开源的 Kubernetes 原生平台,用于构建事件驱动和流处理应用。

1.6 版本中,数据平面从 Go 语言改为 Rust,提升了性能和安全性。重写后,吞吐量提升 40%,CPU 使用率降低 30%,内存占用减少 5%,测试覆盖率提高到 85%。此外,Rust 的内存安全性和并发模型为未来扩展提供了更可靠的保障。

阅读:https://blog.numaproj.io/rewriting-numaflows-data-plane-a-foundation-for-the-future-a64fd2470cf0

Duat:用 Rust 编写的可配置文本编辑器

目标:把“编辑器配置”变成“写 Rust 代码”,兼得类型安全、包管理、现代语言特性。 灵感来源:Kakoune(模式系统、选择/光标行为)

功能:

  1. 用 Cargo 当插件管理器,crates.io 当插件仓库——天然解决版本与依赖。
  2. 基于 Trait(Widget / Hookable / Mode 等)做扩展,编译期就能发现接口不匹配。
  3. 热重载已落地:参考 fasterthanlime 的方案,2 秒左右可重新加载。
  4. 代码量比传统脚本方案更短;老电脑也能接受编译时间。
  5. 现成能力
    • 任意自定义 Widget(垂直标尺、选择长度提示等)。
    • Mode 系统:可复制任何多光标编辑器行为。
    • Text 结构:统一 API 支持样式、对齐、占位、ghost text。
    • 可热插拔的 StatusLine。
  6. 文档齐全,正写 mdBook 教程降低上手门槛。

仍缺什么:浮动窗口、LSP、更多内置 Mode/插件生态。

如果你喜欢用“写代码”代替“写配置”,又想要 Rust 的类型安全、包管理和性能,Duat 是一个值得关注的实验。它把“编辑器”变成了“框架”:今天能用 Trait 拼出自己的 IDE,明天就能通过 crates.io 分享给别人。
只要作者愿意把 LSP、浮动组件补齐,并维持 2 秒级热重载,Duat 很可能成为“Rust 版 Kakoune”乃至“下一代可组合编辑器”的种子项目。

仓库:https://github.com/AhoyISki/duat

Reddit:https://www.reddit.com/r/rust/comments/1mvb640/media_ive_been_working_on_a_text_editor_that_is/

讨论:调用 tokio::sleep() 持续一周是不是一个坏主意?

我创建了一个 Web 应用,它在运行过程中会生成一些临时文件。我正在考虑创建一个工作线程,该线程将删除临时文件夹中的所有文件,然后调用 tokio::sleep() 并持续一周。它将与主应用程序一起使用 tokio::select! 运行,并且工作线程在正常情况下永远不会退出。

无论如何,这种方法有什么问题吗?有没有更好的方法来安排这样的任务?我知道 cron 是一个选项,但我对它的理解有限。另外,这个应用将在 Docker 容器中运行,而 Docker + cron 似乎比普通的 cron 更让人头疼。

高赞回复:

“是的,这非常脆弱,一旦崩溃或出现问题,就会有麻烦。此外,云提供商并非 100% 正常运行,断电和瞬态问题时有发生,这种休眠方法在理想情况下有效,但在现实世界中却行不通。简单的解决方法是,在你的项目中创建两个二进制文件。一个是 Web 应用,另一个是所谓的作业。你可以每周在 cron 上运行这个作业来执行任何你想做的事情。一种常见的模式,也是我专门使用的模式,叫做工作区。在一个项目或服务中,你可以有多个容器来执行各种操作。例如,一个容器可以是 API,其他容器可以是那些作业。”

Reddit:https://www.reddit.com/r/rust/comments/1mtond5/is_calling_tokiosleep_with_a_duration_of_one_week/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页