Improve block log splitting performance
The block-log splitting code has been optimized by reading into memory buffer huge amounts of block data with one system function call, then writing the buffer contents likewise.
New multiple_...
methods have been added to block_log_wrapper
& block_log
classes. Ten thousand blocks are read/write during splitting as defined by BLOCKS_IN_BATCH_IO_MODE
symbol.
Following speedup has been measured on NVMe drive:
develop (7ed85434) | split-log-in-batches (6dc50b8a) | |
---|---|---|
Corsair MP600 PRO XT (NVMe) | 38m 29s - 43m 39s | 13m 32s - 13m 43s |
Edited by Łukasz Bujak