Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-365

[PATCH] Performance improvement to DisjunctionSumScorer

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.1
    • core/search
    • None
    • Operating System: other
      Platform: Other

    • 34193

    Description

      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.

      Attachments

        Activity

          People

            yseeley@gmail.com Yonik Seeley
            paul.elschot@xs4all.nl Paul Elschot
            Votes:
            2 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: