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

Remove code dup in Disjunction/Sum/MaxScorer

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.6, 6.0
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      This patch is from Rob (I tweaked a bit, removing the numScorers param
      to DisjunctionScorer ctor); it eliminates the code dup in the two
      DisjunctionScorer subclasses by moving the code up to the base class
      ... I did a quick perf test on Wikipedia and it looks like hotspot
      seems to not mind (NOTE: I hardwired BS2 for both comp and base):

                          Task    QPS base      StdDev    QPS comp      StdDev                Pct diff
                     MedPhrase      201.46      (5.9%)      200.06      (6.5%)   -0.7% ( -12% -   12%)
                    HighPhrase        4.32      (6.5%)        4.29      (6.8%)   -0.6% ( -13% -   13%)
                     LowPhrase       13.21      (1.5%)       13.15      (1.8%)   -0.5% (  -3% -    2%)
                  OrNotHighLow      371.05      (2.0%)      369.82      (1.9%)   -0.3% (  -4% -    3%)
                    AndHighLow      394.43      (2.3%)      393.16      (2.4%)   -0.3% (  -4% -    4%)
                   MedSpanNear       31.08      (3.2%)       31.01      (3.1%)   -0.2% (  -6% -    6%)
                  HighSpanNear        8.20      (5.9%)        8.19      (5.5%)   -0.2% ( -10% -   11%)
                 OrNotHighHigh        7.62      (3.1%)        7.60      (4.2%)   -0.2% (  -7% -    7%)
                  OrHighNotMed       26.76      (3.6%)       26.73      (4.4%)   -0.1% (  -7% -    8%)
                  OrNotHighMed       51.30      (1.3%)       51.28      (1.2%)   -0.0% (  -2% -    2%)
                     OrHighMed       18.50      (5.0%)       18.49      (5.1%)   -0.0% (  -9% -   10%)
                     OrHighLow       14.30      (6.0%)       14.30      (6.1%)    0.0% ( -11% -   12%)
                    OrHighHigh        5.53      (4.7%)        5.53      (4.8%)    0.0% (  -9% -   10%)
                    AndHighMed       34.18      (1.6%)       34.19      (1.7%)    0.0% (  -3% -    3%)
                  OrHighNotLow       19.71      (3.8%)       19.72      (4.4%)    0.0% (  -7% -    8%)
               MedSloppyPhrase        3.49      (4.0%)        3.50      (3.2%)    0.1% (  -6% -    7%)
                        Fuzzy1       67.11      (2.3%)       67.17      (2.6%)    0.1% (  -4% -    5%)
                 OrHighNotHigh        9.69      (3.1%)        9.70      (4.0%)    0.1% (  -6% -    7%)
                   AndHighHigh       28.19      (1.6%)       28.22      (1.7%)    0.1% (  -3% -    3%)
               LowSloppyPhrase       43.85      (2.0%)       43.91      (1.7%)    0.1% (  -3% -    3%)
                   LowSpanNear       10.39      (2.9%)       10.41      (3.1%)    0.2% (  -5% -    6%)
                      Wildcard       16.83      (3.1%)       16.85      (3.9%)    0.2% (  -6% -    7%)
                       Respell       48.11      (2.9%)       48.19      (2.9%)    0.2% (  -5% -    6%)
                        Fuzzy2       46.97      (2.6%)       47.10      (2.7%)    0.3% (  -4% -    5%)
                       Prefix3       71.44      (3.8%)       71.66      (4.2%)    0.3% (  -7% -    8%)
              HighSloppyPhrase        3.41      (5.4%)        3.45      (4.7%)    1.0% (  -8% -   11%)
                       LowTerm      308.11      (1.6%)      311.17      (3.9%)    1.0% (  -4% -    6%)
                        IntNRQ        3.52      (7.7%)        3.57      (8.1%)    1.3% ( -13% -   18%)
                      HighTerm       64.66      (4.3%)       65.53      (7.8%)    1.3% ( -10% -   13%)
                       MedTerm      100.12      (3.2%)      101.53      (6.2%)    1.4% (  -7% -   11%)
      

        Attachments

        1. LUCENE-5292.patch
          10 kB
          Michael McCandless

          Activity

            People

            • Assignee:
              mikemccand Michael McCandless
              Reporter:
              mikemccand Michael McCandless
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: