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