2 unstable releases
0.2.0 | Dec 13, 2022 |
---|---|
0.1.0 | Nov 28, 2022 |
#657 in Memory management
57 downloads per month
22KB
369 lines
accounting-allocator
A Rust global memory allocator wrapper which counts allocated and deallocated bytes, avoiding contention between threads.
The accounting allocator avoids contention by using per-thread atomic counters. It incurs small one-time global and per-thread initialization overhead.
API Documentation
Private Documentation
Contributing Bug Reports
GitHub is the project's bug tracker. Please search for similar existing issues before submitting a new one.
License
Licensed under MIT.
lib.rs
:
accounting-allocator
is a global memory allocator wrapper which counts allocated and deallocated bytes.
Usage
use accounting_allocator::{AccountingAlloc, AllTimeAllocStats};
#[global_allocator]
static GLOBAL_ALLOCATOR: AccountingAlloc = AccountingAlloc::new();
fn main() {
let AllTimeAllocStats { alloc, dealloc, largest_alloc } = GLOBAL_ALLOCATOR.count().all_time;
println!("alloc {alloc} dealloc {dealloc} largest_alloc {largest_alloc}");
}
Dependencies
~395KB