在 Rust 中存储连续数据?
作者都帮你整理好了:
- 使用 Rust 中的数组
[T; N]
. - Slice
&[T]
or&mut [T]
, 可以方便的 split. - Boxed slice
Box<[T]>
. Vec
. 长度和内容都可以变化,这可能是我们最常用的方式.smallvec
, 第三方 crate, 当元素较少时可以存储在 stack 上.arrayvec
, 第三方 crate, 如名字所述, 底层是用 Array 来存储的,因此长度不能动态增长. 但是数据可以存储在 data segment, stack 或 heap上.tinyvec
, 第三方 crete, 可以100%替代smallvec
和arrayvec
的一个crate.VecDeque
, 标准库中的std::collections::VecDeque
, 是一个可增长的ring buffer实现的双端队列.可以高效的pop
和push
.bytes
, 第三方 crate,提供了Bytes
,可以非常方便高效的存储和操作连续的内存.不过他只能存储u8
,常用于网络.
更多详细内容 Read more
Rust 实现 Bloom Filter
图文并茂的讲述 并且 使用 Rust 来实现一个 Bloom Filter.
从零到生产: 使用 Rust 进行 API开发系列
从零到生产
是一个使用 Rust 进行 Web API 开发的系列文章. 目前更新到第三章,使用 actix-web
来实现邮件订阅的 API 部分.
为什么 Rust 作为第二门语言非常棒
Rust books
想找本书学习一下 Rust,这里有非常齐全的 Rust books, 从新手到进阶. 不过基本上都是英文哒, 英文好的同学可以参考一下.
SPIR-Q 轻量级的SPIR-V reflection 库
SPIR-Q 0.4.2 released. SPIR-Q 是一个轻量级的 SPIR-V reflection 库.
--
From 日报小组 BobQ, FBI小白
社区学习交流平台订阅:
1
共 1 条评论, 1 页
评论区
写评论"在 Rust 中存储连续数据" 该作者的另一篇文章: "global-data-in-rust"同样有用
https://github.com/paulkernfeld/global-data-in-rust