[foreign-jextract] RFR: MemorySegmentPool + Allocator
Radoslaw Smogura
github.com+7535718+rsmogura at openjdk.java.net
Sat Apr 17 20:58:11 UTC 2021
(Preview)
The MemorySegmentPool is a pool maintaining memory segments, optionally can expose allocator which can be bound to other scope, and which will return allocated segments back to pool.
However the best results has been achieved by using getSegmentEntry & putSegmentEntry methods.
The pool is intended to be used by long running applications (i.e. like global shared pool), where fast allocation and de-allocation of segments is critical (was designed during implementation of I/O subsystem with Panama, as a pool for temporary buffers between system I/O methods and Java byte arrays from InputStreams).
The pool uses hand-made SpinLockQueue as the Deque from JDK offers too much functionality and overhead.
-------------
Commit messages:
- MemorySegmentPool + Allocator
Changes: https://git.openjdk.java.net/panama-foreign/pull/509/files
Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=509&range=00
Stats: 315 lines in 2 files changed: 315 ins; 0 del; 0 mod
Patch: https://git.openjdk.java.net/panama-foreign/pull/509.diff
Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/509/head:pull/509
PR: https://git.openjdk.java.net/panama-foreign/pull/509
More information about the panama-dev
mailing list