memtx: optimize tuple garbage collection
Currently, tuples are never garbage collected if the number of open read views stays above zero, even if they can't possibly be accessed from any read view (e.g. were freed before the oldest read view was created). This commit fixes this issue by introducing per read view tuple garbage collection lists. The algorithm is described in the comments to the code. Closes #7185 NO_DOC=internal NO_CHANGELOG=internal
Showing
- src/box/memtx_allocator.cc 106 additions, 0 deletionssrc/box/memtx_allocator.cc
- src/box/memtx_allocator.h 135 additions, 28 deletionssrc/box/memtx_allocator.h
- test/unit/memtx_allocator.cc 65 additions, 1 deletiontest/unit/memtx_allocator.cc
- test/unit/memtx_allocator.result 16 additions, 1 deletiontest/unit/memtx_allocator.result
Loading
Please register or sign in to comment