下面列出了org.openjdk.jmh.annotations.Mode#Throughput ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MICROSECONDS)
public Integer threadMap() {
Thread key = Thread.currentThread();
Integer value = threadMap.get(key);
if (value != null) {
return value;
}
value = 100;
threadMap.put(key, value);
return value;
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void serializeUserList() throws Exception {
listBuffer.clear();
userPageSerializer.write(listBuffer, userPage);
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MICROSECONDS)
public void atomicMuiltInteger2() {
int index = ThreadLocalRandom.current().nextInt(length);
int value = atomicMuiltInteger2.get(index);
atomicMuiltInteger2.set(index, value + 1);
}
@Benchmark
@BenchmarkMode({ Mode.Throughput, Mode.AverageTime, Mode.SampleTime })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public Page<MotanUser> listUser() throws Exception {
int pageNo = counter.getAndIncrement();
return userService.listUser(pageNo);
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void fastUser() {
fastOutput.clear();
kryo.writeObject(fastOutput, user);
fastInput.setBuffer(bytes, 0, (int) fastOutput.total());
kryo.readObject(fastInput, User.class);
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void serializeUserList() throws Exception {
listBuffer.clear();
output.setBuffer(listBuffer);
kryo.writeClassAndObject(output, userPage);
}
@Benchmark
@BenchmarkMode({ Mode.Throughput, Mode.AverageTime, Mode.SampleTime })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
@Override
public User getUser() throws Exception {
return super.getUser();
}
@Benchmark
@BenchmarkMode({ Mode.Throughput, Mode.AverageTime, Mode.SampleTime })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
@Override
public User getUser() throws Exception {
return super.getUser();
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MICROSECONDS)
public void newAndPutWithArrayList() {
ArrayList<Boolean> arrayList = new ArrayList<>();
for (int i = 0; i < 1024; i++) {
arrayList.add(Boolean.TRUE);
}
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void getHashMap() {
for (int i = 0; i < 1024 * 64; i++) {
hashMap.get(i);
}
}
@Benchmark
@BenchmarkMode({Mode.Throughput, Mode.AverageTime, Mode.SampleTime})
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public PagePB.User getUser() throws Exception {
final int count = counter.getAndIncrement();
return userService.getUser(PagePB.Request.newBuilder().setId(count).build()).getUser();
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void putNettyMap() {
for (int i = 0; i < 1024 * 64; i++) {
nettyMap.put(i, Integer.valueOf(i));
}
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void serializeUserList() throws Exception {
listBuffer.clear();
jacksonMapper.write(listBuffer, userPage);
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void nettyByteBufPage() {
nettyByteBuf.clear();
nettyByteBufOutput.setBuffer(nettyByteBuf);
kryo.writeObject(nettyByteBufOutput, page);
nettyByteBufInput.setBuffer(nettyByteBuf);
kryo.readObject(nettyByteBufInput, Page.class);
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public void serializeUserList() throws Exception {
listBuffer.clear();
ByteBufOutput output = new ByteBufOutput(listBuffer);
userPageSchema.writeTo(output, userPage);
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MICROSECONDS)
public ObjectId128 newObjectId128() throws Exception {
return ObjectId128.next();
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MICROSECONDS)
public void byteBufSetInt() {
buffer.setInt(0, 1);
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MICROSECONDS)
public String newRandomId128HexString() throws Exception {
return RandomId128.next().toHexString();
}
@Benchmark
@BenchmarkMode({ Mode.Throughput })
@OutputTimeUnit(TimeUnit.MICROSECONDS)
public byte[] StringUtils2_getUTF8Bytes() throws Exception {
return UnsafeStringUtils.getUTF8Bytes(str);
}
@Benchmark
@BenchmarkMode(Mode.Throughput)
public void benchmarkSimpleFilterMessage(FilterState state, Blackhole blackhole) {
blackhole.consume(benchmark(state, blackhole));
}