类org.openjdk.jmh.annotations.Group源码实例Demo

下面列出了怎么用org.openjdk.jmh.annotations.Group的API类实例代码及写法,或者点击链接到github查看源代码。

@Benchmark
@Group("scheduledDelayed")
public void scheduledDelayedAcks(Control control, TrackerState trackerState) throws Exception {
  if (!control.stopMeasurement) {
    final AcknowledgableWatermark wmark = new AcknowledgableWatermark(new DefaultCheckpointableWatermark(
        "0", new LongWatermark(trackerState._index)));
    trackerState._index++;
    int delay = trackerState._random.nextInt(10);
    trackerState._executorService.schedule(new Runnable() {
      @Override
      public void run() {
        wmark.ack();
      }
    }, delay, TimeUnit.MILLISECONDS);
  }
}
 
源代码2 项目: jmh-playground   文件: JMHSample_18_Control.java
@Benchmark
@Group("pingpong")
public void ping(Control cnt) {
    while (!cnt.stopMeasurement && !flag.compareAndSet(false, true)) {
        // this body is intentionally left blank
    }
}
 
源代码3 项目: jmh-playground   文件: JMHSample_18_Control.java
@Benchmark
@Group("pingpong")
public void pong(Control cnt) {
    while (!cnt.stopMeasurement && !flag.compareAndSet(true, false)) {
        // this body is intentionally left blank
    }
}
 
@Benchmark
@Group
public void write(ProducerCounter counter) throws IOException {
    cbos.write(data);
    counter.producedBytes += dataSize;
    if (flushOnEach || r.nextInt(100) < 30) {
        cbos.flush();
        counter.flush++;
    }
}
 
@Benchmark
@Group
public void requestN(ConsumerCounter counter) {
    if (subscription == null) {
        toSource(publisher).subscribe(new Subscriber<Buffer>() {
            @Override
            public void onSubscribe(final Subscription s) {
                subscription = s;
            }

            @Override
            public void onNext(final Buffer buffer) {
                counter.consumedBytes += buffer.readableBytes();
                ++counter.onNext;
            }

            @Override
            public void onError(final Throwable t) {
            }

            @Override
            public void onComplete() {
            }
        });
    }
    subscription.request(1);
}
 
@Benchmark @Group("no_contention") @GroupThreads(1)
public void no_contention_drain(DrainCounters counters, ConsumerMarker cm) {
  q.drainTo(next -> {
    counters.drained++;
    return true;
  });
}
 
@Benchmark @Group("mild_contention") @GroupThreads(1)
public void mild_contention_drain(DrainCounters counters, ConsumerMarker cm) {
  q.drainTo(next -> {
    counters.drained++;
    return true;
  });
}
 
@Benchmark @Group("high_contention") @GroupThreads(1)
public void high_contention_drain(DrainCounters counters, ConsumerMarker cm) {
  q.drainTo(next -> {
    counters.drained++;
    return true;
  });
}
 
@Benchmark
@Group("trackImmediate")
public void trackImmediateAcks(Control control, TrackerState trackerState) throws Exception {
  if (!control.stopMeasurement) {
    AcknowledgableWatermark wmark = new AcknowledgableWatermark(new DefaultCheckpointableWatermark(
        "0", new LongWatermark(trackerState._index)));
    trackerState._watermarkTracker.track(wmark);
    trackerState._index++;
    wmark.ack();
  }
}
 
@Benchmark @Group("no_contention") @GroupThreads(1)
public void no_contention_offer(OfferCounters counters) {
  if (q.offer(ONE, 1)) {
    counters.offersMade++;
  } else {
    counters.offersFailed++;
  }
}
 
@Benchmark @Group("no_contention") @GroupThreads(1)
public void no_contention_drain(DrainCounters counters, ConsumerMarker cm) {
  q.drainTo((s, b) -> {
    counters.drained++;
    return true;
  }, 1000);
}
 
@Benchmark @Group("mild_contention") @GroupThreads(2)
public void mild_contention_offer(OfferCounters counters) {
  if (q.offer(ONE, 1)) {
    counters.offersMade++;
  } else {
    counters.offersFailed++;
  }
}
 
源代码13 项目: tlaplus   文件: StateQueueBenachmark.java
@Benchmark
@Group("single")
@GroupThreads(2)
public TLCState[] consumerSingle() {
	final TLCState[] res = new TLCState[batch.length];
	for (int i = 0; i < batch.length; i++) {
		res[i] = this.s.sDequeue();
	}
    return res;
}
 
源代码14 项目: tlaplus   文件: StateQueueBenachmark.java
@Benchmark
  @Group("single")
  @GroupThreads(2)
  public void producerSingle() {
  	for (int i = 0; i < batch.length; i++) {
  		this.s.sEnqueue(batch[i]);
}
  }
 
源代码15 项目: tlaplus   文件: StateQueueBenachmark.java
@Benchmark
@Group("batchasym")
@GroupThreads(2)
public TLCState[] consumerBatch() {
	final TLCState[] res = new TLCState[batch.length];
	for (int i = 0; i < batch.length; i++) {
		res[i] = this.s.sDequeue();
	}
    return res;
}
 
