-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Storage Execution
-
Fully Compatible
-
Execution Team 2024-01-08, Execution Team 2024-01-22, Execution Team 2024-02-05, Repl 2024-02-19, Repl 2024-03-04
-
200
During analysis of SERVER-676 we identified that stable_sort as used in the sorter can be replaced with a normal sort. This would relax requirements imposed on the sorting and use a potentially different algorithm.
Additionally, we found that the NoLimit sorter uses a deque instead of a normal vector with a reserved capacity that would offer better memory locality.
A rough patch that implemented the changes mentioned here yielded a very significant improvement in index builds.
- depends on
-
SERVER-85337 $bucketAuto $first does not obey input order
- Closed
-
SERVER-85424 $group relies on stable sorting
- Closed
-
SERVER-85510 Fix checkpoint jstests to not depend on document order
- Closed
-
SERVER-87459 $bucketAuto $mergeObject does not obey input order
- Closed
- is related to
-
SERVER-85337 $bucketAuto $first does not obey input order
- Closed
-
SERVER-676 use multiple cores for index sort-phase
- Closed
- related to
-
SERVER-84523 Reconsider deque in sorter.cpp
- Closed