pub trait TableGenerator<T: Table>:
Debug
+ Default
+ Clone
+ Send
+ Sync
+ Sized
+ 'static {
// Required method
fn create_proofs(&self, seed: &PosSeed) -> Box<PosProofs>;
// Provided method
fn create_proofs_parallel(&self, seed: &PosSeed) -> Box<PosProofs> { ... }
}
Expand description
Stateful table generator with better performance.
Prefer cloning it over creating multiple separate generators.
Required Methods§
Sourcefn create_proofs(&self, seed: &PosSeed) -> Box<PosProofs>
fn create_proofs(&self, seed: &PosSeed) -> Box<PosProofs>
Create proofs with 32 bytes seed.
There is also Self::create_proofs_parallel()
that can achieve higher performance and
lower latency at the cost of lower CPU efficiency and higher memory usage.
Provided Methods§
Sourcefn create_proofs_parallel(&self, seed: &PosSeed) -> Box<PosProofs>
fn create_proofs_parallel(&self, seed: &PosSeed) -> Box<PosProofs>
Almost the same as Self::create_proofs()
, but uses parallelism internally for better
performance and lower latency at the cost of lower CPU efficiency and higher memory usage
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.