Skip to content

Conversation

@shubhamsrkdev
Copy link
Contributor

Problem

Across clone and slices of MemorySegmentIndexInput the consecutivePrefetchHitCount was getting reset leading to repeated calls.

Solution

Added a shared prefetch counter, through reference - this should maintain count through clones and slices.

Fixes #15571

The benchmarks are looking good :

                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                          IntSet      814.31      (4.5%)      794.78      (6.2%)   -2.4% ( -12% -    8%) 0.159
                      TermDTSort      248.72      (5.8%)      245.11      (7.0%)   -1.5% ( -13% -   12%) 0.476
                 LowSloppyPhrase       38.85      (3.9%)       38.37      (4.7%)   -1.3% (  -9% -    7%) 0.360
            BrowseDateSSDVFacets        0.90      (8.4%)        0.89      (9.0%)   -0.8% ( -16% -   18%) 0.767
                 MedSloppyPhrase       45.58      (3.0%)       45.22      (3.4%)   -0.8% (  -6% -    5%) 0.445
                HighSloppyPhrase       12.27      (6.0%)       12.20      (5.9%)   -0.6% ( -11% -   12%) 0.749
                          IntNRQ      295.84      (1.7%)      294.19      (1.7%)   -0.6% (  -3% -    2%) 0.302
                         Respell       45.97      (2.5%)       45.77      (1.9%)   -0.4% (  -4% -    4%) 0.539
           BrowseMonthTaxoFacets        2.78      (2.0%)        2.77      (0.9%)   -0.4% (  -3% -    2%) 0.455
                    HighSpanNear       27.73      (1.5%)       27.63      (1.4%)   -0.3% (  -3% -    2%) 0.471
                          Fuzzy2       68.17      (2.6%)       67.95      (2.1%)   -0.3% (  -4% -    4%) 0.668
            HighIntervalsOrdered       32.46      (8.2%)       32.42      (9.3%)   -0.1% ( -16% -   18%) 0.965
                           range     3603.08      (4.7%)     3600.78      (4.9%)   -0.1% (  -9% -    9%) 0.966
     BrowseRandomLabelSSDVFacets        3.22      (8.7%)        3.22      (8.1%)   -0.0% ( -15% -   18%) 0.996
          OrHighMedDayTaxoFacets        4.69      (1.9%)        4.69      (1.9%)    0.0% (  -3% -    3%) 0.975
           HighTermDayOfYearSort      365.33      (1.4%)      365.41      (1.2%)    0.0% (  -2% -    2%) 0.959
                          Fuzzy1       70.44      (2.4%)       70.48      (1.8%)    0.1% (  -4% -    4%) 0.940
                        PKLookup      197.00      (1.7%)      197.17      (2.2%)    0.1% (  -3% -    4%) 0.893
     BrowseRandomLabelTaxoFacets        2.39      (1.9%)        2.39      (2.0%)    0.2% (  -3% -    4%) 0.753
            HighTermTitleBDVSort       63.91      (1.2%)       64.09      (1.0%)    0.3% (  -1% -    2%) 0.427
           BrowseMonthSSDVFacets        4.52      (6.4%)        4.53      (7.2%)    0.3% ( -12% -   14%) 0.883
       BrowseDayOfYearSSDVFacets        4.52      (8.1%)        4.53      (7.7%)    0.4% ( -14% -   17%) 0.888
             MedIntervalsOrdered       61.93      (4.5%)       62.17      (5.3%)    0.4% (  -9% -   10%) 0.811
                     MedSpanNear      149.61      (1.3%)      150.36      (1.0%)    0.5% (  -1% -    2%) 0.167
                     LowSpanNear      102.70      (1.2%)      103.25      (0.8%)    0.5% (  -1% -    2%) 0.099
         AndHighMedDayTaxoFacets       71.17      (0.8%)       71.56      (0.9%)    0.5% (  -1% -    2%) 0.053
             LowIntervalsOrdered      273.02      (3.2%)      274.68      (4.2%)    0.6% (  -6% -    8%) 0.608
                       LowPhrase       54.15      (2.4%)       54.48      (1.7%)    0.6% (  -3% -    4%) 0.349
        AndHighHighDayTaxoFacets       35.01      (0.9%)       35.28      (0.9%)    0.8% (  -1% -    2%) 0.006
            MedTermDayTaxoFacets       35.19      (1.2%)       35.51      (0.8%)    0.9% (  -1% -    2%) 0.003
       BrowseDayOfYearTaxoFacets        3.12      (4.1%)        3.15      (4.6%)    1.0% (  -7% -   10%) 0.480
            BrowseDateTaxoFacets        3.10      (4.1%)        3.13      (4.7%)    1.0% (  -7% -   10%) 0.456
                      HighPhrase       87.16      (2.9%)       88.09      (1.9%)    1.1% (  -3% -    6%) 0.176
                     AndHighHigh      261.20      (2.9%)      266.49      (2.8%)    2.0% (  -3% -    7%) 0.025
                       MedPhrase      256.22      (1.8%)      261.49      (1.5%)    2.1% (  -1% -    5%) 0.000
               HighTermMonthSort     1355.00      (2.3%)     1386.97      (3.3%)    2.4% (  -3% -    8%) 0.009
                    OrNotHighMed      585.83      (3.3%)      603.68      (3.9%)    3.0% (  -4% -   10%) 0.008
                      OrHighHigh      309.70      (5.2%)      319.44      (3.8%)    3.1% (  -5% -   12%) 0.029
                        Wildcard      815.29      (3.2%)      845.21      (2.9%)    3.7% (  -2% -   10%) 0.000
                       OrHighMed      626.92      (3.0%)      654.05      (2.1%)    4.3% (   0% -    9%) 0.000
               HighTermTitleSort      149.65      (2.8%)      156.38      (4.8%)    4.5% (  -3% -   12%) 0.000
                         MedTerm     1168.83      (4.1%)     1222.83      (5.0%)    4.6% (  -4% -   14%) 0.001
                   OrHighNotHigh      728.82      (3.9%)      762.67      (4.1%)    4.6% (  -3% -   13%) 0.000
                   OrNotHighHigh      867.08      (2.8%)      907.92      (3.7%)    4.7% (  -1% -   11%) 0.000
                        HighTerm      734.14      (5.8%)      769.02      (5.5%)    4.8% (  -6% -   16%) 0.008
                    OrHighNotMed      858.31      (3.1%)      901.62      (3.4%)    5.0% (  -1% -   11%) 0.000
                      AndHighMed      573.81      (2.6%)      603.39      (1.6%)    5.2% (   0% -    9%) 0.000
                    OrNotHighLow     1102.50      (2.7%)     1165.73      (2.8%)    5.7% (   0% -   11%) 0.000
                         LowTerm     1691.06      (3.5%)     1822.95      (3.7%)    7.8% (   0% -   15%) 0.000
                       OrHighLow     1074.51      (2.6%)     1159.81      (2.5%)    7.9% (   2% -   13%) 0.000
                    OrHighNotLow     1076.27      (4.0%)     1167.56      (5.4%)    8.5% (   0% -   18%) 0.000
                      AndHighLow     1250.35      (2.1%)     1374.26      (3.3%)    9.9% (   4% -   15%) 0.000
                         Prefix3      742.64     (16.9%)      861.01     (20.1%)   15.9% ( -18% -   63%) 0.007

@shubhamsrkdev shubhamsrkdev marked this pull request as ready for review January 16, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Share prefetch hit counter across slices/clones

1 participant