Most high-end serializers use UNSAFE instead of ByteBuffer to write directly to memory. Fury and Agrona both have Unsafe wrapper implementations that look promising and we can create something like that to reduce timing on all functional hot paths. This also potentially opens the door to better SIMD opportunities.
- Fury -
MemoryBuffer
- Agrona -
MutableDirectBuffer and UnsafeApi
Goal - reduce time spent on sperialize, merge, and project. Potentially also deserialize although this might need to be its own issue
Most high-end serializers use
UNSAFEinstead ofByteBufferto write directly to memory. Fury and Agrona both haveUnsafewrapper implementations that look promising and we can create something like that to reduce timing on all functional hot paths. This also potentially opens the door to better SIMD opportunities.MemoryBufferMutableDirectBufferandUnsafeApiGoal - reduce time spent on sperialize, merge, and project. Potentially also deserialize although this might need to be its own issue