使用 SBE 工具,直接 ByteBuffer 或常规 ByteBuffer 的性能会更好吗?

问题描述 投票:0回答:0

基于javadoc,它说不安全缓冲区可以与基于堆或直接的字节缓冲区一起使用。我读过这个link,它说如果数据将在 Java 领域使用,非直接缓冲区会更好。

给出使用 sbe-tool 的伪代码/场景:

//read data into a bytebuffer (direct/heap-based?)
//use an UnsafeBuffer to wrap the bytebuffer
//decode using sbe decoder
//log each attribute of the sbe message schema

使用基于堆的缓冲区还是直接缓冲区更好?使用unsafe buffer时,数据会不会穿越JNI/Java边界?

edit:aeron cookbook 提到不安全缓冲区是一个堆外固定大小的缓冲区。这是否意味着包装另一个堆外 ByteBuffer 的堆外固定大小缓冲区的性能会更高?

java nio aeron
© www.soinside.com 2019 - 2024. All rights reserved.