3 个版本

0.1.2 2019年2月24日
0.1.1 2019年2月21日
0.1.0 2019年2月21日

256 in 缓存

MPL-2.0 许可证

42KB
536 代码行

cuckoocache

此库提供了在 Rust 中使用的类似比特币中使用的 cuckoocache 数据结构。

Cuckoocache 是一个很好的签名缓存存储候选者。

摘要

  1. bitpacked 是用于垃圾回收的位打包原子标志
  2. 缓存是一种在内存使用和查找速度上性能优良的缓存。它在擦除操作中是无锁的。元素将在下一次插入时延迟删除。

bit_packed::atomic::Flags 在设置时实现了一个仅对垃圾回收标志的容器,该容器在调用时是线程不安全的。此类通过位打包收集标志以提高内存效率。

所有操作都是 Ordering::Relaxed,因此外部机制必须确保读写正确同步。

在 Cache::setup(n) 上,所有位都标记为已收集。

在底层,因为它是一个 8 位类型,使用 8 的倍数进行设置是有意义的,但如果不这样做也是安全的。


lib.rs:

CuckooCache crate 提供了一个高性能的缓存原语

摘要

  1. bitpacked 是用于垃圾回收的位打包原子标志
  2. 缓存是一种在内存使用和查找速度上性能优良的缓存。它在擦除操作中是无锁的。元素将在下一次插入时延迟删除。

bit_packed::atomic::Flags 在设置时实现了一个仅对垃圾回收标志的容器,该容器在调用时是线程不安全的。此类通过位打包收集标志以提高内存效率。

所有操作都是 Ordering::Relaxed,因此外部机制必须确保读写正确同步。

在 Cache::setup(n) 上,所有位都标记为已收集。

在底层,因为它是一个 8 位类型,使用 8 的倍数进行设置是有意义的,但如果不这样做也是安全的。

无运行时依赖