Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
When the default CompositeIdRouter is used it calls HashBasedRouter.hashToSlice method for every update, which obtains a collection of active slices from the current DocCollection and then iterates over it checking what range contains the document's id hash.
Each time this creates a new iterator, which is wasteful - a much lightweight approach would be to construct a Slice[] when DocCollection is constructed and use indexed access to this array.
This change has especially visible impact on simulator performance for large scale tests, where other costs are not present.