源代码16 项目: caffeine   文件: SingleConsumerQueueBenchmark.java
@Benchmark @Group("high_contention") @GroupThreads(1)
public void high_contention_poll(PollCounters counters) {
  if (queue.poll() == null) {
    counters.pollsFailed++;
  } else {
    counters.pollsMade++;
  }
}
 
源代码17 项目: lin-check   文件: QueueThroughputBusy.java
@GenerateMicroBenchmark
@Group("tpt")
public void offer(OpCounters counters) {
    if (!q.offer(ONE)) {
        counters.offerFail++;
    } 
    if (DELAY_PRODUCER != 0) {
        BlackHole.consumeCPU(DELAY_PRODUCER);
    }
}
 
源代码18 项目: lin-check   文件: QueueThroughputBusy.java
@GenerateMicroBenchmark
@Group("tpt")
public void poll(OpCounters counters, ConsumerMarker cm) {
    if (q.poll() == null) {
        counters.pollFail++;
    } 
    if (DELAY_CONSUMER != 0) {
        BlackHole.consumeCPU(DELAY_CONSUMER);
    }
}
 
源代码19 项目: lin-check   文件: QueueThroughputYield.java
@GenerateMicroBenchmark
@Group("tpt")
public void offer(OpCounters counters) {
    if (!q.offer(ONE)) {
        counters.offerFail++;
        Thread.yield();
    } 
    if (DELAY_PRODUCER != 0) {
        BlackHole.consumeCPU(DELAY_PRODUCER);
    }
}
 
源代码20 项目: lin-check   文件: QueueThroughputYield.java
@GenerateMicroBenchmark
@Group("tpt")
public void poll(OpCounters counters, ConsumerMarker cm) {
    if (q.poll() == null) {
        counters.pollFail++;
        Thread.yield();
    } 
    if (DELAY_CONSUMER != 0) {
        BlackHole.consumeCPU(DELAY_CONSUMER);
    }
}
 
源代码21 项目: ignite   文件: JmhParkVsNotifyBenchmark.java
/**
 *
 */
@Benchmark
@Group("park")
public void park() {
    if (thread == null)
        thread = Thread.currentThread();

    LockSupport.park(thread);
}
 
源代码22 项目: ignite   文件: JmhParkVsNotifyBenchmark.java
/**
 *
 */
@Benchmark
@GroupThreads(THREAD_COUNT)
@Group("park")
public void unpark() {
    LockSupport.unpark(thread);
}
 
源代码23 项目: ignite   文件: JmhParkVsNotifyBenchmark.java
/**
 *
 */
@Benchmark
@Group("condition")
@GroupThreads(THREAD_COUNT)
public void notifyAll0() {
    synchronized (mux) {
        mux.notify();
    }
}
 
源代码24 项目: ignite   文件: JmhParkVsNotifyBenchmark.java
/**
 *
 */
@Benchmark
@Group("condition")
public void wait0() throws InterruptedException {
    synchronized (mux) {
        mux.wait();
    }
}
 
源代码25 项目: caffeine   文件: SingleConsumerQueueBenchmark.java
@Benchmark  @Group("no_contention") @GroupThreads(1)
public void no_contention_offer(OfferCounters counters) {
  if (queue.offer(Boolean.TRUE)) {
    counters.offersMade++;
  } else {
    counters.offersFailed++;
  }
}
 
源代码26 项目: caffeine   文件: SingleConsumerQueueBenchmark.java
@Benchmark @Group("no_contention") @GroupThreads(1)
public void no_contention_poll(PollCounters counters) {
  if (queue.poll() == null) {
    counters.pollsFailed++;
  } else {
    counters.pollsMade++;
  }
}
 
源代码27 项目: caffeine   文件: SingleConsumerQueueBenchmark.java
@Benchmark @Group("mild_contention") @GroupThreads(2)
public void mild_contention_offer(OfferCounters counters) {
  if (queue.offer(Boolean.TRUE)) {
    counters.offersMade++;
  } else {
    counters.offersFailed++;
  }
}
 
源代码28 项目: caffeine   文件: SingleConsumerQueueBenchmark.java
@Benchmark @Group("mild_contention") @GroupThreads(1)
public void mild_contention_poll(PollCounters counters) {
  if (queue.poll() == null) {
    counters.pollsFailed++;
  } else {
    counters.pollsMade++;
  }
}
 
源代码29 项目: caffeine   文件: SingleConsumerQueueBenchmark.java
@Benchmark @Group("high_contention") @GroupThreads(8)
public void high_contention_offer(OfferCounters counters) {
  if (queue.offer(Boolean.TRUE)) {
    counters.offersMade++;
  } else {
    counters.offersFailed++;
  }
}
 
@Benchmark
@Group("c1p4")
@GroupThreads(4)
public void c1p4Producer(Test test) throws InterruptedException {
   test.producer().send(test.packet);
}