#mmap #memory #memory-mapped #file #mapping #low-level #memory-map

easy_mmap

允许轻松操作大量数据的强类型内存映射文件

7个版本

0.3.1 2022年8月29日
0.3.0 2022年8月29日
0.2.3 2022年8月27日
0.1.1 2022年8月24日

#519 in 内存管理

每月 下载 36
用于 graph_csr

MIT 协议

17KB
396 代码行

easy_mmap

注意:此crate仍处于早期开发阶段!

此库通过强制使用Rust的强类型系统来提供一个简单易用的用户界面,用于操作内存映射内存。它是mmap crate的一个简单抽象。

它进一步抽象了内存映射区域,同时也支持迭代器和易于本地更新。

示例用法

use easy_mmap::EasyMmapBuilder;
use mmap::MapOption;

fn main() {
    let map = &mut EasyMmapBuilder::<u32>::new()
        .capacity(10)
        .options(&[MapOption::MapReadable, MapOption::MapWritable])
        .build();

    map.iter_mut()
        .enumerate()
        .for_each(|(idx, x)| *x = idx as u32);

    map.iter().for_each(|v| {
        print!("{} ", v);
    });
}

依赖项

~2MB
~33K SLoC