【Rust日报】2023-09-21 Arete Engine 0.1 发布

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 语言中文社区
相关推荐
小小测试开发13 小时前
安装 Python 3.10+
开发语言·人工智能·python
AAA大运重卡何师傅(专跑国道)14 小时前
【无标题】
开发语言·c#
copyer_xyf14 小时前
Python 异常处理
前端·后端·python
XBodhi.15 小时前
Visual Studio C++ 语法错误: 缺少“;”(在“return”的前面)
开发语言·c++·visual studio
LSssT.15 小时前
【01】Python 机器学习
开发语言·python
llz_11215 小时前
web-第三次课后作业
前端·后端·web
l1t16 小时前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程39-40
开发语言·python
曾阿伦16 小时前
Python 搭建简易HTTP服务
开发语言·python·http
YG亲测源码屋16 小时前
java配置环境变量、jdk环境变量配置、java环境变量设置方法
java·开发语言
MIUMIUKK16 小时前
从语法层面,看懂 Python 的特殊处
java·开发语言·python