Uses old Rust 2015
0.1.0 |
|
---|
#9 in #acquire
8KB
155 lines
A global, thread-safe memory pool
A Rust library providing a global, thread-safe memory pool, ideal for when you need a temporary scratch buffer but you don't want to be constantly allocating memory.
memory_pool::borrow( |aux: &mut String| {
aux.push_str( "Do you like cupcakes?" );
});
memory_pool::borrow( |vec: &mut Vec< u32 >| {
vec.push( 1 );
vec.push( 2 );
vec.push( 3 );
});
You can also manually acquire and release memory:
let buffer: String = memory_pool::acquire();
buffer.push_str( "I like cupcakes!" );
memory_pool::release( buffer );
Usage
Add this to your Cargo.toml
:
[dependencies]
memory-pool = "0.0.1"
Then add this to your crate root:
extern crate memory_pool;
lib.rs
:
A Rust library providing a global, thread-safe memory pool, ideal for when you need a temporary scratch buffer but you don't want to be constantly allocating memory.
memory_pool::borrow( |aux: &mut String| {
aux.push_str( "Do you like cupcakes?" );
});
memory_pool::borrow( |vec: &mut Vec< u32 >| {
vec.push( 1 );
vec.push( 2 );
vec.push( 3 );
});
You can also manually acquire and release memory:
let buffer: String = memory_pool::acquire();
buffer.push_str( "I like cupcakes!" );
memory_pool::release( buffer );