-
Enhancement
-
Resolution: Fixed
-
P3
-
repo-panama
-
None
Arena::allocateFrom is slower than it could be. There are two reasons for this:
* Allocation requests are followed by memory zeroing, even though the client plans to overwrite the memory contents with the contents from some other data source.
* Allocation requests cause some code in Bits::reserveMemory to be executed. This code, which was designed to periodically "kick" the GC when using direct buffers, is not only slow, but also a bottleneck when working with multiple threads.
* Allocation requests are followed by memory zeroing, even though the client plans to overwrite the memory contents with the contents from some other data source.
* Allocation requests cause some code in Bits::reserveMemory to be executed. This code, which was designed to periodically "kick" the GC when using direct buffers, is not only slow, but also a bottleneck when working with multiple threads.