[ 
https://issues.apache.org/jira/browse/LUCENE-10366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17477256#comment-17477256
 ] 

Uwe Schindler commented on LUCENE-10366:
----------------------------------------

This seems to make Hotspot inline the whole final method including the calls to 
readByte() as the class hierarchy is fixed. A final method in 
ByteBufferIndexInput that calls super will always execute the method in 
DataInput which calls readByte(). In that case the call can be inlined, too, 
because there's nothing else in class hierarchy that could possibly be called, 
because readByte() is also final.

> Reduce the number of valid checks for ByteBufferIndexInput#readVInt
> -------------------------------------------------------------------
>
>                 Key: LUCENE-10366
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10366
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/codecs
>            Reporter: Feng Guo
>            Assignee: Uwe Schindler
>            Priority: Minor
>          Time Spent: 9h
>  Remaining Estimate: 0h
>
> Today, we do not rewrite {{#readVInt}} and {{#readVLong}} for 
> {{ByteBufferIndexInput}}. By default, the logic will call {{#readByte}} 
> several times, and we need to check whether ByteBuffer is valid every time. 
> This may not be necessary as we just need a final check.
> {code:java}
>                             TaskQPS baseline      StdDevQPS 
> my_modified_version      StdDev                Pct diff p-value
>        BrowseDayOfYearSSDVFacets       16.74     (17.3%)       15.91     
> (12.3%)   -5.0% ( -29% -   29%) 0.295
>             MedTermDayTaxoFacets       27.01      (6.9%)       26.56      
> (5.9%)   -1.7% ( -13% -   11%) 0.402
>                         Wildcard      111.55      (8.1%)      109.67      
> (7.6%)   -1.7% ( -16% -   15%) 0.499
>                          Respell       58.06      (2.6%)       57.20      
> (2.6%)   -1.5% (  -6% -    3%) 0.074
>           OrHighMedDayTaxoFacets        8.91      (4.7%)        8.81      
> (7.2%)   -1.1% ( -12% -   11%) 0.557
>                           Fuzzy1      117.17      (3.8%)      116.14      
> (3.3%)   -0.9% (  -7% -    6%) 0.437
>                           Fuzzy2      103.70      (3.2%)      102.82      
> (4.3%)   -0.9% (  -8% -    6%) 0.472
>             HighIntervalsOrdered       10.11      (7.9%)       10.05      
> (7.4%)   -0.6% ( -14% -   15%) 0.797
>            HighTermDayOfYearSort      183.18      (8.8%)      182.92     
> (10.8%)   -0.1% ( -18% -   21%) 0.964
>         AndHighHighDayTaxoFacets       11.44      (3.8%)       11.43      
> (3.1%)   -0.1% (  -6% -    7%) 0.936
>                          Prefix3      161.90     (13.5%)      161.80     
> (13.3%)   -0.1% ( -23% -   30%) 0.989
>                     HighSpanNear       11.43      (4.8%)       11.45      
> (4.2%)    0.1% (  -8% -    9%) 0.928
>                         PKLookup      220.15      (3.3%)      220.69      
> (6.2%)    0.2% (  -8% -   10%) 0.874
>                      MedSpanNear       92.60      (4.0%)       93.11      
> (3.7%)    0.5% (  -6% -    8%) 0.656
>                       TermDTSort      143.26      (9.0%)      144.14     
> (10.9%)    0.6% ( -17% -   22%) 0.847
>              MedIntervalsOrdered       63.74      (6.6%)       64.21      
> (6.1%)    0.8% ( -11% -   14%) 0.707
>             HighTermTitleBDVSort       99.61      (9.1%)      100.49     
> (12.4%)    0.9% ( -18% -   24%) 0.796
>                      LowSpanNear      126.43      (3.6%)      127.61      
> (3.2%)    0.9% (  -5% -    8%) 0.383
>              LowIntervalsOrdered       12.45      (5.4%)       12.58      
> (5.2%)    1.0% (  -9% -   12%) 0.535
>                          LowTerm     1767.08      (3.7%)     1788.83      
> (3.1%)    1.2% (  -5% -    8%) 0.257
>                 HighSloppyPhrase       11.45      (7.0%)       11.61      
> (7.1%)    1.5% ( -11% -   16%) 0.515
>          AndHighMedDayTaxoFacets       69.41      (3.7%)       70.46      
> (2.8%)    1.5% (  -4% -    8%) 0.147
>      BrowseRandomLabelSSDVFacets       10.85      (6.1%)       11.04      
> (5.1%)    1.7% (  -9% -   13%) 0.342
>                          MedTerm     2083.04      (5.3%)     2119.48      
> (5.7%)    1.7% (  -8% -   13%) 0.316
>                  LowSloppyPhrase      148.79      (3.6%)      151.76      
> (3.2%)    2.0% (  -4% -    9%) 0.062
>                       HighPhrase       98.67      (3.4%)      100.80      
> (3.5%)    2.2% (  -4% -    9%) 0.048
>                     OrHighNotLow     1371.31      (7.1%)     1400.91      
> (7.9%)    2.2% ( -12% -   18%) 0.365
>            BrowseMonthTaxoFacets       16.65     (11.6%)       17.03     
> (13.1%)    2.2% ( -20% -   30%) 0.565
>                    OrHighNotHigh     1267.37      (6.8%)     1297.42      
> (8.9%)    2.4% ( -12% -   19%) 0.344
>                  MedSloppyPhrase       39.35      (3.6%)       40.42      
> (4.2%)    2.7% (  -4% -   10%) 0.028
>                    OrNotHighHigh     1190.01      (6.6%)     1224.72      
> (7.6%)    2.9% ( -10% -   18%) 0.194
>                       OrHighHigh       37.72      (4.3%)       39.00      
> (3.4%)    3.4% (  -4% -   11%) 0.005
>                      AndHighHigh       92.46      (4.5%)       95.76      
> (4.9%)    3.6% (  -5% -   13%) 0.017
>                     OrHighNotMed     1231.31      (6.3%)     1275.65      
> (7.9%)    3.6% (  -9% -   18%) 0.109
>                        OrHighMed      174.32      (3.8%)      181.43      
> (2.9%)    4.1% (  -2% -   11%) 0.000
>                       AndHighLow     2761.91     (10.7%)     2885.28     
> (10.1%)    4.5% ( -14% -   28%) 0.175
>                        MedPhrase      214.87      (4.9%)      224.55      
> (4.8%)    4.5% (  -4% -   14%) 0.003
>                        LowPhrase      333.03      (3.8%)      348.43      
> (3.6%)    4.6% (  -2% -   12%) 0.000
>                HighTermMonthSort      159.92      (9.8%)      167.50     
> (14.8%)    4.7% ( -18% -   32%) 0.232
>                     OrNotHighMed      973.50      (6.0%)     1022.10      
> (6.0%)    5.0% (  -6% -   18%) 0.008
>      BrowseRandomLabelTaxoFacets       13.14     (11.1%)       13.83     
> (14.0%)    5.3% ( -17% -   34%) 0.186
>                         HighTerm     1682.54      (7.0%)     1786.66      
> (7.5%)    6.2% (  -7% -   22%) 0.007
>                       AndHighMed      277.66      (3.6%)      295.75      
> (4.3%)    6.5% (  -1% -   14%) 0.000
>             BrowseDateTaxoFacets       14.81     (12.9%)       15.78     
> (17.1%)    6.6% ( -20% -   42%) 0.170
>        BrowseDayOfYearTaxoFacets       14.90     (13.1%)       15.93     
> (17.4%)    6.9% ( -20% -   43%) 0.158
>                     OrNotHighLow     1255.52      (7.0%)     1344.26      
> (7.1%)    7.1% (  -6% -   22%) 0.002
>                        OrHighLow      972.15      (5.3%)     1056.13      
> (4.8%)    8.6% (  -1% -   19%) 0.000
>                           IntNRQ       99.91     (26.0%)      108.80     
> (19.2%)    8.9% ( -28% -   73%) 0.219
>            BrowseMonthSSDVFacets       18.62     (20.7%)       20.45     
> (25.0%)    9.8% ( -29% -   70%) 0.175
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to