[ https://issues.apache.org/jira/browse/LUCENE-8757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16835508#comment-16835508 ]
Atri Sharma commented on LUCENE-8757: ------------------------------------- bq. Are the work units tackled in order for each query? I.e. is the queue a FIFO queue? If so, the sorting can be useful since IndexSearcher would work first on the hardest/slowest work units, the "long poles" for the concurrent search? Yes, the leafslices are tackled in order in IndexSearcher i.e. threads are created for work units in the same order in which slices() created the work units. So with a sort, what you said will be applicable i.e. the larger work units get scheduled first. > Better Segment To Thread Mapping Algorithm > ------------------------------------------ > > Key: LUCENE-8757 > URL: https://issues.apache.org/jira/browse/LUCENE-8757 > Project: Lucene - Core > Issue Type: Improvement > Reporter: Atri Sharma > Priority: Major > Attachments: LUCENE-8757.patch, LUCENE-8757.patch, LUCENE-8757.patch > > > 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 -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org