[
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)