gf2121 commented on pull request #592: URL: https://github.com/apache/lucene/pull/592#issuecomment-1010612581
@uschindler Thank you for the benchmark guidance! I made a new change in this [commit](https://github.com/apache/lucene/pull/592/commits/347fdb13d60f620064290123f5122e6ea78ac288) that ensure valid before each call of `ByteBuffer#get`. And I run a benchmark on wikimediumall (16GB) with 20 rounds of JVM and each round repeat tasks 200 times (each jvm lask 10 min and total time took 6h+). This benchmark should be similar to what we did in https://github.com/apache/lucene/pull/518. And here is the result: ``` TaskQPS baseline StdDevQPS my_modified_version StdDev Pct diff p-value BrowseMonthTaxoFacets 5.80 (14.4%) 5.50 (13.6%) -5.1% ( -29% - 26%) 0.246 HighTermTitleBDVSort 35.69 (30.2%) 34.46 (18.5%) -3.4% ( -40% - 64%) 0.664 Prefix3 194.68 (12.3%) 188.12 (13.2%) -3.4% ( -25% - 25%) 0.403 HighTermMonthSort 49.11 (28.0%) 47.66 (15.0%) -2.9% ( -35% - 55%) 0.678 OrHighHigh 16.37 (4.5%) 15.99 (4.0%) -2.4% ( -10% - 6%) 0.078 TermDTSort 22.81 (23.4%) 22.30 (12.8%) -2.3% ( -31% - 44%) 0.704 BrowseDayOfYearSSDVFacets 4.43 (10.4%) 4.34 (7.1%) -2.0% ( -17% - 17%) 0.473 HighIntervalsOrdered 3.92 (9.6%) 3.85 (8.4%) -1.9% ( -18% - 17%) 0.514 Wildcard 95.75 (14.1%) 94.10 (14.6%) -1.7% ( -26% - 31%) 0.704 BrowseRandomLabelTaxoFacets 4.55 (12.8%) 4.50 (12.2%) -1.1% ( -23% - 27%) 0.788 OrHighMed 47.41 (4.7%) 46.98 (4.1%) -0.9% ( -9% - 8%) 0.516 BrowseDateTaxoFacets 5.25 (16.3%) 5.21 (15.4%) -0.8% ( -27% - 37%) 0.881 BrowseDayOfYearTaxoFacets 5.31 (16.5%) 5.27 (15.6%) -0.7% ( -28% - 37%) 0.893 OrHighMedDayTaxoFacets 1.03 (5.0%) 1.02 (5.0%) -0.6% ( -10% - 9%) 0.700 MedTermDayTaxoFacets 15.74 (5.8%) 15.67 (3.8%) -0.5% ( -9% - 9%) 0.772 Fuzzy1 76.87 (2.4%) 76.53 (2.1%) -0.4% ( -4% - 4%) 0.542 PKLookup 204.50 (5.0%) 203.69 (4.8%) -0.4% ( -9% - 9%) 0.798 Fuzzy2 71.89 (2.1%) 71.64 (2.0%) -0.4% ( -4% - 3%) 0.586 LowSloppyPhrase 4.00 (4.2%) 3.99 (4.0%) -0.3% ( -8% - 8%) 0.833 Respell 46.07 (1.8%) 45.96 (2.1%) -0.2% ( -4% - 3%) 0.686 LowIntervalsOrdered 7.73 (4.9%) 7.73 (3.7%) -0.0% ( -8% - 9%) 0.988 HighTermDayOfYearSort 43.42 (23.3%) 43.54 (12.8%) 0.3% ( -29% - 47%) 0.965 AndHighHighDayTaxoFacets 6.99 (3.0%) 7.02 (2.6%) 0.5% ( -4% - 6%) 0.544 BrowseRandomLabelSSDVFacets 3.18 (6.5%) 3.21 (7.6%) 1.1% ( -12% - 16%) 0.637 HighSpanNear 1.70 (5.8%) 1.72 (4.9%) 1.1% ( -9% - 12%) 0.524 LowSpanNear 5.93 (3.4%) 6.00 (3.4%) 1.1% ( -5% - 8%) 0.312 MedSloppyPhrase 45.85 (2.9%) 46.42 (2.7%) 1.2% ( -4% - 6%) 0.161 MedSpanNear 23.88 (4.0%) 24.26 (3.8%) 1.6% ( -5% - 9%) 0.198 LowTerm 1699.14 (4.1%) 1729.13 (2.9%) 1.8% ( -4% - 9%) 0.114 BrowseMonthSSDVFacets 4.67 (4.1%) 4.76 (12.0%) 2.0% ( -13% - 18%) 0.483 MedPhrase 47.09 (2.2%) 48.24 (1.5%) 2.4% ( -1% - 6%) 0.000 HighSloppyPhrase 14.85 (2.6%) 15.22 (2.2%) 2.5% ( -2% - 7%) 0.001 MedIntervalsOrdered 7.07 (3.6%) 7.29 (2.5%) 3.2% ( -2% - 9%) 0.001 LowPhrase 12.80 (2.4%) 13.27 (1.7%) 3.6% ( 0% - 7%) 0.000 AndHighHigh 35.29 (3.1%) 36.71 (5.0%) 4.0% ( -4% - 12%) 0.002 AndHighMed 87.69 (2.4%) 91.35 (3.9%) 4.2% ( -2% - 10%) 0.000 OrHighNotHigh 1514.29 (4.5%) 1578.30 (4.0%) 4.2% ( -4% - 13%) 0.002 MedTerm 1838.55 (4.7%) 1917.70 (4.1%) 4.3% ( -4% - 13%) 0.002 OrNotHighMed 1182.37 (3.8%) 1237.57 (2.7%) 4.7% ( -1% - 11%) 0.000 OrHighNotLow 1218.07 (6.1%) 1279.72 (4.8%) 5.1% ( -5% - 17%) 0.004 AndHighMedDayTaxoFacets 20.90 (3.4%) 21.98 (2.0%) 5.2% ( 0% - 11%) 0.000 OrNotHighHigh 943.89 (5.8%) 999.13 (4.8%) 5.9% ( -4% - 17%) 0.001 HighTerm 1349.44 (5.8%) 1431.38 (5.3%) 6.1% ( -4% - 18%) 0.001 OrHighNotMed 926.10 (5.8%) 989.92 (5.6%) 6.9% ( -4% - 19%) 0.000 HighPhrase 290.29 (6.0%) 318.57 (3.1%) 9.7% ( 0% - 20%) 0.000 IntNRQ 32.61 (25.8%) 35.87 (16.2%) 10.0% ( -25% - 70%) 0.142 OrHighLow 547.59 (6.0%) 604.39 (3.2%) 10.4% ( 1% - 20%) 0.000 OrNotHighLow 886.23 (5.1%) 980.83 (2.2%) 10.7% ( 3% - 18%) 0.000 AndHighLow 608.29 (6.3%) 693.67 (3.5%) 14.0% ( 4% - 25%) 0.000 ``` So it seems like the point that brings a speed up is not reducing number of valid check but just implement it and write all of them together into a method, removing some abstraction layer and method call ? So i reopened the PR to see if this change will make sense to you :) -- 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