pub struct PlatformSpecs {
pub min_read_speed_mbps: f64,
pub min_decomp_speed_mbps: f64,
pub crc32_throughput_mbps: f64,
pub ed25519_verify_us: f64,
pub deserialize_throughput_bps: f64,
}Expand description
Platform-specific timing parameters for WCET calculation.
Must be characterized via hardware profiling (Genchi Genbutsu).
§Safety Note
These values represent worst-case performance. Actual execution will typically be faster. Use these for real-time deadline guarantees.
Fields§
§min_read_speed_mbps: f64Minimum guaranteed read speed from storage (MB/s) Account for worst-case fragmentation and bus contention
min_decomp_speed_mbps: f64Minimum decompression throughput (MB/s uncompressed output) Zstd has bounded worst-case
crc32_throughput_mbps: f64CRC32 throughput using hardware acceleration (MB/s) Most ARM cores: ~2000 MB/s with CRC32 instruction
ed25519_verify_us: f64Ed25519 signature verification time (microseconds) Constant time regardless of message size
deserialize_throughput_bps: f64Bincode deserialization overhead (bytes/μs)
Implementations§
Source§impl PlatformSpecs
impl PlatformSpecs
Sourcepub const fn new(
min_read_speed_mbps: f64,
min_decomp_speed_mbps: f64,
crc32_throughput_mbps: f64,
ed25519_verify_us: f64,
deserialize_throughput_bps: f64,
) -> Self
pub const fn new( min_read_speed_mbps: f64, min_decomp_speed_mbps: f64, crc32_throughput_mbps: f64, ed25519_verify_us: f64, deserialize_throughput_bps: f64, ) -> Self
Create custom platform specs
Sourcepub fn effective_throughput_mbps(&self) -> f64
pub fn effective_throughput_mbps(&self) -> f64
Get effective throughput (minimum of read and decompress)
Trait Implementations§
Source§impl Clone for PlatformSpecs
impl Clone for PlatformSpecs
Source§fn clone(&self) -> PlatformSpecs
fn clone(&self) -> PlatformSpecs
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PlatformSpecs
impl Debug for PlatformSpecs
impl Copy for PlatformSpecs
Auto Trait Implementations§
impl Freeze for PlatformSpecs
impl RefUnwindSafe for PlatformSpecs
impl Send for PlatformSpecs
impl Sync for PlatformSpecs
impl Unpin for PlatformSpecs
impl UnsafeUnpin for PlatformSpecs
impl UnwindSafe for PlatformSpecs
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<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