Oak
Oak copied to clipboard
Elimination of all ByteBuffer Usage (for Java 8)
Base all of the off-heap memory management on unsafe allocation and access, without ByteBuffer intermediate layer (in addition to existing memory management). The reason for the change is the possibility to gain better throughput without spending CPU cycles and memory on ByteBuffer internals.
That means a new memory manager to be based on using addresses instead of ByteBuffers and allocating the address from unsafe:
Unsafe().allocateMemory(size);
That requires a significant code writing: new (alternative) Block, BlockPool, MemoryAllocator, MemoryManager etc.