4 releases (2 breaking)
Uses old Rust 2015
0.3.0 | Feb 22, 2018 |
---|---|
0.2.1 | May 24, 2017 |
0.2.0 | May 12, 2017 |
0.1.0 | May 12, 2017 |
#746 in Memory management
23 downloads per month
Used in arendur
17KB
322 lines
aren_alloc
A thread-local memory allocator backed up by the concept of object pools,
used to address the memory allocation needs of arendur
.
This crate is useful when
- you want to frequently create and destroy some objects
- these objects are copyable small ones, with size under 256 bytes
- you want the underlying memory to be reused
- you want a unified interface for the pool, rather than a typed one
Usage
use aren_alloc::Allocator;
#[derive(Copy, Clone)]
struct Point(u32, u32);
let allocator = Allocator::new();
let p = allocator.alloc(Point(1, 2));
assert_eq!(p.0, 1);
assert_eq!(p.1, 2);
As CoerceUnsized
is supported for Pointer
, compiling would require a nightly version.
License
This project is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE, LICENSE-MIT for details.