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

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

/** Benchmark for measuring HttpTraceContext extract. */
@Benchmark
@BenchmarkMode({Mode.AverageTime})
@Fork(1)
@Measurement(iterations = 15, time = 1)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 5, time = 1)
@OperationsPerInvocation(COUNT)
@Nullable
public Context measureExtract() {
  Context result = null;
  for (int i = 0; i < COUNT; i++) {
    result = httpTraceContext.extract(Context.ROOT, carriers.get(i), getter);
  }
  return result;
}
 
源代码2 项目: grpc-nebula-java   文件: WriteBenchmark.java
/** Perform the write operation. */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public Context doWrite(ContextState state, Blackhole bh) {
  return state.context.withValues(
      state.key1, state.val,
      state.key2, state.val,
      state.key3, state.val,
      state.key4, state.val);
}
 
源代码3 项目: grpc-nebula-java   文件: ReadBenchmark.java
/** Perform the read operation. */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void testContextLookup(ContextState state, Blackhole bh) {
  for (Context.Key<?> key : state.keys) {
    for (Context ctx : state.contexts) {
      bh.consume(key.get(ctx));
    }
  }
}
 
/**
 * Checkstyle.
 */
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void grpcHeaders_serverHandler(Blackhole bh) {
  serverHandler(bh, new GrpcHttp2RequestHeaders(4));
}
 
源代码5 项目: netty-4.1.22   文件: HeadersBenchmark.java
@Benchmark
@BenchmarkMode(Mode.AverageTime)
public void http2Remove(Blackhole bh) {
    for (AsciiString name : http2Names) {
        bh.consume(http2Headers.remove(name));
    }
}
 
/**
 * This will encode the random metadata fields, and repeatedly lookup the default other headers.
 */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public ByteBuf encodeClientHeaders() throws Exception {
  scratchBuffer.clear();
  Http2Headers headers =
      Utils.convertClientHeaders(metadata, scheme, defaultPath, authority, Utils.HTTP_METHOD,
          userAgent);
  headersEncoder.encodeHeaders(1, headers, scratchBuffer);
  return scratchBuffer;
}
 
/** Foo bar. */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public AsciiString old() {
  return new AsciiString("/" + method.getFullMethodName());
}
 
/** Foo bar. */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public AsciiString direct() {
  return new AsciiString(directBytes, false);
}
 
/**
 * Javadoc comment.
 */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public byte[][] marshalOld() {
  Metadata m = new Metadata();
  m.put(
      GrpcUtil.MESSAGE_ACCEPT_ENCODING_KEY,
      InternalDecompressorRegistry.getRawAdvertisedMessageEncodings(reg));
  return TransportFrameUtil.toHttp2Headers(m);
}
 
源代码10 项目: perfmark   文件: MethodHandleGeneratorBenchmark.java
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public long getAndSetAndGetGeneration() {
  long oldGeneration = generator.getGeneration();
  generator.setGeneration(oldGeneration + 1);
  return generator.getGeneration();
}
 
源代码11 项目: grpc-nebula-java   文件: CallOptionsBenchmark.java
/**
 * Adding custom call options, overwritting existing keys.
 */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public CallOptions withOptionDuplicates() {
  CallOptions opts = allOpts;
  for (int i = 1; i < shuffledCustomOptions.size(); i++) {
    opts = opts.withOption(shuffledCustomOptions.get(i), "value2");
  }
  return opts;
}
 
@Benchmark
@BenchmarkMode({Mode.AverageTime})
@Fork(1)
@Measurement(iterations = 15, time = 1)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 5, time = 1)
public void measureSpanBuilding() {
  span = tracer.spanBuilder("span").startSpan();
}
 
/**
 * Queue many runnables, to better see queuing/consumption cost instead of just context switch.
 */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void manyRunnables() throws Exception {
  incrRunnable.val = 0;
  for (int i = 0; i < 500; i++) {
    executor.execute(incrRunnable);
  }
  executor.execute(phaserRunnable);
  phaser.arriveAndAwaitAdvance();
  if (incrRunnable.val != 500) {
    throw new AssertionError();
  }
}
 
源代码14 项目: netty-4.1.22   文件: HpackDecoderULE128Benchmark.java
@Benchmark
@BenchmarkMode(Mode.AverageTime)
public int decodeMaxInt() throws Http2Exception {
    int v = decodeULE128(intMaxBuf, 0);
    intMaxBuf.readerIndex(0);
    return v;
}
 
/**
 * Javadoc comment.
 */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public StatsTraceContext newClientContext() {
  return StatsTraceContext.newClientContext(CallOptions.DEFAULT, emptyMetadata);
}
 
@Benchmark
@BenchmarkMode({Mode.AverageTime})
@Fork(1)
@Measurement(iterations = 15, time = 1)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 5, time = 1)
public void measureGetCurrentSpan() {
  tracer.getCurrentSpan();
}
 
源代码17 项目: grpc-nebula-java   文件: StatusBenchmark.java
/**
 * Javadoc comment.
 */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public String messageDecodePlain() {
  return Status.MESSAGE_KEY.parseBytes(
      "Unexpected RST in stream".getBytes(Charset.forName("US-ASCII")));
}
 
@Benchmark
@BenchmarkMode(Mode.AverageTime)
public int defaultTrailers() {
    Http2Headers headers = new DefaultHttp2Headers(false);
    for (int i = 0; i < headerCount; ++i) {
        headers.add(headerNames[i], headerValues[i]);
    }
    return iterate(headers);
}
 
源代码19 项目: grpc-nebula-java   文件: StatusBenchmark.java
/**
 * Javadoc comment.
 */
@Benchmark
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public Status codeDecode() {
  return Status.CODE_KEY.parseBytes("15".getBytes(Charset.forName("US-ASCII")));
}
 
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
@Measurement(iterations = 1)
public void searchBenchmark() throws SpellCheckException {
  for (String query : queries) {
    totalMatches += spellChecker.lookup(query, Verbosity.valueOf(verbosity), maxEditDistance)
        .size();
  }
}
 
源代码21 项目: sofa-jraft   文件: RawKVPutBenchmark.java
@Benchmark
@BenchmarkMode(Mode.All)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void put() {
    ThreadLocalRandom random = ThreadLocalRandom.current();
    byte[] key = BytesUtil.writeUtf8("benchmark_" + random.nextInt(KEY_COUNT));
    super.kvStore.put(key, VALUE_BYTES, null);
}
 
/** Benchmark for measuring inject with default trace state and sampled trace options. */
@Benchmark
@BenchmarkMode({Mode.AverageTime})
@Fork(1)
@Measurement(iterations = 15, time = 1)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 5, time = 1)
@OperationsPerInvocation(COUNT)
public Map<String, String> measureInject() {
  for (int i = 0; i < COUNT; i++) {
    httpTraceContext.inject(contexts.get(i), carrier, setter);
  }
  return carrier;
}
 
源代码23 项目: sofa-jraft   文件: RheaKVPutBenchmark.java
@Benchmark
@BenchmarkMode(Mode.All)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void put() {
    ThreadLocalRandom random = ThreadLocalRandom.current();
    byte[] key = BytesUtil.writeUtf8("benchmark_" + random.nextInt(KEY_COUNT));
    this.kvStore.bPut(key, VALUE_BYTES);
}
 
源代码24 项目: sofa-jraft   文件: VarIntsBenchmark.java
@Benchmark
@BenchmarkMode(Mode.All)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void int64() {
    byte[] bytes = new byte[8];
    putLong(bytes, 0, SMALL_VAL);
    getLong(bytes, 0);
}
 
源代码25 项目: netty-4.1.22   文件: HeadersBenchmark.java
@Benchmark
@BenchmarkMode(Mode.AverageTime)
public DefaultHttpHeaders httpPut() {
    DefaultHttpHeaders headers = new DefaultHttpHeaders(false);
    for (int i = 0; i < httpNames.length; i++) {
        headers.add(httpNames[i], httpValues[i]);
    }
    return headers;
}
 
源代码26 项目: netty-4.1.22   文件: HeadersBenchmark.java
@Benchmark
@BenchmarkMode(Mode.AverageTime)
public void http2Get(Blackhole bh) {
    for (AsciiString name : http2Names) {
        bh.consume(http2Headers.get(name));
    }
}
 
源代码27 项目: sofa-jraft   文件: AsciiCodecBenchmark.java
@Benchmark
@BenchmarkMode(Mode.Throughput)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public void fastpathEncode() {
    // fast ptah
    AsciiStringUtil.unsafeEncode(PEER_STR);
}
 
源代码28 项目: netty-4.1.22   文件: HpackEncoderBenchmark.java
@Benchmark
@BenchmarkMode(Mode.AverageTime)
public void encode(Blackhole bh) throws Exception {
    HpackEncoder hpackEncoder = HpackUtilBenchmark.newTestEncoder();
    output.clear();
    hpackEncoder.encodeHeaders(3 /*randomly chosen*/, output, http2Headers, sensitivityDetector);
    bh.consume(output);
}
 
源代码29 项目: sofa-jraft   文件: Utf8CodecBenchmark.java
@SuppressWarnings("all")
@Benchmark
@BenchmarkMode(Mode.Throughput)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void defaultToUtf8Bytes() {
    Utils.getBytes(str);
}
 
/** Benchmark just the scope lifecycle. */
@Benchmark
@BenchmarkMode({Mode.AverageTime})
@Fork(1)
@Measurement(iterations = 15, time = 1)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 5, time = 1)
public void measureScopeLifecycle() {
  try (io.opentelemetry.context.Scope ignored = tracer.withSpan(span)) {
    // no-op
  }
}