HeapByteBufBenchmark Class — netty Architecture
Architecture documentation for the HeapByteBufBenchmark class in HeapByteBufBenchmark.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 0cd74505_43a2_f13d_0adf_1a6a92869999["HeapByteBufBenchmark"] 760022e3_2df3_427c_6ab4_85a08a0f125d["HeapByteBufBenchmark.java"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|defined in| 760022e3_2df3_427c_6ab4_85a08a0f125d 087319b4_cb88_3cbb_2b81_2fd05589f093["ByteBuf()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| 087319b4_cb88_3cbb_2b81_2fd05589f093 1a0f75cb_4cee_dd05_3a60_5cc0c0e22902["setup()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| 1a0f75cb_4cee_dd05_3a60_5cc0c0e22902 f13204a8_b011_c720_d240_a04b24ae7f26["destroy()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| f13204a8_b011_c720_d240_a04b24ae7f26 f41046f8_ebc4_871e_0c8b_0347ab45535e["getByteUnsafe()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| f41046f8_ebc4_871e_0c8b_0347ab45535e 70b58419_6d45_5a2b_8b85_98a0ad59d2df["getByte()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| 70b58419_6d45_5a2b_8b85_98a0ad59d2df dbafdc09_eb2e_3bc9_1d69_71355b9d30a5["getShortUnsafe()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| dbafdc09_eb2e_3bc9_1d69_71355b9d30a5 93356aea_ffff_7d6c_01f0_95b4d19ad3c0["getShort()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| 93356aea_ffff_7d6c_01f0_95b4d19ad3c0 3a63fcfc_acb4_099a_e4d1_37cc92539d33["getMediumUnsafe()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| 3a63fcfc_acb4_099a_e4d1_37cc92539d33 134beca3_bdf5_af0a_8902_0928628099a0["getMedium()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| 134beca3_bdf5_af0a_8902_0928628099a0 e846f36c_e7e6_2c16_28f5_c6312679c233["getIntUnsafe()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| e846f36c_e7e6_2c16_28f5_c6312679c233 4e28c6e5_a2cf_0489_efad_f852be6da983["getInt()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| 4e28c6e5_a2cf_0489_efad_f852be6da983 0f3d730a_39aa_31c7_843f_7bf5eaf624e4["getLongUnsafe()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| 0f3d730a_39aa_31c7_843f_7bf5eaf624e4 0a544c18_b1ad_b5ca_60bd_966ffcceb151["getLong()"] 0cd74505_43a2_f13d_0adf_1a6a92869999 -->|method| 0a544c18_b1ad_b5ca_60bd_966ffcceb151
Relationship Graph
Source Code
microbench/src/main/java/io/netty/microbench/buffer/HeapByteBufBenchmark.java lines 28–111
public class HeapByteBufBenchmark extends AbstractMicrobenchmark {
@Param({
"true",
"false",
})
public String checkBounds;
private ByteBuf unsafeBuffer;
private ByteBuf buffer;
private static ByteBuf newBuffer(String classname) throws Exception {
// Using reflection to workaround package-private implementations.
Class<?> clazz = Class.forName(classname);
Constructor<?> constructor = clazz.getDeclaredConstructor(ByteBufAllocator.class, int.class, int.class);
constructor.setAccessible(true);
return (ByteBuf) constructor.newInstance(ByteBufAllocator.DEFAULT, 8, Integer.MAX_VALUE);
}
@Setup
public void setup() throws Exception {
System.setProperty("io.netty.buffer.bytebuf.checkBounds", checkBounds);
unsafeBuffer = newBuffer("io.netty.buffer.UnpooledUnsafeHeapByteBuf");
buffer = newBuffer("io.netty.buffer.UnpooledHeapByteBuf");
unsafeBuffer.writeLong(1L);
buffer.writeLong(1L);
}
@TearDown
public void destroy() {
unsafeBuffer.release();
buffer.release();
}
@Benchmark
public byte getByteUnsafe() {
return unsafeBuffer.getByte(0);
}
@Benchmark
public short getByte() {
return buffer.getByte(0);
}
@Benchmark
public short getShortUnsafe() {
return unsafeBuffer.getShort(0);
}
@Benchmark
public short getShort() {
return buffer.getShort(0);
}
@Benchmark
public int getMediumUnsafe() {
return unsafeBuffer.getMedium(0);
}
@Benchmark
public int getMedium() {
return buffer.getMedium(0);
}
@Benchmark
public int getIntUnsafe() {
return unsafeBuffer.getInt(0);
}
@Benchmark
public int getInt() {
return buffer.getInt(0);
}
@Benchmark
public long getLongUnsafe() {
return unsafeBuffer.getLong(0);
}
@Benchmark
public long getLong() {
Source
Frequently Asked Questions
What is the HeapByteBufBenchmark class?
HeapByteBufBenchmark is a class in the netty codebase, defined in microbench/src/main/java/io/netty/microbench/buffer/HeapByteBufBenchmark.java.
Where is HeapByteBufBenchmark defined?
HeapByteBufBenchmark is defined in microbench/src/main/java/io/netty/microbench/buffer/HeapByteBufBenchmark.java at line 28.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free