@State(Scope.Benchmark) @Fork(value = 1) @Warmup(iterations = 10) @Measurement(iterations = 25) @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MILLISECONDS) public class LongCompressionBenchmark @Param("longCompress/") private static String dirPath; @Param({"enumerate", "zipfLow", "zipfHigh", "sequential", "uniform"}) private static String file; @Param({"auto", "longs"}) private static String format; @Param({"lz4", "none"}) private static String strategy;
@State(Scope.Benchmark) public class ConciseComplementBenchmark { // Number of rows to read, the test will read random rows @Param({"1000", "10000", "100000", "1000000", "1000000"}) int emptyRows; @Benchmark @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MICROSECONDS) public void uncompressed(Blackhole blackhole) { final ImmutableConciseSet set = ImmutableConciseSet.complement(null, emptyRows); blackhole.consume(set); assert (emptyRows == set.size()); } }
@State(Scope.Benchmark) @OutputTimeUnit(TimeUnit.NANOSECONDS) public class UnsignedVSFlip { @Param({"1", "31", "65", "101", "103"}) public short key;
public class QueueThroughputBackoffConsume extends QueueThroughputBackoffNone { @Param({"1","10","100","1000"}) private long consumeAmount; @Override protected void backoff() { Blackhole.consumeCPU(consumeAmount); } }
/** * @param field * @return the possible {@link Param} values for a {@link Field}. */ public static List<String> getParameterValues(Field field) { Param annotation = field.getAnnotation(Param.class); if (annotation != null && (annotation.value().length == 0 || (annotation.value().length == 1 && annotation.value()[0].equals(Param.BLANK_ARGS))) && field.getType().isEnum()) { return Arrays.asList(field.getType().getEnumConstants()).stream().map(Object::toString) .collect(Collectors.toList()); } if (annotation == null || annotation.value().length == 0 || (annotation.value().length == 1 && annotation.value()[0].equals(Param.BLANK_ARGS))) { return Collections.emptyList(); } return Arrays.asList(annotation.value()); }
@State(Scope.Benchmark) public static class BitmapsForIntersection { /** * Number of bitmaps to intersect. */ @Param({"2", "10", "100"}) public int n; private ImmutableBitmap[] bitmaps; @Setup public void setup(BitmapIterationBenchmark state) { // prob of intersection = product (probs of intersected bitmaps), prob = intersectedBitmapProb ^ n double intersectedBitmapProb = Math.pow(state.prob, 1.0 / n); bitmaps = new ImmutableBitmap[n]; for (int i = 0; i < n; i++) { bitmaps[i] = state.makeBitmap(intersectedBitmapProb); } } }
@Provides @Singleton public List<DataSet> dataSets() throws NoSuchFieldException, IOException { String[] testNames = DataSet.class .getDeclaredField("name") .getAnnotation(Param.class) .value(); List<DataSet> result = new ArrayList<>(); for (String testName : testNames) { DataSet entry = new DataSet(testName); entry.loadFile(); result.add(entry); } return result; } }
@State(Scope.Benchmark) @Fork(value = 1) @Warmup(iterations = 10) @Measurement(iterations = 25) @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MILLISECONDS) public class FloatCompressionBenchmark @Param("floatCompress/") private static String dirPath; @Param({"enumerate", "zipfLow", "zipfHigh", "sequential", "uniform"}) private static String file; @Param({"lz4", "none"}) private static String strategy;
@State(Scope.Benchmark) public class RealDataBenchmarkState extends org.roaringbitmap.AbstractBenchmarkState { @Param({// putting the data sets in alpha. order CENSUS_INCOME}) public String dataset; @Param({ROARING_WITH_RUN}) public String type; @Param({"false",}) public boolean immutable; public RealDataBenchmarkState() {} @Setup public void setup() throws Exception { super.setup(dataset, type, immutable); } }
@State(Scope.Benchmark) @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MICROSECONDS) @Fork(value = 1, jvmArgsAppend = "-XX:+UseG1GC") public class NewestSegmentFirstPolicyBenchmark @Param("100") private int numDataSources; @Param("10000") private int numDayIntervalsPerDataSource; @Param("10") private int numPartitionsPerDayInterval; @Param("800000000") private long targetCompactionSizeBytes; @Param("1000000") private long segmentSizeBytes; @Param("10") private int numCompactionTaskSlots;
@State(Scope.Benchmark) public class RealDataBenchmarkState extends org.roaringbitmap.AbstractBenchmarkState { @Param({// putting the data sets in alpha. order CENSUS_INCOME}) public String dataset; @Param({ROARING}) public String type; @Param({"false",}) public boolean immutable; public RealDataBenchmarkState() {} @Setup public void setup() throws Exception { super.setup(dataset, type, immutable); } }
@State(Scope.Benchmark) @Fork(value = 1) @Warmup(iterations = 10) @Measurement(iterations = 25) @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MICROSECONDS) public class FixedHistogramAddBenchmark @Param({"100000", "1000000"}) int numEvents; @Param({"10", "100", "1000", "10000", "100000"}) int numBuckets;
@State(Scope.Benchmark) public class RealDataRoaringOnlyBenchmarkState extends org.roaringbitmap.RoaringOnlyBenchmarkState { @Param({// putting the data sets in alpha. order CENSUS_INCOME, CENSUS1881, DIMENSION_008, DIMENSION_003, DIMENSION_033, USCENSUS2000, WEATHER_SEPT_85, WIKILEAKS_NOQUOTES, CENSUS_INCOME_SRT, CENSUS1881_SRT, WEATHER_SEPT_85_SRT, WIKILEAKS_NOQUOTES_SRT}) public String dataset; public RealDataRoaringOnlyBenchmarkState() {} @Setup public void setup() throws Exception { super.setup(dataset); } }
@State(Scope.Benchmark) @Fork(value = 1) @Warmup(iterations = 10) @Measurement(iterations = 25) public class IndexPersistBenchmark @Param({"75000"}) private int rowsPerSegment; @Param({"rollo"}) private String schema; @Param({"true", "false"}) private boolean rollup; @Param({"none", "moderate", "high"}) private String rollupOpportunity;
@State(Scope.Benchmark) @Fork(value = 1) @Warmup(iterations = 15) @Measurement(iterations = 30) public class RendezvousHasherBenchmark @Param({"100000"}) int numIds;