[ 
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

Reply via email to