Module adapton_lab::labdef [] [src]

Defines lab parameters LabParams and LabDef, the parameters for running the test diagram from the Adapton Lab README.

Structs

EngineMetrics

For each engine, for each sampled subcomputation, we record the real time (in nanoseconds) and engine-based counters for DCG costs.

EngineSample

To sample a single engine, we record metrics for processing the input (left vertical edge in README.md diagram).

GenerateParams

Parameters for generating and editing input; See README.md for more.

LabDef

lab definition: generic notion of an incremental computation that can be evaluated and tested. We instantiate this structure once for each test in our test suite. We implement the LabDef trait generically for this structure. See catalog module for example instances.

LabParams

Parameters to running a single lab experiment.

LabResults

The result of a lab is a sequence of samples.

Sample

The experiment consists of a loop over samples. For each sample, we switch back and forth between using the Naive engine, and using the DCG engine. We want to interleave this way for each sample in order to compare outputs and metrics (counts and timings) on a fine-grained scale.

SampleParams

Parameters for collecting a single sample. In addition to these parameters, the experiment maintains a Rng based on the input_seeds, below; this Rng is given to Edit::edit to generate psuedo-random edits, in batches. For each engine, this Rng is sequenced across successive samples. Given an input_seeds vector, there is one unique Rng sequence for each engine's sequence of samples.

Enums

NominalStrategy

A bit that controls how names are placed in the input; See README.md for more.

Traits

Compute

Generic notion of a computation to run naively and incrementally. It has specific Input and Output types, and a way to compute the Output from the Input. See README.md for more.

ComputeDemand

Like Compute, but also provides a demand size, for lazy algorithms.

Edit

Generic process for editing an input randomly, in a stateful sequence of edits. See README.md for more.

Generate

Generic method for generating a random input. See README.md for more.

Lab

lab: Abstracts over parts of a lab definition of type LabDef: Hides the Input, Output and Archivist types of a LabDef.