pub enum CachegrindMetric {
Show 26 variants
Ir,
Dr,
Dw,
I1mr,
D1mr,
D1mw,
ILmr,
DLmr,
DLmw,
I1MissRate,
LLiMissRate,
D1MissRate,
LLdMissRate,
LLMissRate,
L1hits,
LLhits,
RamHits,
L1HitRate,
LLHitRate,
RamHitRate,
TotalRW,
EstimatedCycles,
Bc,
Bcm,
Bi,
Bim,
}
api
only.Expand description
All metrics which cachegrind produces and additionally some derived events
Depending on the options passed to Cachegrind, these are the events that Cachegrind can produce. See the Cachegrind documentation for details.
Variants§
Ir
The default event. I cache reads (which equals the number of instructions executed)
Dr
D Cache reads (which equals the number of memory reads) (–cache-sim=yes)
Dw
D Cache writes (which equals the number of memory writes) (–cache-sim=yes)
I1mr
I1 cache read misses (–cache-sim=yes)
D1mr
D1 cache read misses (–cache-sim=yes)
D1mw
D1 cache write misses (–cache-sim=yes)
ILmr
LL cache instruction read misses (–cache-sim=yes)
DLmr
LL cache data read misses (–cache-sim=yes)
DLmw
LL cache data write misses (–cache-sim=yes)
I1MissRate
I1 cache miss rate (–cache-sim=yes)
LLiMissRate
LL/L2 instructions cache miss rate (–cache-sim=yes)
D1MissRate
D1 cache miss rate (–cache-sim=yes)
LLdMissRate
LL/L2 data cache miss rate (–cache-sim=yes)
LLMissRate
LL/L2 cache miss rate (–cache-sim=yes)
L1hits
Derived event showing the L1 hits (–cache-sim=yes)
LLhits
Derived event showing the LL hits (–cache-sim=yes)
RamHits
Derived event showing the RAM hits (–cache-sim=yes)
L1HitRate
L1 cache hit rate (–cache-sim=yes)
LLHitRate
LL/L2 cache hit rate (–cache-sim=yes)
RamHitRate
RAM hit rate (–cache-sim=yes)
TotalRW
Derived event showing the total amount of cache reads and writes (–cache-sim=yes)
EstimatedCycles
Derived event showing estimated CPU cycles (–cache-sim=yes)
Bc
Conditional branches executed (–branch-sim=yes)
Bcm
Conditional branches mispredicted (–branch-sim=yes)
Bi
Indirect branches executed (–branch-sim=yes)
Bim
Indirect branches mispredicted (–branch-sim=yes)
Implementations§
Source§impl CachegrindMetric
impl CachegrindMetric
Sourcepub fn is_derived(&self) -> bool
pub fn is_derived(&self) -> bool
Return true if this EventKind
is a derived event
Derived events are calculated from Cachegrind’s native event types the same ways as for
callgrind’s EventKind
CachegrindMetric::L1hits
CachegrindMetric::LLhits
CachegrindMetric::RamHits
CachegrindMetric::TotalRW
CachegrindMetric::EstimatedCycles
CachegrindMetric::I1MissRate
CachegrindMetric::D1MissRate
CachegrindMetric::LLiMissRate
CachegrindMetric::LLdMissRate
CachegrindMetric::LLMissRate
CachegrindMetric::L1HitRate
CachegrindMetric::LLHitRate
CachegrindMetric::RamHitRate
Trait Implementations§
Source§impl Clone for CachegrindMetric
impl Clone for CachegrindMetric
Source§fn clone(&self) -> CachegrindMetric
fn clone(&self) -> CachegrindMetric
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CachegrindMetric
impl Debug for CachegrindMetric
Source§impl<'de> Deserialize<'de> for CachegrindMetric
impl<'de> Deserialize<'de> for CachegrindMetric
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>,
Source§impl Display for CachegrindMetric
impl Display for CachegrindMetric
Source§impl From<CachegrindMetric> for CachegrindMetrics
impl From<CachegrindMetric> for CachegrindMetrics
Source§fn from(value: CachegrindMetric) -> Self
fn from(value: CachegrindMetric) -> Self
Source§impl From<CachegrindMetric> for EventKind
impl From<CachegrindMetric> for EventKind
Source§fn from(value: CachegrindMetric) -> Self
fn from(value: CachegrindMetric) -> Self
Source§impl FromStr for CachegrindMetric
Available on crate feature runner
only.
impl FromStr for CachegrindMetric
runner
only.Source§impl Hash for CachegrindMetric
impl Hash for CachegrindMetric
Source§impl IntoEnumIterator for CachegrindMetric
impl IntoEnumIterator for CachegrindMetric
type Iterator = CachegrindMetricIter
fn iter() -> CachegrindMetricIter ⓘ
Source§impl JsonSchema for CachegrindMetric
impl JsonSchema for CachegrindMetric
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref
keyword. Read moreSource§impl PartialEq for CachegrindMetric
impl PartialEq for CachegrindMetric
Source§impl RegressionConfig<CachegrindMetric> for CachegrindRegressionConfig
Available on crate feature runner
only.
impl RegressionConfig<CachegrindMetric> for CachegrindRegressionConfig
runner
only.Source§fn check(
&self,
metrics_summary: &MetricsSummary<CachegrindMetric>,
) -> Vec<ToolRegression>
fn check( &self, metrics_summary: &MetricsSummary<CachegrindMetric>, ) -> Vec<ToolRegression>
MetricsSummary
for regressions. Read moreSource§fn get_soft_limits(&self) -> &[(CachegrindMetric, f64)]
fn get_soft_limits(&self) -> &[(CachegrindMetric, f64)]
Source§fn get_hard_limits(&self) -> &[(CachegrindMetric, Metric)]
fn get_hard_limits(&self) -> &[(CachegrindMetric, Metric)]
Source§fn check_and_print(
&self,
metrics_summary: &MetricsSummary<T>,
) -> Vec<ToolRegression>
fn check_and_print( &self, metrics_summary: &MetricsSummary<T>, ) -> Vec<ToolRegression>
Source§fn check_regressions(
&self,
metrics_summary: &MetricsSummary<T>,
) -> Vec<RegressionMetrics<T>>
fn check_regressions( &self, metrics_summary: &MetricsSummary<T>, ) -> Vec<RegressionMetrics<T>>
RegressionMetrics
Source§impl Serialize for CachegrindMetric
impl Serialize for CachegrindMetric
Source§impl Summarize for CachegrindMetric
Available on crate feature runner
only.
impl Summarize for CachegrindMetric
runner
only.Source§impl TypeChecker for CachegrindMetric
Available on crate feature runner
only.
impl TypeChecker for CachegrindMetric
runner
only.Source§fn is_int(&self) -> bool
fn is_int(&self) -> bool
Metric::Int
Source§fn is_float(&self) -> bool
fn is_float(&self) -> bool
Metric::Float
Source§fn verify_metric(&self, metric: Metric) -> bool
fn verify_metric(&self, metric: Metric) -> bool
Metric
has the expected metric typeimpl Copy for CachegrindMetric
impl Eq for CachegrindMetric
impl StructuralPartialEq for CachegrindMetric
Auto Trait Implementations§
impl Freeze for CachegrindMetric
impl RefUnwindSafe for CachegrindMetric
impl Send for CachegrindMetric
impl Sync for CachegrindMetric
impl Unpin for CachegrindMetric
impl UnwindSafe for CachegrindMetric
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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>
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