I've continued to work to reduce the GC pressure on the hot paths while journalling and/or paging and this is the latest result:
https://github.com/franz1981/activemq-artemis/tree/buffer_pooling This is the list of improvements: - NIO/ASYNCIO new TimedBuffer with adapting batch window heuristic (+ throughput and - latency) - NIO/ASYNCIO journal/paging operations benefit from less buffer copies and always performed with batch copy under the hood - NIO journal operation perform TLABs allocation pooling (off heap) - NIO improved file copy operations using zero-copy FileChannel::transfertTo - NIO improved zeroing using a single OS page buffer to clean the file - NIO deterministic release of unpooled buffers to avoid OOM errors due to slow GC Currently It needs some check against the test suite, but the first results are promising :) -- View this message in context: http://activemq.2283324.n4.nabble.com/Paging-tp4724085p4725510.html Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
