4个版本 (2个重大更新)
使用旧Rust 2015
0.3.1 | 2018年12月8日 |
---|---|
0.3.0 | 2018年10月27日 |
0.2.0 | 2018年7月1日 |
0.1.0 | 2018年3月2日 |
#2386 在 数据结构
39KB
545 行
DivBuf
一个提供递归分割缓冲对象的库。
divbuf
包提供了一种名为 DivBufShared
的缓冲结构,可以高效且安全地分割成多个更小的缓冲区。每个子缓冲区都可以进一步分割,递归进行。提供了一种原始形式的范围锁定:无法创建重叠的可变子缓冲区。
此包类似于 bytes
,但有一些关键的不同点
bytes
是一个COW包。数据将在尽可能多的对象之间共享,但有时数据将被复制到新的存储中。divbuf
则恰好相反,除非明确请求,否则永远不会复制数据。BytesMut
对象始终只能访问其自己的数据。一旦创建了BytesMut
对象,就没有其他方法可以修改或读取其数据,而不涉及该对象。另一方面,DivBufMut
可以与其DivBufShared
共享数据。之后,可以从DivBufShared
创建另一个DivBufMut
。bytes
包含处理小型数组的大量优化,例如内联存储。然而,其中一些优化会导致数据复制,这对divbuf
来说是不可接受的。divbuf
因此不包括这些优化,而是针对处理大型数组进行优化。
许可证
divbuf
在MIT许可证下分发。有关详细信息,请参阅 LICENSE。