Arete Engine 0.1 发布
Arete 是一个全新的游戏引擎,最近发布了 0.1 版本。它采用了具有革命性的架构,通过并行计算等方式大大提升了性能。根据官方的对比数据,在 DOTS demo 场景下,其 CPU 帧时间比 Unity 快了 100 倍以上。(另外 benchmark 里也有提到了 bevy,比 bevy 也快出一个数量级,而且是商业引擎,付费制度类似 Unreal。不过可惜的是,具体的可以使用的引擎得 10 月份发布)
Arete 的目标是成为跨平台的通用游戏引擎,支持目前引擎的各种特性,包括 2D/3D 渲染、音频、网络、UI 等。它使用 Rust 语言开发,利用 Rust 在性能和内存安全方面的优势。
更多信息可以查看其官网介绍:Arete Engine 官网 https://www.areteengine.com/post/introducing-arete-engine-0-1 ↗
rustic_core - 快速的加密备份库
rustic_core是一个用于快速、加密、数据重复删除的备份的 Rust 库。它实现了 restic 格式的存储库,可以用于构建备份工具。
主要功能包括:
- 初始化和打开 restic 存储库
- 创建快照
- 查看和恢复快照
- 检查存储库完整性
一个初始化存储库的例子:
go
let repo_opts = RepositoryOptions::default()
.repository("/tmp/repo")
.password("test");
let key_opts = KeyOptions::default();
let config_opts = ConfigOptions::default();
let _repo = Repository::new(&repo_opts)?
.init(&key_opts, &config_opts)?;
rustic_core 使得构建快速、安全的备份工具变得很方便。
https://github.com/rustic-rs/rustic_core ↗
Rust 浮点数总顺序比较函数
Rust 0.62 引入了total_cmp
函数,用于浮点数的总顺序比较。但是由于 NaN 的存在,f64
仍然不满足Ord
trait。有些用户希望直接将f64
提升为Ord
,从而在泛型代码中直接使用cmp
。但这是不可能的,必须使用total_cmp
或用ordered_float
新类型包装。
另一方面,total_cmp
确实会比partial_cmp
快一些,因为不需要检查Option
值。所以如果要排序大量浮点数,可以考虑使用total_cmp
的 key 进行基数排序。
详见讨论:Rust 浮点数总顺序比较 https://users.rust-lang.org/t/total-order-for-floats/99919 ↗
This Week in Rust 513
本周 Rust 周报中,介绍了一些 Rust 生态更新:
- Rust 1.72.1 版本发布
- Rust 基金会加入 OpenSSF
- Servo 浏览器更新
- Pagefind 1.0 发布
- 开源 Grafbase 数据库引擎
- Arroyo 0.6.0 发布
- rust-analyzer 更新
此外还有一些关于 Rust 在嵌入式、WebAssembly 等方面的文章和讨论摘要。
更多内容可以查看本周 Rust 周报:https://this-week-in-rust.org/blog/2023/09/20/this-week-in-rust-513/ ↗
请关注我们的更新,以便了解更多有关 Rust 的新闻和动态!
From 日报小组 Cupnfish
社区学习交流平台订阅:
- Rust.cc 论坛: 支持 rss
- 微信公众号:Rust 语言中文社区