Struct jemalloc_ctl::thread::AllocatedP[][src]

pub struct AllocatedP(_);

A type providing access 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.

The get method 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::get can be called on different threads and will return the appropriate pointer for each of them.

Example

extern crate jemallocator;
extern crate jemalloc_ctl;

use jemalloc_ctl::thread::AllocatedP;

#[global_allocator]
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;

fn main() {
    let allocated = AllocatedP::new().unwrap();
    let allocated = allocated.get().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);
}

Methods

impl AllocatedP
[src]

Returns a new Allocated.

Returns a thread-local pointer to the total number of bytes allocated by this thread.

Trait Implementations

impl Copy for AllocatedP
[src]

impl Clone for AllocatedP
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Send for AllocatedP

impl Sync for AllocatedP