You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Virtual function call to comparator is very frequent thus is a hot spot
In most use cases, the default BytewiseComparator or ReverseBytewiseComparator is used
This PR provide the basic support for our later PRs for FindFileInRange and MergingIterator:
devirtualize such virtual functions calls for BytewiseComparator or ReverseBytewiseComparator
Add prefix cache to omit most memcmp and indirect memory access to key
Performance of FindFileInRange was improved 20x+, MergingIterator was improved 3x+.
This was a PR to upstream facebook/rocksdb#10645
Copied from facebook/rocksdb#10645
Virtual function call to comparator is very frequent thus is a hot spot
In most use cases, the default BytewiseComparator or ReverseBytewiseComparator is used
This PR provide the basic support for our later PRs for FindFileInRange and MergingIterator:
devirtualize such virtual functions calls for BytewiseComparator or ReverseBytewiseComparator
Add prefix cache to omit most memcmp and indirect memory access to key
Performance of FindFileInRange was improved 20x+, MergingIterator was improved 3x+.
see PR: facebook/rocksdb#10646 FindFileInRange devirtualization and prefix cache
PR MergingIterator depends on PR facebook/rocksdb#9035 thus we would create it later.
Relevant commits
331715c leipeng 2022-09-19 19:26:36 +0800 Add Comparator::opt_cmp_type()
9327631 leipeng 2022-07-21 15:06:55 +0800 Merge branch 'sideplugin-7.04.0-415200d7' into sideplugin-7.06.0-a0c63083
27a169f leipeng 2022-06-20 21:40:41 +0800 IsBytewiseComparator: optimize add cmp type to Comparator
f033dac leipeng 2022-06-16 22:56:59 +0800 Add IsReverseBytewiseComparator()
5c62088 leipeng 2022-06-09 18:37:24 +0800 Merge branch 'sideplugin-7.01.0-a5e51305' into sideplugin-7.03.0-f85b31a2
b65e06f leipeng 2022-03-30 11:21:17 +0800 Merge branch 'sideplugin-6.28.0-677d2b4a' into sideplugin-7.01.0-a5e51305
de07870 leipeng 2021-12-31 14:35:01 +0800 Merge branch 'sideplugin-6.26.0-28bab0ef' into sideplugin-6.28.0-677d2b4a
8287e70 leipeng 2021-12-11 12:53:05 +0800 Move IsBytewiseComparator ... from topling-rocks to toplingdb repo
The text was updated successfully, but these errors were encountered: