#memory #alloc #allocator #globalalloc #back-end

mmap-allocator

struct implementing trait std::alloc::GlobalAlloc for unix

4 releases (2 breaking)

0.3.1 Feb 12, 2021
0.3.0 Feb 5, 2021
0.2.1 Sep 28, 2020
0.1.0 Jul 11, 2020

#655 in Memory management

34 downloads per month

Apache-2.0 OR LGPL-3.0-or-later

1.5MB
219 lines

Build Status Build Status

mmap-allocator

mmap-allocator declares struct MmapAllocator and function 'page_size' for 'unix' or 'linux' platform.

MmapAllocator implements std::alloc::GlobalAlloc whose backend is 'posix mmap'.

'page_size' returns OS page size. ('unix' and 'linux' os pass memory to a process by multipile of page size; if a process requires 32 bytes heap memory and if the OS page size is 4096 bytes, OS passes 4096 bytes memory chunk. Usually 'malloc' deals it to use memory effectively.)

License: Apache-2.0 OR LGPL-3.0-or-later


lib.rs:

mmap-allocator declares struct MmapAllocator and function 'page_size' for 'unix' or 'linux' platform.

MmapAllocator implements std::alloc::GlobalAlloc whose backend is 'posix mmap'.

'page_size' returns OS page size. ('unix' and 'linux' os pass memory to a process by multipile of page size; if a process requires 32 bytes heap memory and if the OS page size is 4096 bytes, OS passes 4096 bytes memory chunk. Usually 'malloc' deals it to use memory effectively.)

Dependencies