block_util: Use SmallVec for I/O requests

The number of buffers in the request is usually one so by using SmallVec
the number of heap allocations can be significantly reduced.

DHAT reports:

Before:

dhat: Total:     1,166,412 bytes in 40,383 blocks

After:

dhat: Total:     623,852 bytes in 8,157 blocks

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
Rob Bradford
2023-01-10 12:45:30 +00:00
parent e7a51cde78
commit 67ff0d7819
3 changed files with 7 additions and 3 deletions

View File

@@ -12,6 +12,7 @@ io-uring = "0.5.9"
libc = "0.2.139"
log = "0.4.17"
qcow = { path = "../qcow" }
smallvec = "1.10.0"
thiserror = "1.0.37"
versionize = "0.1.9"
versionize_derive = "0.1.4"