[
https://issues.apache.org/jira/browse/IGNITE-20769?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivan Bessonov resolved IGNITE-20769.
------------------------------------
Resolution: Won't Fix
Issue has been created too early. Some of these optimizations are already
implemented, others will be considered in a corresponding Epic.
> Optimize append to logit log storage
> ------------------------------------
>
> Key: IGNITE-20769
> URL: https://issues.apache.org/jira/browse/IGNITE-20769
> Project: Ignite
> Issue Type: Improvement
> Reporter: Ivan Bessonov
> Priority: Major
> Labels: ignite-3
>
> There are several obvious places where we copy data multiple times:
> * {{LogEntryEncoder#encode}} always uses a new array, and it always copies
> {{LogEntry#data}} into it, which is sort of pointless.
> * {{SegmentFile#encodeData}} copies that data one more time.
> According to benchmarks ({{{}LogStorageBenchmark{}}}), if fsync is disabled,
> then we only spend 30-40% (roughly) of time actually writing the data into
> mmap buffer. The rest is all sorts of data manipulation.
> Optional:
> * maybe we should get rid of mmap
> * preparing some parts of data in offheap might be a good idea, if we get
> rid of mmap (file channels must use direct buffers in their internals)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)