pub struct TableStat { /* private fields */ }
Expand description
Table statistics.
Implementations§
Source§impl TableStat
impl TableStat
Sourcepub fn assert_zero_cost_approx(&self) -> usize
pub fn assert_zero_cost_approx(&self) -> usize
Returns the approximate cost of assert_zero
constraints.
The dominating factor of the proving cost of zero constraints is a product of:
- The degree of the constraint expression.
- The number of multiplications in the expression.
- The tower level over which the constraint expression is defined. Note that sub-byte towers are counted the same way as full 8-bit fields.
- The
values_per_row
number.
This is an approximate number and there are potentially other factors that can influence the cost.
Sourcepub fn bits_per_row_committed(&self) -> usize
pub fn bits_per_row_committed(&self) -> usize
Returns the number of committed bits per row of this table. Committed bits are contributed
by the add_committed
columns.
Committed bits increase the proof size and generally lead to faster verification time relative to comparable virtual bits.
Sourcepub fn bits_per_row_virtual(&self) -> usize
pub fn bits_per_row_virtual(&self) -> usize
Returns the number of virtual bits per row of this table. Virtual bits are pretty much any
non-add_committed
columns. E.g. add_shifted
,
add_computed
, etc.
Virtual bits do not affect the proof size but generally lead to slower verification time relative to committed bits.
Sourcepub fn total_flush_count(&self) -> u64
pub fn total_flush_count(&self) -> u64
Returns the total number of flushed entries across all table partitions.
This represents the number of times column values are flushed to channels, accounting for multiplicity. Higher flush counts generally indicate higher proving costs as flushes are a significant factor in proof generation time.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TableStat
impl RefUnwindSafe for TableStat
impl Send for TableStat
impl Sync for TableStat
impl Unpin for TableStat
impl UnwindSafe for TableStat
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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