We want to ensure that performance doesn't regress:
- Memory usage for the new buffer pool (with the old small buffers optimisation removed) should be similar or less than the old code for typical workloads. This will require reducing the buffer size - e.g. to 1MB or less.
- Spill-to-disk performance should not regress more than is acceptable. This may be tricky to get right since the I/O size will be reduced from 8MB. We may need to allocate logically sequential blocks in contiguous disk and do some kind of prefetching in the buffer pool to issue multiple writes at a time.