AbstractReferenceCountedByteBufBenchmark Class — netty Architecture
Architecture documentation for the AbstractReferenceCountedByteBufBenchmark class in AbstractReferenceCountedByteBufBenchmark.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD c73e6530_b172_be35_2afd_34cfdf2d0ebe["AbstractReferenceCountedByteBufBenchmark"] 4ec4ee51_711a_bd3d_ed02_465f6532a1c4["AbstractReferenceCountedByteBufBenchmark.java"] c73e6530_b172_be35_2afd_34cfdf2d0ebe -->|defined in| 4ec4ee51_711a_bd3d_ed02_465f6532a1c4 c5a9f98a_c413_c2ee_0b0f_fcf7eb4abbc2["setUp()"] c73e6530_b172_be35_2afd_34cfdf2d0ebe -->|method| c5a9f98a_c413_c2ee_0b0f_fcf7eb4abbc2 b9a20383_aa1d_105e_17af_a0c81521d02c["tearDown()"] c73e6530_b172_be35_2afd_34cfdf2d0ebe -->|method| b9a20383_aa1d_105e_17af_a0c81521d02c d13cd508_23cc_7f96_7fa2_006e72c20193["retainReleaseUncontended()"] c73e6530_b172_be35_2afd_34cfdf2d0ebe -->|method| d13cd508_23cc_7f96_7fa2_006e72c20193 26b24a9c_93ba_f069_83e4_dc7ab5b2f96c["delay()"] c73e6530_b172_be35_2afd_34cfdf2d0ebe -->|method| 26b24a9c_93ba_f069_83e4_dc7ab5b2f96c 4010640e_aa0b_5112_be0d_12096aa994a3["createUseAndRelease()"] c73e6530_b172_be35_2afd_34cfdf2d0ebe -->|method| 4010640e_aa0b_5112_be0d_12096aa994a3 f0568ed7_080f_a65c_1f4b_de6cd6dd8975["retainReleaseContended()"] c73e6530_b172_be35_2afd_34cfdf2d0ebe -->|method| f0568ed7_080f_a65c_1f4b_de6cd6dd8975
Relationship Graph
Source Code
microbench/src/main/java/io/netty/buffer/AbstractReferenceCountedByteBufBenchmark.java lines 34–94
@State(Scope.Benchmark)
public class AbstractReferenceCountedByteBufBenchmark extends AbstractMicrobenchmark {
@Param({
"0",
"1",
"10",
"100",
"1000",
"10000",
})
public int delay;
AbstractReferenceCountedByteBuf buf;
@Setup
public void setUp() {
buf = (AbstractReferenceCountedByteBuf) Unpooled.buffer(1);
}
@TearDown
public void tearDown() {
buf.release();
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public boolean retainReleaseUncontended() {
buf.retain();
delay();
return buf.release();
}
private void delay() {
if (delay > 0) {
Blackhole.consumeCPU(delay);
}
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@CompilerControl(CompilerControl.Mode.DONT_INLINE)
public boolean createUseAndRelease(Blackhole useBuffer) {
ByteBuf unpooled = Unpooled.buffer(1);
useBuffer.consume(unpooled);
delay();
return unpooled.release();
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@GroupThreads(4)
public boolean retainReleaseContended() {
buf.retain();
delay();
return buf.release();
}
}
Source
Frequently Asked Questions
What is the AbstractReferenceCountedByteBufBenchmark class?
AbstractReferenceCountedByteBufBenchmark is a class in the netty codebase, defined in microbench/src/main/java/io/netty/buffer/AbstractReferenceCountedByteBufBenchmark.java.
Where is AbstractReferenceCountedByteBufBenchmark defined?
AbstractReferenceCountedByteBufBenchmark is defined in microbench/src/main/java/io/netty/buffer/AbstractReferenceCountedByteBufBenchmark.java at line 34.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free