-
Type: Improvement
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
1
During the investigation of a performance regression BF-29842, I find that the classic engine uses WriedTigerIndexCursorBase::curr which consumes 0.5% CPU, but the new SBE engine uses WriedTigerIndexCursorBase::getKeyStringEntry which consumes 5.75% CPU.
The profiler shows a large amount of CPU on memory allocation in KeyString copy, but not for curr(). The curr() version avoids returning full BSON object in some cases, we should do some optimization on the keyString version.
- duplicates
-
SERVER-86151 Create unowned SortedDataInterface data return type
- Closed
- is duplicated by
-
SERVER-65089 Avoid unnecessary KeyString copies in index interface
- Closed
-
SERVER-85686 Support an API that allows user to choose whether or not to copy the underlying key every iteration
- Closed
- is related to
-
SERVER-88886 Anna perf tiger tracking ticket
- In Progress
-
SERVER-88437 Use unowned SortedDataInterface API for SBE index scans
- Closed