[ 
https://issues.apache.org/jira/browse/ARTEMIS-2849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francesco Nigro updated ARTEMIS-2849:
-------------------------------------
    Description: 
By default ASYNCIO using TimedBuffer are zeroing the ByteBuffers used to 
perform the write on the journal: under load TimedBuffer can be big enough that 
zeroing would cost the same as copying the actual content into it, hence saving 
the zeroing is quite beneficial to save CPU time and increase IOPS.

NIO and MAPPED doesn't need it because they already use directly the 
TimedBuffer's accumulation buffer to perform writes (that's never zeroed, 
because it already contains the content that they expect to write into the 
journal), but still changing ASYNCIO need to adjust the same calls on NIO and 
MAPPED for completeness.

  was:By default ASYNCIO, NIO and MAPPED journal while using TimedBuffer are 
zeroing the ByteBuffers used to perform the write on the journal: under load 
TimedBuffer can be big enough that zeroing would cost the same as copying the 
actual content into it, hence saving the zeroing is quite beneficial to save 
CPU time and increase IOPS.


> Eliminate zeroing of buffers while writing the ASYNCIO journal
> --------------------------------------------------------------
>
>                 Key: ARTEMIS-2849
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2849
>             Project: ActiveMQ Artemis
>          Issue Type: Test
>          Components: Broker
>            Reporter: Francesco Nigro
>            Priority: Major
>
> By default ASYNCIO using TimedBuffer are zeroing the ByteBuffers used to 
> perform the write on the journal: under load TimedBuffer can be big enough 
> that zeroing would cost the same as copying the actual content into it, hence 
> saving the zeroing is quite beneficial to save CPU time and increase IOPS.
> NIO and MAPPED doesn't need it because they already use directly the 
> TimedBuffer's accumulation buffer to perform writes (that's never zeroed, 
> because it already contains the content that they expect to write into the 
> journal), but still changing ASYNCIO need to adjust the same calls on NIO and 
> MAPPED for completeness.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to