[ 
http://issues.apache.org/jira/browse/LUCENE-365?page=comments#action_12373489 ] 

paul.elschot commented on LUCENE-365:
-------------------------------------

For top level disjunctions, the original BooleanScorer could well be the best 
performing one.
To have this it would be necessary to implement score(HitCollector, maxDocNr) in
DisjunctionSumScorer.
(Yet another case for BooleanScorer2 ...)







> [PATCH] Performance improvement to DisjunctionSumScorer
> -------------------------------------------------------
>
>          Key: LUCENE-365
>          URL: http://issues.apache.org/jira/browse/LUCENE-365
>      Project: Lucene - Java
>         Type: Bug

>   Components: Search
>     Versions: CVS Nightly - Specify date in submission
>  Environment: Operating System: other
> Platform: Other
>     Reporter: paul.elschot
>     Assignee: Lucene Developers
>  Attachments: BooleanScorerBtree.java, DisjunctionSumScorer.java, 
> ScorerDocQueue.java, TestDisjunctionPerf1.java
>
> A recent profile of the new BooleanScorer2 showed that 
> quite a bit of CPU time is spent in the advanceAfterCurrent method 
> of DisjunctionScorer, and in the PriorityQueue of scorers that 
> is used there. 
>  
> This patch reduces the internal overhead of DisjunctionScorer 
> to about 70% of the current one (ie. 30% saving in cpu time). 
> It also reduces the number of calls to the subscorers, but 
> that was not measured. 
>  
> To get this, it was necessary to specialize the PriorityQueue 
> for a Scorer and to add move some code fragments from DisjunctionScorer 
> to this specialized queue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to