[ http://issues.apache.org/jira/browse/LUCENE-365?page=comments#action_12373454 ]
Yonik Seeley commented on LUCENE-365: ------------------------------------- Nice Paul! I was just doing some performance work in the last week and noticed that DisjunctionSumScorer was taking up a fair amount of time (the queries consisted of a very large number of disjunctions). I had planned on making a specialized heap for Scorers once I reviewed the code (until I ran across this bug). I'm personally only committing bug fixes for Lucene 2.0, but after that, I'll commit this. > [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]