public class BitmapIterationBenchmark extends Object
BitmapSerdeFactory
.Modifier and Type | Class and Description |
---|---|
static class |
BitmapIterationBenchmark.BitmapsForIntersection |
static class |
BitmapIterationBenchmark.BitmapsForUnion |
static class |
BitmapIterationBenchmark.ConstructAndIterState |
static class |
BitmapIterationBenchmark.IterState |
Modifier and Type | Field and Description |
---|---|
String |
bitmapAlgo |
double |
prob
Fraction of set bits in the bitmaps to iterate.
|
int |
size
The size of all bitmaps, i.
|
Constructor and Description |
---|
BitmapIterationBenchmark() |
Modifier and Type | Method and Description |
---|---|
int |
constructAndIter(BitmapIterationBenchmark.ConstructAndIterState state)
Benchmark of cumulative cost of construction of an immutable bitmap and then iterating over it.
|
int |
intersectionAndIter(BitmapIterationBenchmark.BitmapsForIntersection state)
Benchmark of cumulative cost of bitmap intersection with subsequent iteration over the result.
|
int |
iter(BitmapIterationBenchmark.IterState state)
General benchmark of bitmap iteration, this is a part of
IndexMerger.merge(java.util.List<io.druid.segment.IndexableAdapter>, boolean, io.druid.query.aggregation.AggregatorFactory[], java.io.File, io.druid.segment.IndexSpec) and
query processing on both realtime and historical nodes. |
static void |
main(String[] args)
This main() is for debugging from the IDE.
|
void |
setup() |
int |
unionAndIter(BitmapIterationBenchmark.BitmapsForUnion state)
Benchmark of cumulative cost of bitmap union with subsequent iteration over the result.
|
public String bitmapAlgo
public double prob
intersectionAndIter(io.druid.benchmark.BitmapIterationBenchmark.BitmapsForIntersection)
and
unionAndIter(io.druid.benchmark.BitmapIterationBenchmark.BitmapsForUnion)
, this is the fraction of set bits in the final result of intersection or union.public int size
public void setup()
public int iter(BitmapIterationBenchmark.IterState state)
IndexMerger.merge(java.util.List<io.druid.segment.IndexableAdapter>, boolean, io.druid.query.aggregation.AggregatorFactory[], java.io.File, io.druid.segment.IndexSpec)
and
query processing on both realtime and historical nodes.public int constructAndIter(BitmapIterationBenchmark.ConstructAndIterState state)
StringDimensionIndexer.fillBitmapsFromUnsortedEncodedKeyComponent(int[], int, io.druid.collections.bitmap.MutableBitmap[], io.druid.collections.bitmap.BitmapFactory)
.
However this benchmark is yet approximate and to be improved to better reflect actual workloads of realtime nodes.public int intersectionAndIter(BitmapIterationBenchmark.BitmapsForIntersection state)
AndFilter
is used.public int unionAndIter(BitmapIterationBenchmark.BitmapsForUnion state)
DimensionPredicateFilter
,
RegexDimFilter
, SearchQueryDimFilter
and similar are
used.public static void main(String[] args)
Copyright © 2011–2017. All rights reserved.