pub struct CpuCapabilities {
pub physical_cores: usize,
pub logical_cores: usize,
pub base_frequency_mhz: u64,
pub max_frequency_mhz: Option<u64>,
pub cache_size_mb: Option<u64>,
pub architecture: String,
pub instruction_sets: Vec<String>,
pub avx_support: bool,
pub virtualization_support: bool,
pub thread_performance: f64,
pub multicore_efficiency: f64,
}Expand description
CPU-specific capabilities
Fields§
§physical_cores: usizeNumber of physical cores
logical_cores: usizeNumber of logical cores
base_frequency_mhz: u64Base frequency in MHz
max_frequency_mhz: Option<u64>Maximum frequency in MHz
cache_size_mb: Option<u64>Cache size in MB
architecture: StringArchitecture family
instruction_sets: Vec<String>Instruction set extensions
avx_support: boolAVX support
virtualization_support: boolVirtualization support
thread_performance: f64Thread performance score (0-10)
multicore_efficiency: f64Multi-core efficiency (0-10)
Implementations§
Source§impl CpuCapabilities
impl CpuCapabilities
Sourcepub fn from_cpu_info(cpu_info: &CpuInfo) -> Self
pub fn from_cpu_info(cpu_info: &CpuInfo) -> Self
Create CPU capabilities from CPU info
Sourcepub fn ai_capability_level(&self) -> CapabilityLevel
pub fn ai_capability_level(&self) -> CapabilityLevel
Get AI capability level based on CPU performance
Trait Implementations§
Source§impl Clone for CpuCapabilities
impl Clone for CpuCapabilities
Source§fn clone(&self) -> CpuCapabilities
fn clone(&self) -> CpuCapabilities
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 CpuCapabilities
impl Debug for CpuCapabilities
Source§impl<'de> Deserialize<'de> for CpuCapabilities
impl<'de> Deserialize<'de> for CpuCapabilities
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CpuCapabilities
impl RefUnwindSafe for CpuCapabilities
impl Send for CpuCapabilities
impl Sync for CpuCapabilities
impl Unpin for CpuCapabilities
impl UnwindSafe for CpuCapabilities
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> 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