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

1
Cargo.lock generated
View File

@@ -88,6 +88,7 @@ dependencies = [
"libc",
"log",
"qcow",
"smallvec",
"thiserror",
"versionize",
"versionize_derive",