Class VectorizedMetricsPlan
This class provides an abstraction for vectorized computations.
The "vectorization" is referring to collecting UnaryAggregation Expressions of the same UnaryAggregationKind with the same TypeKind of the operand and between the same Tables together into one group (Bag) to be able to apply vectorized arithmetic to each of the Bags).
Inherited Members
Namespace: Mangrove.MetricSetTransformers.Vectorization
Assembly: MetricSetTransformers.dll
Syntax
public class VectorizedMetricsPlan
Constructors
View SourceVectorizedMetricsPlan(MetricsPlan, IReadOnlyList<Level>, IReadOnlyDictionary<ColumnReference, Bag>)
Declaration
public VectorizedMetricsPlan(MetricsPlan producePlan, IReadOnlyList<Level> levels, IReadOnlyDictionary<ColumnReference, Bag> expressionLookup)
Parameters
Type | Name | Description |
---|---|---|
MetricsPlan | producePlan | |
IReadOnlyList<Level> | levels | |
IReadOnlyDictionary<ColumnReference, Bag> | expressionLookup |
Properties
View SourceBagLookup
Because each Bag knows about its Expressions, but Expressions don't know about the Bags they are in, this property provides a way to do such lookup in the context of a single VectorizedMetricsPlan.
Declaration
public IReadOnlyDictionary<ColumnReference, Bag> BagLookup { get; }
Property Value
Type | Description |
---|---|
IReadOnlyDictionary<ColumnReference, Bag> |
Levels
Each Level corresponds to a unique Aggregation.
Declaration
public IReadOnlyList<Level> Levels { get; }
Property Value
Type | Description |
---|---|
IReadOnlyList<Level> |
ProducePlan
Describes the computation before the first Aggregation Table.
In particular, it can contain TableReferences, DataSources, Joins or Externs. It cannot contain any Aggregations.
Declaration
public MetricsPlan ProducePlan { get; }
Property Value
Type | Description |
---|---|
MetricsPlan |