【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 语言中文社区
相关推荐
可峰科技4 分钟前
斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)
开发语言·qt
customer087 分钟前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源
全栈开发圈9 分钟前
新书速览|Java网络爬虫精解与实践
java·开发语言·爬虫
面试鸭13 分钟前
离谱!买个人信息买到网安公司头上???
java·开发语言·职场和发展
小白学大数据14 分钟前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫
Python大数据分析@17 分钟前
python操作CSV和excel,如何来做?
开发语言·python·excel
上海_彭彭42 分钟前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
334554321 小时前
element动态表头合并表格
开发语言·javascript·ecmascript