Home / Class/ ByteBufCopyBenchmark Class — netty Architecture

ByteBufCopyBenchmark Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  edbe5e35_ac81_4255_26e1_00e424fcd354["ByteBufCopyBenchmark"]
  dbd247ce_fd16_cc8f_bb2b_c369467a4180["ByteBufCopyBenchmark.java"]
  edbe5e35_ac81_4255_26e1_00e424fcd354 -->|defined in| dbd247ce_fd16_cc8f_bb2b_c369467a4180
  a804320a_3738_3f3d_8da4_cf92f814660f["setup()"]
  edbe5e35_ac81_4255_26e1_00e424fcd354 -->|method| a804320a_3738_3f3d_8da4_cf92f814660f
  e852bfb8_0d26_d838_d270_0154b8751609["ByteBuf()"]
  edbe5e35_ac81_4255_26e1_00e424fcd354 -->|method| e852bfb8_0d26_d838_d270_0154b8751609
  69f210be_888b_ce63_7108_5e543522d2a0["tearDown()"]
  edbe5e35_ac81_4255_26e1_00e424fcd354 -->|method| 69f210be_888b_ce63_7108_5e543522d2a0

Relationship Graph

Source Code

microbench/src/main/java/io/netty/microbench/buffer/ByteBufCopyBenchmark.java lines 30–135

public class ByteBufCopyBenchmark extends AbstractMicrobenchmark {
    static {
        System.setProperty("io.netty.buffer.bytebuf.checkAccessible", "false");
    }

    @Param({
            "7",
            "36",
            "128",
            "512",
    })
    private int size;

    @Param({
            "true",
            "false",
    })
    private boolean directByteBuf;

    @Param({
            "true",
            "false",
    })
    private boolean directByteBuffer;

    @Param({
            "false",
            "true"
    })
    private boolean readonlyByteBuffer;

    @Param({
            "true",
            "false",
    })
    private boolean pooledByteBuf;

    @Param({
            "true",
            "false",
    })
    private boolean alignedCopyByteBuffer;

    @Param({
            "true",
            "false",
    })
    private boolean alignedCopyByteBuf;

    @Param({
            "true",
            "false",
    })
    private boolean nativeOrderByteBuffer;

    private ByteBuffer byteBuffer;
    private ByteBuf buffer;
    private int index;

    @Setup
    public void setup() {
        final int requiredByteBufSize = alignedCopyByteBuf ? size : size + 1;
        final int requiredByteBufferSize = alignedCopyByteBuffer ? size : size + 1;
        byteBuffer = directByteBuffer ?
                ByteBuffer.allocateDirect(requiredByteBufferSize) :
                ByteBuffer.allocate(requiredByteBufferSize);
        if (pooledByteBuf) {
            buffer = directByteBuf ?
                    ByteBufAllocator.DEFAULT.directBuffer(requiredByteBufSize, requiredByteBufSize) :
                    ByteBufAllocator.DEFAULT.heapBuffer(requiredByteBufSize, requiredByteBufSize);
        } else {
            buffer = directByteBuf ?
                    Unpooled.directBuffer(requiredByteBufSize, requiredByteBufSize) :
                    Unpooled.buffer(requiredByteBufSize, requiredByteBufSize);
        }
        if (!alignedCopyByteBuffer) {
            byteBuffer.position(1);
            byteBuffer = byteBuffer.slice();
        }
        if (readonlyByteBuffer) {
            byteBuffer = byteBuffer.asReadOnlyBuffer();

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free