[PATCH 0/4] reftable: optimize I/O patterns
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Jan 8, 2024, 12:18 UTC
- Message-ID
- <cover.1704714575.git.ps@pks.im>
Hi,
this patch series optimizes some I/O patterns that the reftable library uses:
- Establish a stat(3P)-based caching mechanism to avoid re-reading
"tables.list" all the time. - Convert the block source to use mmap(3P) instead of read(3P) to read
data.Combined these lead to a ~2.7x speedup when writing many refs.
Patrick
Patrick Steinhardt (4): reftable/stack: refactor stack reloading to have common exit path reftable/stack: refactor reloading to use file descriptor reftable/stack: use stat info to avoid re-reading stack list reftable/blocksource: use mmap to read tables
reftable/blocksource.c | 48 +++++++++++++----- reftable/stack.c | 111 ++++++++++++++++++++++++----------------- reftable/stack.h | 1 + reftable/system.h | 1 + 4 files changed, 103 insertions(+), 58 deletions(-)
-- 2.43.GIT