3 个版本
0.1.2 | 2019年2月24日 |
---|---|
0.1.1 | 2019年2月21日 |
0.1.0 | 2019年2月21日 |
256 in 缓存
42KB
536 代码行
cuckoocache
此库提供了在 Rust 中使用的类似比特币中使用的 cuckoocache 数据结构。
Cuckoocache 是一个很好的签名缓存存储候选者。
摘要
- bitpacked 是用于垃圾回收的位打包原子标志
- 缓存是一种在内存使用和查找速度上性能优良的缓存。它在擦除操作中是无锁的。元素将在下一次插入时延迟删除。
bit_packed::atomic::Flags 在设置时实现了一个仅对垃圾回收标志的容器,该容器在调用时是线程不安全的。此类通过位打包收集标志以提高内存效率。
所有操作都是 Ordering::Relaxed
,因此外部机制必须确保读写正确同步。
在 Cache::setup(n) 上,所有位都标记为已收集。
在底层,因为它是一个 8 位类型,使用 8 的倍数进行设置是有意义的,但如果不这样做也是安全的。
lib.rs
:
CuckooCache crate 提供了一个高性能的缓存原语
摘要
- bitpacked 是用于垃圾回收的位打包原子标志
- 缓存是一种在内存使用和查找速度上性能优良的缓存。它在擦除操作中是无锁的。元素将在下一次插入时延迟删除。
bit_packed::atomic::Flags 在设置时实现了一个仅对垃圾回收标志的容器,该容器在调用时是线程不安全的。此类通过位打包收集标志以提高内存效率。
所有操作都是 Ordering::Relaxed
,因此外部机制必须确保读写正确同步。
在 Cache::setup(n) 上,所有位都标记为已收集。
在底层,因为它是一个 8 位类型,使用 8 的倍数进行设置是有意义的,但如果不这样做也是安全的。