【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 语言中文社区
相关推荐
二王一个今1 小时前
Python打包成exe(windows)或者app(mac)
开发语言·python·macos
C嘎嘎嵌入式开发5 小时前
(2)100天python从入门到拿捏
开发语言·python
Stanford_11066 小时前
如何利用Python进行数据分析与可视化的具体操作指南
开发语言·c++·python·微信小程序·微信公众平台·twitter·微信开放平台
Vallelonga7 小时前
Rust 中的数组和数组切片引用
开发语言·rust
Kiri霧7 小时前
Rust模式匹配详解
开发语言·windows·rust
white-persist7 小时前
Python实例方法与Python类的构造方法全解析
开发语言·前端·python·原型模式
千里马-horse7 小时前
Async++ 源码分析8--partitioner.h
开发语言·c++·async++·partitioner
Lucis__8 小时前
再探类&对象——C++入门进阶
开发语言·c++
007php0078 小时前
某大厂跳动面试:计算机网络相关问题解析与总结
java·开发语言·学习·计算机网络·mysql·面试·职场和发展
你的人类朋友8 小时前
先用js快速开发,后续引入ts是否是一个好的实践?
前端·javascript·后端