#mmap #memory-mapped #memory-mapping #memory-map #lock #writers #io

mmap-append

仅追加的内存映射I/O,可调整大小,具有低锁竞争

2个不稳定版本

0.2.0 2024年2月21日
0.1.0 2023年7月29日

#142 in 内存管理

Download history 38/week @ 2024-03-31 1/week @ 2024-04-07 2/week @ 2024-04-14 2/week @ 2024-05-19

2,018每月下载量

MIT许可证

13KB
199

mmap-append

这是一个仅适用于Unix的内存映射crate。

它由mmap crate派生,提供了一个具有非常低锁竞争的可调整大小的仅追加映射。RwLock<MmapMut>mmap crate工作,但写入者会阻塞读取者,读取者也会阻塞写入者。在我们的实现中,只有写入者会阻塞写入者,或者它们在调整大小时会阻塞一切。 mmap crate不提供调整大小的功能。

它使用内部锁来防止两个不同的进程同时追加,并在调整大小时使用不同的内部锁来获得对映射的独占访问,这可能会更改映射的虚拟地址。对于通过切片访问内存的调用者来说,映射的虚拟地址更改不应该很重要,并且在调整大小时由于锁定机制,不能有活动的借用切片。

依赖项

~165KB