Skip to main content

Module streaming

Module streaming 

Source
Expand description

§Support for Streaming Operations.

Streaming operations are defined by sequences of insertions, deletions, and replacements with the goal to help study how an algorithm performs under dynamic workloads.

Unlike the components defined in crate::build and crate::search, which usually define a single operation to benchmark, the streaming interface is a little more free-form.

Index algorithms should implement Stream to define how to process different operations. The Stream trait is designed to be layered, with various adaptors that modify the function argument types as needed.

Execution of streaming workloads is handled by the Executor trait.

§Built-in Executors

  • [executors::bigann::RunBook] - An executor for the BigANN style runbooks.

§Stream Adaptors

  • [executors::bigann::WithData] - Adapt the raw ranges in a BigANN runbook to data points.

§Built-in Utilities

Modules§

executors
Provided Executors.
graph
Built-in methods for invoking streaming operations on a diskann::graph::DiskANNIndex.

Structs§

AnyStream
A type-erased Stream implementation that wraps stream (outputs)Stream::Output in Box<dyn Any>.

Traits§

Arguments
Operation arguments to Stream.
Executor
A sequential executor for Streams.
Stream
A streaming interface for performing dynamic (streaming) operations on an index.