The current segments to threads allocation algorithm always allocates one thread per segment. This is detrimental to performance in case of skew in segment sizes since small segments also get their dedicated thread. This can lead to performance degradation due to context switching overheads.
A better algorithm which is cognizant of size skew would have better performance for realistic scenarios

Migrated from LUCENE-8757 by Atri Sharma (@atris), resolved May 21 2019
Attachments: image-2020-12-04-14-09-22-924.png, LUCENE-8757.patch (versions: 10)
Linked issues:
The current segments to threads allocation algorithm always allocates one thread per segment. This is detrimental to performance in case of skew in segment sizes since small segments also get their dedicated thread. This can lead to performance degradation due to context switching overheads.
A better algorithm which is cognizant of size skew would have better performance for realistic scenarios
Migrated from LUCENE-8757 by Atri Sharma (@atris), resolved May 21 2019
Attachments: image-2020-12-04-14-09-22-924.png, LUCENE-8757.patch (versions: 10)
Linked issues: