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