[−][src]Crate deepsize
A utility for recursively measuring the size of an object
This contains the DeepSizeOf
trait, and re-exports
the DeepSizeOf
derive macro from deepsize_derive
use deepsize::DeepSizeOf; #[derive(DeepSizeOf)] struct Test { a: u32, b: Box<u8>, } let object = Test { a: 15, b: Box::new(255), }; // The stack size of the struct: // The size of a u32 (4) // 4 bytes padding (64 bit only) // The stack size of the Box (a usize pointer, 32 or 64 bits: 4 or 8 bytes) // + the size of a u8 (1), the Box's heap storage #[cfg(target_pointer_width = "64")] assert_eq!(object.deep_size_of(), 17); #[cfg(target_pointer_width = "32")] assert_eq!(object.deep_size_of(), 9);
Macros
known_deep_size | A macro to generate an impl for types with known inner allocation sizes. |
Structs
Context | The context of which references have already been seen.
This should only be used in the implementation of the
|
Traits
DeepSizeOf | A trait for measuring the size of an object and its children |
Derive Macros
DeepSizeOf |