pub struct NumaTopology {
pub nodes: Vec<NumaNode>,
}Expand description
NUMA topology information for memory allocation optimization
Fields§
§nodes: Vec<NumaNode>Available NUMA nodes
Implementations§
Source§impl NumaTopology
impl NumaTopology
Sourcepub fn get_optimal_node(&self) -> u32
pub fn get_optimal_node(&self) -> u32
Get the best NUMA node for allocation based on current thread affinity
Sourcepub fn get_node_with_most_memory(&self) -> Option<u32>
pub fn get_node_with_most_memory(&self) -> Option<u32>
Get node with most available memory
Sourcepub fn total_system_memory(&self) -> u64
pub fn total_system_memory(&self) -> u64
Get total system memory across all nodes
Sourcepub fn total_available_memory(&self) -> u64
pub fn total_available_memory(&self) -> u64
Get total available memory across all nodes
Sourcepub fn get_node_info(&self, _nodeid: u32) -> Option<&NumaNode>
pub fn get_node_info(&self, _nodeid: u32) -> Option<&NumaNode>
Get memory information for a specific node
Trait Implementations§
Source§impl Clone for NumaTopology
impl Clone for NumaTopology
Source§fn clone(&self) -> NumaTopology
fn clone(&self) -> NumaTopology
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NumaTopology
impl Debug for NumaTopology
Auto Trait Implementations§
impl Freeze for NumaTopology
impl RefUnwindSafe for NumaTopology
impl Send for NumaTopology
impl Sync for NumaTopology
impl Unpin for NumaTopology
impl UnwindSafe for NumaTopology
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.