Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Customized BlockBasedTableIterator Summary: Use a customzied BlockBasedTableIterator to replace current implementation leveraging two level iterator. Hope the customized logic will make code easier to understand. As a side effect, we reduce the allocation for the data block iterator object, and avoid the virtual function call to it, because we can directly reference BlockIter, a final class. It also enabled further optimization. The upper bound check is also moved from index block to data block. This implementation fits this iterator better. After the change, forwared iterator is slightly optimized to ensure we trim those iterators. Test Plan: Run all existing tests using ASAN. Simplify two-level-iterator fix clang Fix issues because of rebase Address comments. Fix a memory issue
- Loading branch information