1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
# MallocSizeOf
[](https://github.com/servo/malloc_size_of/actions)
[](https://crates.io/crates/malloc_size_of)
[](https://docs.rs/malloc_size_of)

[](https://deps.rs/repo/github/servo/malloc_size_of)
A an allocator-agnostic crate for measuring the runtime size of a value
including the size of any heap allocations that are owned by that value.
This crate is used by both Servo and Firefox for memory usage calculation.
## Features
- It isn't bound to a particular heap allocator.
- It provides traits for both "shallow" and "deep" measurement, which gives
flexibility in the cases where the traits can't be used.
- It allows for measuring blocks even when only an interior pointer can be
obtained for heap allocations, e.g. `HashSet` and `HashMap`. (This relies
on the heap allocator having suitable support, which `jemalloc` has.)
- It allows handling of types like `Rc` and `Arc` by providing traits that
are different to the ones for non-graph structures.
|