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–2018. All rights reserved.