3个版本
0.1.2 | 2023年10月3日 |
---|---|
0.1.1 | 2023年6月24日 |
0.1.0 | 2023年6月24日 |
#344 in 内存管理
每月 25次下载
22KB
414 代码行
共享哈希表
包含LRU淘汰的共享内存哈希表。
此crate提供了一种共享哈希表,其内存大小有限,可用于不同进程和线程之间。这是通过使用shared_memory crate和raw_sync-rs进行IPC互斥锁来实现的。
SharedMemoryHashMap
在内部以优化的内存布局处理键和值的锁定和序列化。当前LRU实现是基本的,使用时间戳进行访问而不是有序键列表。为了LRU目的实现键列表是可能的,但需要更多的手动内存管理。
使用方法
use shared_memory_hashmap::SharedMemoryHashMap;
fn main() {
let mut map = SharedMemoryHashMap::new(1024); // bytes.
map.insert(1, "Hello");
map.insert(2, "World");
map2 = map.clone(); // map2 uses the same shared memory block as `map`.
spawn(|| move {
map2.insert(3, "Goodbye");
});
}
依赖项
~2–27MB
~371K SLoC