On Wed, 22 May 2024 21:23:04 GMT, Sunmisc Unsafe <d...@openjdk.org> wrote:
>> After recheckiing, the best policy is to leave internal queues the same, but >> initialize external queues larger. > > Probably a misplaced post again, but why can't you allocate an array of arrays > where the outer array is 30 > and the inner array will be doubled, > then the segment can be calculated by log(index) > with: resize O(1), read/write O(1). > > This approach can also be used in ConcurrentHashMap > sample implementation > https://github.com/sunmisc/wormhole/blob/main/main/src/main/java/sunmisc/utils/concurrent/memory/ReferenceSegmentMemory.java > > I don't know if this method exists anywhere else, I invented it, maybe it was > invented before me. Thanks for link to sample code link. I had tried something like this in an analogous case in SubmissionPublisher, but couldn't reduce overhead enough to be worthwhile. I may try again there first,m since resizing there is more common and disruptive. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19131#discussion_r1610792954