gf2121 commented on pull request #2139: URL: https://github.com/apache/lucene-solr/pull/2139#issuecomment-744637612
> This is great. I'm curious if you tested other numbers of bits per value than 15? The `decode15` benchmark result here only wants to tell that we can cause an SIMD optimizization in this way. However, as talked in #2113 , microbenchmarks may not be trustable from time to time. Here is the result of all these bits: ``` Benchmark Mode Cnt Score Error Units MyBenchmark.decode6a thrpt 10 247414556.380 ± 2434585.070 ops/s MyBenchmark.decode6b thrpt 10 222221023.558 ± 1030956.992 ops/s MyBenchmark.decode7a thrpt 10 197406024.801 ± 4874584.420 ops/s MyBenchmark.decode7b thrpt 10 147646576.688 ± 3572102.825 ops/s MyBenchmark.decode12a thrpt 10 131609297.779 ± 712263.151 ops/s MyBenchmark.decode12b thrpt 10 110071926.176 ± 1302030.745 ops/s MyBenchmark.decode14a thrpt 10 64464919.397 ± 1884249.466 ops/s MyBenchmark.decode14b thrpt 10 116994814.109 ± 467860.907 ops/s MyBenchmark.decode15a thrpt 10 65234108.600 ± 1336311.970 ops/s MyBenchmark.decode15b thrpt 10 106840656.363 ± 448026.092 ops/s MyBenchmark.decode24a thrpt 10 55316236.195 ± 2305321.938 ops/s MyBenchmark.decode24b thrpt 10 70260091.330 ± 1545397.554 ops/s ``` Accroding to this result, methods will get a bit slower when bits per value <= 12. but when i removed their optimization, the end-to-end benchmark result become slower... ``` HighPhrase 174.64 (3.9%) 173.31 (4.3%) -0.8% ( -8% - 7%) 0.556 Respell 196.80 (3.5%) 195.51 (3.6%) -0.7% ( -7% - 6%) 0.562 LowSloppyPhrase 424.47 (4.2%) 422.49 (3.7%) -0.5% ( -8% - 7%) 0.711 Fuzzy2 68.12 (16.9%) 67.84 (17.7%) -0.4% ( -29% - 41%) 0.939 Fuzzy1 129.37 (7.1%) 129.02 (6.1%) -0.3% ( -12% - 13%) 0.900 BrowseMonthSSDVFacets 138.95 (2.0%) 138.85 (2.0%) -0.1% ( -4% - 4%) 0.905 MedSloppyPhrase 360.37 (4.2%) 360.20 (4.4%) -0.0% ( -8% - 8%) 0.973 HighIntervalsOrdered 122.33 (2.1%) 122.32 (1.9%) -0.0% ( -3% - 4%) 0.992 OrHighHigh 66.73 (4.6%) 66.76 (4.0%) 0.0% ( -8% - 9%) 0.978 HighSpanNear 105.13 (2.7%) 105.28 (2.4%) 0.1% ( -4% - 5%) 0.865 BrowseDayOfYearSSDVFacets 122.74 (2.6%) 122.99 (1.3%) 0.2% ( -3% - 4%) 0.747 Prefix3 334.95 (6.3%) 335.70 (4.2%) 0.2% ( -9% - 11%) 0.894 LowSpanNear 561.05 (3.8%) 562.69 (4.7%) 0.3% ( -7% - 9%) 0.830 BrowseMonthTaxoFacets 36.31 (6.9%) 36.43 (6.2%) 0.3% ( -12% - 14%) 0.876 Wildcard 147.10 (3.3%) 147.68 (3.0%) 0.4% ( -5% - 6%) 0.693 BrowseDateTaxoFacets 32.84 (5.7%) 32.99 (5.7%) 0.4% ( -10% - 12%) 0.810 HighSloppyPhrase 44.53 (6.5%) 44.72 (5.7%) 0.4% ( -11% - 13%) 0.821 LowPhrase 297.21 (3.6%) 298.53 (2.9%) 0.4% ( -5% - 7%) 0.668 OrHighLow 796.60 (7.5%) 800.20 (6.9%) 0.5% ( -12% - 15%) 0.842 LowTerm 2376.34 (6.6%) 2387.16 (4.5%) 0.5% ( -10% - 12%) 0.800 PKLookup 227.92 (3.1%) 229.30 (1.8%) 0.6% ( -4% - 5%) 0.447 BrowseDayOfYearTaxoFacets 32.93 (6.1%) 33.13 (5.6%) 0.6% ( -10% - 13%) 0.737 IntNRQ 584.74 (7.6%) 589.54 (7.9%) 0.8% ( -13% - 17%) 0.738 AndHighMed 805.31 (5.7%) 812.48 (4.3%) 0.9% ( -8% - 11%) 0.577 AndHighHigh 382.16 (4.4%) 386.58 (3.5%) 1.2% ( -6% - 9%) 0.359 OrHighMed 404.42 (5.1%) 409.44 (4.6%) 1.2% ( -8% - 11%) 0.418 MedTerm 2139.91 (6.0%) 2167.39 (5.0%) 1.3% ( -9% - 13%) 0.461 MedSpanNear 273.38 (3.0%) 276.90 (3.1%) 1.3% ( -4% - 7%) 0.186 HighTermDayOfYearSort 310.36 (16.4%) 314.78 (15.6%) 1.4% ( -26% - 40%) 0.779 HighTermMonthSort 854.54 (13.1%) 869.18 (11.5%) 1.7% ( -20% - 30%) 0.660 AndHighLow 1592.57 (7.8%) 1620.67 (5.6%) 1.8% ( -10% - 16%) 0.411 HighTerm 1464.88 (5.7%) 1491.23 (4.4%) 1.8% ( -7% - 12%) 0.263 MedPhrase 627.29 (4.3%) 639.12 (3.9%) 1.9% ( -6% - 10%) 0.149 ``` So I chose to pay more attention to the end-to-end result, and reserved all optimizations for them:) ---------------------------------------------------------------- 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. 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