[RFC PATCH 23/23] vinyl: eliminate read on REPLACE/DELETE
Vladimir Davydov
vdavydov.dev at gmail.com
Fri Jul 13 13:53:51 MSK 2018
During our verbal discussion with Kostja, we agreed that it makes sense
to generate deferred DELETEs when the transaction is committed in case
the overwritten tuple is present in memory. This should decrease the
overall number of deferred DELETEs and thus speed up secondary index
lookups.
The patches below implement this feature. They reduce the time it takes
to run vinyl/select_consistency.test.lua on my laptop from 32 seconds
down to only 8 seconds (it takes about 7 seconds on vanilla).
I pushed them to the same branch as the rest of the patch set.
https://github.com/tarantool/tarantool/issues/2129
https://github.com/tarantool/tarantool/tree/dv/gh-2129-vy-eliminate-read-on-replace-delete
Vladimir Davydov (3):
stailq: add stailq_insert function
vinyl: link all indexes of the same space
vinyl: generate deferred DELETEs on tx commit
src/box/vinyl.c | 1 +
src/box/vy_lsm.c | 7 +++-
src/box/vy_lsm.h | 2 +
src/box/vy_point_lookup.c | 32 ++++++++++++++++
src/box/vy_point_lookup.h | 18 +++++++++
src/box/vy_tx.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++
src/lib/salad/stailq.h | 19 ++++++++++
test/vinyl/quota.result | 2 +-
8 files changed, 176 insertions(+), 2 deletions(-)
--
2.11.0
More information about the Tarantool-patches
mailing list