#mmap #memory-map #io #file

mapr

Cross-platform Rust API for memory-mapped file IO

1 unstable release

0.8.0 Sep 25, 2020

#50 in Memory management

Download history 3055/week @ 2021-04-03 3391/week @ 2021-04-10 3282/week @ 2021-04-17 3433/week @ 2021-04-24 3444/week @ 2021-05-01 3423/week @ 2021-05-08 4809/week @ 2021-05-15 3818/week @ 2021-05-22 2765/week @ 2021-05-29 3673/week @ 2021-06-05 3607/week @ 2021-06-12 3302/week @ 2021-06-19 3103/week @ 2021-06-26 3853/week @ 2021-07-03 3328/week @ 2021-07-10 3056/week @ 2021-07-17

15,117 downloads per month
Used in 44 crates (7 directly)

MIT/Apache

56KB
1K SLoC

mapr

Fork of the great memmap library.

A Rust library for cross-platform memory mapped IO.

Documentation Crate

Features

  • file-backed memory maps
  • anonymous memory maps
  • synchronous and asynchronous flushing
  • copy-on-write memory maps
  • read-only memory maps
  • stack support (MAP_STACK on unix)
  • executable memory maps
  • huge page support

Platforms

mapr should work on any platform supported by libc. mapr requires Rust stable 1.13 or greater.

mapr is continuously tested on:

  • x86_64-unknown-linux-gnu (Linux)
  • i686-unknown-linux-gnu
  • x86_64-unknown-linux-musl (Linux MUSL)
  • x86_64-apple-darwin (OSX)
  • i686-apple-darwin
  • x86_64-pc-windows-msvc (Windows)
  • i686-pc-windows-msvc
  • x86_64-pc-windows-gnu
  • i686-pc-windows-gnu

mapr is continuously cross-compiled against:

  • arm-linux-androideabi (Android)
  • aarch64-unknown-linux-gnu (ARM)
  • arm-unknown-linux-gnueabihf
  • mips-unknown-linux-gnu (MIPS)
  • x86_64-apple-ios (iOS)
  • i686-apple-ios

License

mapr is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2015 Dan Burkert.

Dependencies

~34KB