Home / Class/ ByteBufBenchmark Class — netty Architecture

ByteBufBenchmark Class — netty Architecture

Architecture documentation for the ByteBufBenchmark class in ByteBufBenchmark.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  6d8ca069_0e2a_a283_7971_26cb2279b5b0["ByteBufBenchmark"]
  d7c6fa73_366e_9970_4fb3_c15a026eff2d["ByteBufBenchmark.java"]
  6d8ca069_0e2a_a283_7971_26cb2279b5b0 -->|defined in| d7c6fa73_366e_9970_4fb3_c15a026eff2d
  ff47e3ff_cc19_248c_867d_9a452a922396["setup()"]
  6d8ca069_0e2a_a283_7971_26cb2279b5b0 -->|method| ff47e3ff_cc19_248c_867d_9a452a922396
  4e6e39b3_df44_044a_22a6_878a9761f34a["tearDown()"]
  6d8ca069_0e2a_a283_7971_26cb2279b5b0 -->|method| 4e6e39b3_df44_044a_22a6_878a9761f34a
  e93d101f_b85d_2e1f_aaea_b50a485ed5ca["ByteBuffer()"]
  6d8ca069_0e2a_a283_7971_26cb2279b5b0 -->|method| e93d101f_b85d_2e1f_aaea_b50a485ed5ca
  baa822f3_667f_4064_8e9d_61639cd0d500["ByteBuf()"]
  6d8ca069_0e2a_a283_7971_26cb2279b5b0 -->|method| baa822f3_667f_4064_8e9d_61639cd0d500

Relationship Graph

Source Code

microbench/src/main/java/io/netty/microbench/buffer/ByteBufBenchmark.java lines 29–88

public class ByteBufBenchmark extends AbstractMicrobenchmark {
    static {
        System.setProperty("io.netty.buffer.checkAccessible", "false");
    }
    private static final byte BYTE = '0';

    @Param({
            "true",
            "false",
    })
    public String checkBounds;

    private ByteBuffer byteBuffer;
    private ByteBuffer directByteBuffer;
    private ByteBuf buffer;
    private ByteBuf directBuffer;
    private ByteBuf directBufferPooled;

    @Setup
    public void setup() {
        System.setProperty("io.netty.buffer.checkBounds", checkBounds);
        byteBuffer = ByteBuffer.allocate(8);
        directByteBuffer = ByteBuffer.allocateDirect(8);
        buffer = Unpooled.buffer(8);
        directBuffer = Unpooled.directBuffer(8);
        directBufferPooled = PooledByteBufAllocator.DEFAULT.directBuffer(8);
    }

    @TearDown
    public void tearDown() {
        buffer.release();
        directBuffer.release();
        directBufferPooled.release();
    }

    @Benchmark
    public ByteBuffer setByteBufferHeap() {
        return byteBuffer.put(0, BYTE);
    }

    @Benchmark
    public ByteBuffer setByteBufferDirect() {
        return directByteBuffer.put(0, BYTE);
    }

    @Benchmark
    public ByteBuf setByteBufHeap() {
        return buffer.setByte(0, BYTE);
    }

    @Benchmark
    public ByteBuf setByteBufDirect() {
        return directBuffer.setByte(0, BYTE);
    }

    @Benchmark
    public ByteBuf setByteBufDirectPooled() {
        return directBufferPooled.setByte(0, BYTE);
    }
}

Frequently Asked Questions

What is the ByteBufBenchmark class?
ByteBufBenchmark is a class in the netty codebase, defined in microbench/src/main/java/io/netty/microbench/buffer/ByteBufBenchmark.java.
Where is ByteBufBenchmark defined?
ByteBufBenchmark is defined in microbench/src/main/java/io/netty/microbench/buffer/ByteBufBenchmark.java at line 29.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free