topling/toplingdb

version 7.09: MergingIterator devirtualization and prefix cache

rockeet opened this issue · 1 comments

In branch sideplugin-7.09.0-2022-10-27-5fef34fd, MergingIterator is using upstream RocksDB's version because MergingIterator was greately changed in 2022-09 for speed up DeleteRange, so it is hard to merge with ToplingDB's devirtualization and prefix cache.

Prior to devirtualization and prefix cache, ToplingDB use union to storing minHeap and maxHeap, this is also an improvement to upstream RocksDB.

This issue is a task to accommodate ToplingDB's MergingIterator:

  1. union of minHeap and maxHeap
  2. devirtualization
  3. key prefix cache

Done.