-
Enhancement
-
Resolution: Done
-
Major
-
None
-
None
Today the index portion of the SIFS is broken into its own "segments" and a single thread is dedicated to each of those segments.
Instead we should break apart the segment by the actual cache segments. This would allow for much simpler code as today each of the SIFS "segments" can contain entries from any of the cache segments. Also this would change lookup time from log(N) to be log(N/256) which, which for a million elements the lookup would be ~40% faster.
Another thing this would change is how entries are distributed in the binary tree as we prepend the segment to every key and would no longer need this, so it should provide for a better distribution. This would need to be verified though.
ISPN-15376 should be kept in mind as well as it may directly impact batching index updates across segments or not.