HUSTERGS commented on PR #15081: URL: https://github.com/apache/lucene/pull/15081#issuecomment-3197362760
Actually I did another experiment, I was worried about the `findNextGEQ` operation might cause a unexpected slowdown on those machine that do not have fast SIMD instructions, so I added a new `copyWithMinDocRequired` method to `DocAndScoreAccBuffer`, now instead of call `findNextGEQ`, I directly filter those docs when copy, here is the result: ``` TaskQPS baseline StdDevQPS my_modified_version StdDev Pct diff p-value CombinedOrHighHigh 5.54 (3.2%) 5.41 (3.6%) -2.5% ( -9% - 4%) 0.023 TermTitleSort 51.50 (3.9%) 50.60 (4.1%) -1.7% ( -9% - 6%) 0.169 CombinedAndHighHigh 5.60 (2.2%) 5.53 (1.3%) -1.2% ( -4% - 2%) 0.032 DismaxOrHighMed 45.35 (7.4%) 44.93 (9.2%) -0.9% ( -16% - 16%) 0.726 SpanNear 2.51 (4.1%) 2.50 (4.1%) -0.4% ( -8% - 8%) 0.733 CombinedTerm 10.96 (4.0%) 10.91 (4.8%) -0.4% ( -8% - 8%) 0.761 AndHighOrMedMed 13.50 (2.6%) 13.47 (3.0%) -0.2% ( -5% - 5%) 0.789 FilteredAndHighHigh 10.23 (2.9%) 10.24 (2.7%) 0.0% ( -5% - 5%) 0.959 Term10K 438.89 (6.1%) 439.16 (6.6%) 0.1% ( -11% - 13%) 0.975 Term 439.07 (6.0%) 439.36 (6.6%) 0.1% ( -11% - 13%) 0.974 TermB1M 439.19 (5.9%) 439.51 (6.6%) 0.1% ( -11% - 13%) 0.971 SloppyPhrase 1.12 (3.3%) 1.12 (4.1%) 0.1% ( -7% - 7%) 0.929 CombinedOrHighMed 19.36 (5.3%) 19.40 (5.7%) 0.2% ( -10% - 11%) 0.926 FilteredAndStopWords 8.22 (3.0%) 8.23 (2.5%) 0.2% ( -5% - 5%) 0.849 Term100 438.48 (6.0%) 439.22 (6.6%) 0.2% ( -11% - 13%) 0.933 TermB1M1P 438.65 (6.0%) 439.45 (6.7%) 0.2% ( -11% - 13%) 0.927 Term1M 438.40 (6.1%) 439.36 (6.5%) 0.2% ( -11% - 13%) 0.913 CountPhrase 2.64 (3.2%) 2.64 (3.8%) 0.2% ( -6% - 7%) 0.836 CountFilteredOrHighMed 17.85 (0.7%) 17.90 (0.7%) 0.3% ( -1% - 1%) 0.186 CountFilteredOrHighHigh 15.76 (0.7%) 15.81 (0.9%) 0.3% ( -1% - 1%) 0.173 DismaxTerm 473.34 (4.1%) 475.20 (4.9%) 0.4% ( -8% - 9%) 0.782 OrHighRare 93.56 (3.0%) 93.93 (3.3%) 0.4% ( -5% - 6%) 0.683 CountFilteredIntNRQ 16.34 (1.2%) 16.42 (1.2%) 0.5% ( -1% - 2%) 0.193 IntSet 286.37 (4.4%) 287.83 (4.7%) 0.5% ( -8% - 9%) 0.723 FilteredPrefix3 68.84 (4.4%) 69.19 (3.6%) 0.5% ( -7% - 8%) 0.682 CountAndHighMed 71.34 (2.8%) 71.73 (2.6%) 0.6% ( -4% - 6%) 0.516 Wildcard 46.52 (2.5%) 46.78 (2.6%) 0.6% ( -4% - 5%) 0.476 IntervalsOrdered 2.43 (2.9%) 2.44 (3.1%) 0.6% ( -5% - 6%) 0.528 FilteredOrStopWords 7.87 (2.0%) 7.93 (2.1%) 0.7% ( -3% - 4%) 0.251 Prefix3 73.58 (4.8%) 74.13 (3.7%) 0.8% ( -7% - 9%) 0.578 CountFilteredOrMany 4.29 (2.5%) 4.33 (2.6%) 0.9% ( -4% - 6%) 0.278 CountAndHighHigh 48.27 (1.6%) 48.70 (1.5%) 0.9% ( -2% - 4%) 0.072 CountOrHighHigh 49.25 (1.9%) 49.71 (1.8%) 0.9% ( -2% - 4%) 0.101 OrStopWords 8.91 (8.4%) 9.00 (12.2%) 1.0% ( -18% - 23%) 0.771 TermDayOfYearSort 252.19 (1.9%) 254.74 (1.9%) 1.0% ( -2% - 4%) 0.093 Phrase 7.36 (2.4%) 7.43 (2.1%) 1.0% ( -3% - 5%) 0.145 FilteredTerm 60.82 (2.3%) 61.48 (2.6%) 1.1% ( -3% - 6%) 0.165 CountOrHighMed 71.77 (2.2%) 72.56 (1.9%) 1.1% ( -2% - 5%) 0.094 FilteredPhrase 9.30 (2.9%) 9.41 (2.7%) 1.2% ( -4% - 6%) 0.188 CombinedAndHighMed 19.58 (5.1%) 19.81 (5.0%) 1.2% ( -8% - 11%) 0.460 CountOrMany 4.81 (2.3%) 4.87 (2.6%) 1.2% ( -3% - 6%) 0.132 OrMany 4.17 (6.2%) 4.22 (5.3%) 1.2% ( -9% - 13%) 0.509 FilteredOrMany 3.87 (3.0%) 3.92 (2.9%) 1.2% ( -4% - 7%) 0.196 IntNRQ 42.46 (2.9%) 42.99 (3.0%) 1.3% ( -4% - 7%) 0.179 FilteredOrHighHigh 12.37 (2.8%) 12.54 (2.9%) 1.3% ( -4% - 7%) 0.134 Respell 34.57 (2.7%) 35.05 (3.5%) 1.4% ( -4% - 7%) 0.162 OrHighHigh 20.69 (10.5%) 20.98 (14.8%) 1.4% ( -21% - 29%) 0.730 CountFilteredPhrase 8.57 (3.3%) 8.69 (3.3%) 1.4% ( -5% - 8%) 0.181 TermMonthSort 2048.69 (2.8%) 2078.78 (1.8%) 1.5% ( -3% - 6%) 0.049 CountTerm 5432.73 (2.5%) 5516.44 (2.7%) 1.5% ( -3% - 6%) 0.063 Fuzzy2 33.85 (3.7%) 34.38 (3.7%) 1.6% ( -5% - 9%) 0.180 FilteredIntNRQ 42.05 (2.9%) 42.75 (3.1%) 1.7% ( -4% - 7%) 0.080 DismaxOrHighHigh 33.48 (5.4%) 34.03 (7.0%) 1.7% ( -10% - 14%) 0.400 FilteredAnd3Terms 99.67 (3.3%) 101.33 (3.2%) 1.7% ( -4% - 8%) 0.104 TermDTSort 136.90 (3.5%) 139.43 (4.0%) 1.9% ( -5% - 9%) 0.118 FilteredOrHighMed 36.11 (4.1%) 36.80 (4.3%) 1.9% ( -6% - 10%) 0.146 Fuzzy1 37.33 (4.3%) 38.06 (4.1%) 2.0% ( -6% - 10%) 0.136 FilteredOr3Terms 41.00 (3.8%) 41.84 (4.2%) 2.0% ( -5% - 10%) 0.106 FilteredAndHighMed 30.09 (4.2%) 30.78 (3.6%) 2.3% ( -5% - 10%) 0.061 FilteredOr2Terms2StopWords 45.64 (4.9%) 46.83 (5.3%) 2.6% ( -7% - 13%) 0.105 Or3Terms 59.85 (9.7%) 61.50 (12.9%) 2.8% ( -18% - 28%) 0.444 OrHighMed 60.34 (11.4%) 62.06 (15.6%) 2.9% ( -21% - 33%) 0.507 Or2Terms2StopWords 53.33 (8.4%) 55.96 (10.6%) 4.9% ( -12% - 26%) 0.103 FilteredAnd2Terms2StopWords 54.99 (5.3%) 58.02 (5.9%) 5.5% ( -5% - 17%) 0.002 AndHighHigh 21.28 (10.6%) 22.68 (10.7%) 6.6% ( -13% - 31%) 0.051 And3Terms 65.77 (9.0%) 70.21 (8.8%) 6.8% ( -10% - 27%) 0.017 AndHighMed 49.53 (10.6%) 52.99 (10.4%) 7.0% ( -12% - 31%) 0.036 And2Terms2StopWords 51.74 (8.1%) 55.41 (8.8%) 7.1% ( -9% - 26%) 0.008 AndMedOrHighHigh 14.90 (4.2%) 16.03 (4.0%) 7.6% ( 0% - 16%) 0.000 AndStopWords 8.18 (6.7%) 8.86 (7.4%) 8.3% ( -5% - 24%) 0.000 ``` BTW, This benchmark contains #15039, which is different from previous benchmark setup. The affected tasks also changed, e.g. OrHighHigh no longer got a speedup. I'd push the newest code latter, maybe you can help run the benchmark to verify it ? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org