Function jemalloc_ctl::thread::allocatedp [−][src]
pub fn allocatedp() -> Result<ThreadLocal<u64>>
Returns a thread-local pointer to the total number of bytes allocated by the current thread.
Unlike [stats::allocated
], the value returned by this type is not the number of bytes
currently allocated, but rather the number of bytes that have ever been allocated by this
thread.
This function doesn't return the value directly, but actually a pointer to the value. This
allows for very fast repeated lookup, since there is no function call overhead. The pointer type
cannot be sent to other threads, but allocated
can be called on different threads and will
return the appropriate pointer for each of them.
This corresponds to thread.allocatedp
in jemalloc's API.
Examples
extern crate jemallocator; extern crate jemalloc_ctl; #[global_allocator] static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; fn main() { let allocated = jemalloc_ctl::thread::allocatedp().unwrap(); let a = allocated.get(); let buf = vec![0; 1024 * 1024]; let b = allocated.get(); drop(buf); let c = allocated.get(); assert!(a < b); assert_eq!(b, c); }