【Rust日报】2020-08-10:在 Rust 中存储连续数据

原创
08/11 20:39
阅读数 37

在 Rust 中存储连续数据?

作者都帮你整理好了:
  1. 使用 Rust 中的数组 [T; N] .
  2. Slice &[T] or &mut [T] , 可以方便的 split.
  3. Boxed slice Box<[T]> .
  4. Vec . 长度和内容都可以变化,这可能是我们最常用的方式.
  5. smallvec , 第三方 crate, 当元素较少时可以存储在 stack 上.
  6. arrayvec , 第三方 crate, 如名字所述, 底层是用 Array 来存储的,因此长度不能动态增长. 但是数据可以存储在 data segment, stack 或 heap上.
  7. tinyvec , 第三方 crete, 可以100%替代 smallvec arrayvec 的一个crate.
  8. VecDeque , 标准库中的 std::collections::VecDeque , 是一个可增长的ring buffer实现的双端队列.可以高效的 pop push .
  9. bytes , 第三方 crate,提供了 Bytes ,可以非常方便高效的存储和操作连续的内存.不过他只能存储 u8 ,常用于网络.
更多详细内容 https://github.com/paulkernfeld/contiguous-data-in-rust

Rust 实现 Bloom Filter

图文并茂的讲述 并且 使用 Rust 来实现一个 Bloom Filter.
https://onatm.dev/2020/08/10/let-s-implement-a-bloom-filter/

从零到生产: 使用 Rust 进行 API开发系列

从零到生产 是一个使用 Rust 进行 Web API 开发的系列文章. 目前更新到第三章,使用 actix-web 来实现邮件订阅的 API 部分.
https://www.lpalmieri.com/posts/2020-08-09-zero-to-production-3-how-to-bootstrap-a-new-rust-web-api-from-scratch/

为什么 Rust 作为第二门语言非常棒

https://beyondtheloop.dev/rust-second-language/

Rust books

想找本书学习一下 Rust,这里有非常齐全的 Rust books, 从新手到进阶. 不过基本上都是英文哒, 英文好的同学可以参考一下.
https://github.com/sger/RustBooks

SPIR-Q 轻量级的SPIR-V reflection 库

SPIR-Q 0.4.2 released. SPIR-Q 是一个轻量级的 SPIR-V reflection 库.
https://github.com/PENGUINLIONG/spirq-rs
--
From 日报小组 BobQ, FBI小白
社区学习交流平台订阅:
  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区

本文分享自微信公众号 - Rust语言中文社区(rust-china)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
在线直播报名
返回顶部
顶部