@Benchmark @Group("backoffOneNano") @GroupThreads(1) public void read(Control cnt) { while (!consumer.read() && !cnt.stopMeasurement) { LockSupport.parkNanos(1L); } } }
@Benchmark @Group("twoMixedLengthPrimitiveArgs") @GroupThreads(CONSUMER_THREADS) public int twoMixedLengthPrimitiveArgsProcessor(final ProcessorCounters counters) { return doProcess(mpscChannel, counters); }
@Benchmark @Group("noArgs") @GroupThreads(CONSUMER_THREADS) public int noArgsProcessor(final ProcessorCounters counters) { return doProcess(mpscChannel, counters); }
@Benchmark @Group("ring") @GroupThreads(1) public void ping(Control ctl, Source s) { s.ping(ctl); }
@Benchmark @Group("oneObjectArg") @GroupThreads(CONSUMER_THREADS) public int oneObjectArgProcessor(final ProcessorCounters counters) { return doProcess(mpscChannel, counters); }
@Benchmark @Group("oneReferenceArg") @GroupThreads(CONSUMER_THREADS) public int oneReferenceArgProcessor(final ProcessorCounters counters) { return doProcess(mpscChannel, counters); }
@Benchmark @Group("tenMixedArgs") @GroupThreads(CONSUMER_THREADS) public int tenMixedArgsProcessor(final ProcessorCounters counters) { return doProcess(mpscChannel, counters); }
@Benchmark @Group("alignedPrimitiveArgs") @GroupThreads(CONSUMER_THREADS) public int alignedPrimitiveArgsProcessor(final ProcessorCounters counters) { return doProcess(mpscChannel, counters); }
/** * @param ctl required here to make the benchmark generate code correctly(JMH 0.2 issue, fixed on main) */ @Benchmark @Group("ring") @GroupThreads(1) public void loop(Control ctl, Link l) { l.link(); } }
@Benchmark @Group("tenMixedArgs") @GroupThreads(CONSUMER_THREADS) public int tenMixedArgsProcessor(final ProcessorCounters counters) { return doProcess(spscChannel, counters); }
@Benchmark @Group("unalignedPrimitiveArgs") @GroupThreads(CONSUMER_THREADS) public int unalignedPrimitiveArgsProcessor(final ProcessorCounters counters) { return doProcess(spscChannel, counters); }
@Benchmark @Group("onePrimitiveArg") @GroupThreads(CONSUMER_THREADS) public int onePrimitiveArgProcessor(final ProcessorCounters counters) { return doProcess(mpscChannel, counters); }
@Benchmark @Group("busy") @GroupThreads(1) public void readBusy(Control cnt) { while (!consumer.read() && !cnt.stopMeasurement) { } }
@Benchmark @Group("onePrimitiveArg") @GroupThreads(PRODUCER_THREADS) public boolean onePrimitiveArgCaller(final Control control, final CallerCounters counters) { this.waitStrategy.control = control; try { this.proxy.onePrimitiveArg(this.intArg); counters.callsFailed = this.waitStrategy.retries; return true; } catch (final StoppedException e) { return false; } }
@Benchmark @Group("unalignedPrimitiveArgs") @GroupThreads(CONSUMER_THREADS) public int unalignedPrimitiveArgsProcessor(final ProcessorCounters counters) { return doProcess(mpscChannel, counters); }
@Benchmark @Group("oneReferenceArg") @GroupThreads(CONSUMER_THREADS) public int oneReferenceArgProcessor(final ProcessorCounters counters) { return doProcess(spscChannel, counters); }
@Benchmark @Group("twoMixedLengthPrimitiveArgs") @GroupThreads(CONSUMER_THREADS) public int twoMixedLengthPrimitiveArgsProcessor(final ProcessorCounters counters) { return doProcess(spscChannel, counters); }
@Benchmark @Group("noArgs") @GroupThreads(CONSUMER_THREADS) public int noArgsProcessor(final ProcessorCounters counters) { return doProcess(spscChannel, counters); }
@Benchmark @Group("ring") @GroupThreads(1) public void ping(Control ctl, Source s) { s.ping(ctl); }
@Benchmark @Group("oneObjectArg") @GroupThreads(CONSUMER_THREADS) public int oneObjectArgProcessor(final ProcessorCounters counters) { return doProcess(spscChannel, counters); }