【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 语言中文社区
相关推荐
万岳科技程序员小赵3 分钟前
同城外卖 APP 与小程序开发实战:系统模块拆分及多语言适配要点
开发语言·软件需求
happymaker06266 分钟前
Spring学习日记——DAY04(复杂对象创建,AOP静态代理)
java·开发语言·spring
小江的记录本7 分钟前
【MySQL】《MySQL日志面试背诵版+思维导图》(核心考点 + MySQL 8.0最新优化)
java·数据库·后端·python·sql·mysql·面试
ComputerInBook10 分钟前
C++ 17 相比 C++ 14 新增之特征
开发语言·c++·c++ 17
我命由我1234515 分钟前
Android Framework P2 - 开机启动 Zygote 进程、Zygote 的预加载机制
android·java·开发语言·python·java-ee·intellij-idea·zygote
JAVA面经实录91719 分钟前
Java Codex 企业标准Prompt库
java·开发语言·prompt
yoyo_zzm24 分钟前
PHP vs Java:后端语言终极选择指南
java·spring boot·后端·架构·php
Evand J25 分钟前
【MATLAB例程】5个UAV 分布式围捕编队运动仿真 —— 基于PID控制
开发语言·分布式·matlab
苏三说技术37 分钟前
从索引失效到性能翻倍,DBA不愿透露的10个优化技巧
后端
神奇小汤圆1 小时前
Java AI 框架选型:LangChain4j 还是 Spring AI?
后端