pub struct CpuInfo {
pub brand: String,
pub logical_cores: usize,
pub physical_cores: usize,
pub arch: String,
pub features: CpuFeatures,
pub performance_cores: Option<usize>,
pub efficiency_cores: Option<usize>,
}Expand description
CPU topology and feature-set information.
Fields§
§brand: StringHuman-readable brand string (e.g. “Intel(R) Core(TM) i9-14900K”).
logical_cores: usizeNumber of logical cores (hyperthreads).
physical_cores: usizeNumber of physical cores (approximate).
arch: StringArchitecture family (x86_64, aarch64, …).
features: CpuFeaturesSet of detected CPU features.
performance_cores: Option<usize>Performance-core count on a hybrid CPU (e.g. Intel 12th gen+
P-cores). None when undetectable (non-Windows currently — see
detect_hybrid_core_counts) or when the CPU has no real P/E split
(every core reporting the same EfficiencyClass, which is the
common case, including this repo’s AMD Zen reference hardware).
efficiency_cores: Option<usize>Efficiency-core count on a hybrid CPU. Same availability rules as
performance_cores.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CpuInfo
impl RefUnwindSafe for CpuInfo
impl Send for CpuInfo
impl Sync for CpuInfo
impl Unpin for CpuInfo
impl UnsafeUnpin for CpuInfo
impl UnwindSafe for CpuInfo
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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 more