Expand description
Buffer pooling for prover working memory.
The prover allocates many large, short-lived buffers. BufferPool recycles freed blocks
instead of returning them to the global allocator, handing out PoolVec buffers that return
their block to the pool on drop. See the buffer_pool module for the concrete implementation.
Allocator and VecLike abstract over that machinery: an Allocator hands out
VecLike buffers, letting the prover’s allocation code be written against &impl Allocator
rather than a concrete pool. &BufferPool is the primary Allocator, producing PoolVec
buffers.
CollectIntoAllocVec is the rayon seam over the same machinery: it collects a parallel
iterator straight into one of those buffers.
Re-exports§
pub use buffer_pool::BufferPool;pub use buffer_pool::PoolVec;
Modules§
- buffer_
pool - A pool that recycles the prover’s large, short-lived working buffers.
Structs§
- Global
Allocator - An
Allocatorthat hands out ordinary heap-allocatedVecs.
Traits§
- Allocator
- A source of
VecLikebuffers. - Buffer
Data - Backing store of a
binius_math::FieldBufferthat can be shrunk in place. - Collect
Into Alloc Vec - Collects a parallel iterator into a buffer drawn from an
Allocator. - VecLike
- A growable,
Vec-like buffer.