pub enum WorkPerItem {
FieldMuls,
HashCompression,
Inversion,
}Expand description
Estimated cost of processing one item of a loop bound by arithmetic.
A floor only has to land within an order of magnitude, so the classes are coarse. Guessing low leaves about a microsecond of handoff overhead per surplus task. Guessing high delays the split until a somewhat larger input.
Variants§
FieldMuls
A handful of packed field multiplies.
One output word of a fractional addition is three multiplies and an add.
HashCompression
One hash compression, such as a Merkle inner node or a single message block.
Inversion
One scalar field inversion, roughly a hundred packed multiplies.
Trait Implementations§
Source§impl Clone for WorkPerItem
impl Clone for WorkPerItem
Source§fn clone(&self) -> WorkPerItem
fn clone(&self) -> WorkPerItem
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 WorkPerItem
impl Debug for WorkPerItem
Source§impl PartialEq for WorkPerItem
impl PartialEq for WorkPerItem
Source§fn eq(&self, other: &WorkPerItem) -> bool
fn eq(&self, other: &WorkPerItem) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for WorkPerItem
impl Eq for WorkPerItem
impl StructuralPartialEq for WorkPerItem
Auto Trait Implementations§
impl Freeze for WorkPerItem
impl RefUnwindSafe for WorkPerItem
impl Send for WorkPerItem
impl Sync for WorkPerItem
impl Unpin for WorkPerItem
impl UnsafeUnpin for WorkPerItem
impl UnwindSafe for WorkPerItem
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 more