You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by GitBox <gi...@apache.org> on 2020/12/14 18:49:50 UTC
[GitHub] [lucene-solr] gf2121 commented on pull request #2139: LUCENE-9636: Extract and operation to get a SIMD optimize
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org