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%)