@Fork(value = 1, jvmArgsPrepend = "-Xmx128m") @Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) @Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) @State(Scope.Thread) @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.NANOSECONDS) public class BeansBenchmark { @Benchmark public Object newInstance() { return Beans.newInstance(Beans.class); } @Benchmark public Object baseline() { return new Beans(); } public static void main(String[] args) throws RunnerException { Options opt = new OptionsBuilder() .include(BeansBenchmark.class.getSimpleName()) .addProfiler(GCProfiler.class) .detectJvmArgs() .build(); new Runner(opt).run(); } }
@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) @Fork(value = 1) @Warmup(iterations = 15) @Measurement(iterations = 30) public class RendezvousHasherBenchmark @Param({"100000"}) int numIds;
@State(Scope.Benchmark) public static class IterState { private ImmutableBitmap bitmap; @Setup public void setup(BitmapIterationBenchmark state) { bitmap = state.makeBitmap(state.prob); } }
@State(Scope.Group) @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.NANOSECONDS) public class BaselinePingPong { public final AtomicBoolean flag = new AtomicBoolean(); @Benchmark @Group("pingpong") public void ping(Control cnt) { while (!cnt.stopMeasurement && !flag.compareAndSet(false, true)) { // this body is intentionally left blank } } @Benchmark @Group("pingpong") public void pong(Control cnt) { while (!cnt.stopMeasurement && !flag.compareAndSet(true, false)) { // this body is intentionally left blank } } }
@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); } } }
@State(Scope.Benchmark) @Fork(value = 1) @Warmup(iterations = 15) @Measurement(iterations = 30) public class ConsistentHasherBenchmark @Param({"100000"}) int numIds;
@State(Scope.Benchmark) public static class BenchmarkPool { private final AtomicLong numPools = new AtomicLong(0L); private final NonBlockingPool<Object> pool = new StupidPool<>( "simpleObject pool", new Supplier<Object>() { @Override public Object get() { numPools.incrementAndGet(); return simpleObject; } } ); }
@BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MICROSECONDS) @Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) @Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) @Fork(1) @State(Scope.Benchmark) public class ConvertStringToInputStreamBenchmark { private static final String test1 = "test184768612876481276487612876417826487216478216784621784672816478216784621784621786478216478216784261784621782178647281647821647821697421687126784621874621786478216478216874";
@State(Scope.Benchmark) public static class ConstructAndIterState { private int dataSize; private int[] data; @Setup public void setup(BitmapIterationBenchmark state) { data = new int[(int) (state.size * state.prob) * 2]; dataSize = 0; Random random = ThreadLocalRandom.current(); for (int bit = 0; bit < state.size; bit++) { if (random.nextDouble() < state.prob) { data[dataSize] = bit; dataSize++; } } } }
@BenchmarkMode(Mode.Throughput) @OutputTimeUnit(TimeUnit.SECONDS) @Warmup(iterations = 16, time = 2500, timeUnit = TimeUnit.MILLISECONDS) @Measurement(iterations = 16, time = 2500, timeUnit = TimeUnit.MILLISECONDS) @Fork(1) @State(Scope.Benchmark) public class JerseyUriBuilderBenchmark { @Param(value = {"http://localhost:8080/a/b/c", "https://localhost:443/{a}/{b}/{c:.+}"}) private String uriTemplate;
@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.Thread) public static class Stop extends AbstractEvent { @Override void handle() { lazySet(true); } }
@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.Thread) public static class ThreadState { private SimpleRandom random = new SimpleRandom(); int next() { return random.next(); } }
@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;
@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.Thread) public static class BaselineState { Vertx vertx; BenchmarkContext context; Handler<Void> task; @Setup public void setup() { vertx = Vertx.vertx(); context = BenchmarkContext.create(vertx); task = v -> consume("the-string"); } }