17个版本
使用旧的Rust 2015
0.3.2 | 2018年9月9日 |
---|---|
0.3.1 | 2018年9月9日 |
0.2.2 | 2018年8月16日 |
0.1.10 | 2018年8月16日 |
70 在 #amount
41 每月下载量
33KB
375 行
slice_queue
欢迎来到我的 slice_queue
-库 🎊
关于此库
本库提供了一个优化队列,用于高效处理(字节)切片。它允许您
- 通过消耗或从切片(如果类型支持
Clone/
Copy
特性)克隆/复制它们来高效地将任意数量的元素推送到队列的末尾 - 通信并强制限制存储元素的数量
- 高效地从队列的前端弹出任意数量的元素(可选地放入切片以避免不必要的重新分配)
- 通过使用(范围)索引直接访问底层缓冲区
- 通过将
SliceQueue<T>
的deref()
调用传播到底层的Vec<T>
(可以禁用;见 功能门)来间接引用 - 使用
io::Read
和io::Write
特性访问它 - 使用
ReadableSliceQueue<T>
和WriteableSliceQueue<T>
特性或io::Read
和io::Write
特性将队列“分割”成读写 halves
功能门
deref
:此功能允许您通过将任何deref()
调用传播到底层的Vec<T>
(通常结果是一个切片)来间接引用SliceQueue<T>
。因为在一些项目中这可能会被认为是一种“不良做法”,所以可以禁用这种行为。此功能默认启用。unsafe_fast_code
:由于本库的主要目标是性能,我们在一些地方使用了原始指针访问和手动内存管理。特别是对于类似u8
的Copy
类型,这可以大幅提高性能。由于这需要可能不被您接受的 unsafe 代码,您可以通过禁用此功能,用安全的Vec
操作来替换 unsafe 代码。 此功能默认启用。
构建文档和库
要构建和打开文档,请进入项目的根目录,然后运行 cargo doc --release --open
要构建此库,请切换到项目的根目录,然后运行 cargo build --release
(或 cargo build --release --features ...
以手动指定要使用的功能);您可以在 target/release
中找到构建结果。
如果您是第一次使用此库或更新后,我们建议您运行 cargo test --release
(或 cargo test --release --features ...
以手动指定要使用的功能)。