Skip to content

Optimise VectorAnd for step invariant expression#9577

Open
darshanime wants to merge 1 commit intoprometheus:mainfrom
darshanime:optimize_joins
Open

Optimise VectorAnd for step invariant expression#9577
darshanime wants to merge 1 commit intoprometheus:mainfrom
darshanime:optimize_joins

Conversation

@darshanime
Copy link
Contributor

closes #9368
Signed-off-by: darshanime deathbullet@gmail.com

@darshanime darshanime force-pushed the optimize_joins branch 4 times, most recently from b4bffb6 to 1b567e2 Compare October 24, 2021 07:09
@darshanime darshanime marked this pull request as ready for review October 24, 2021 07:50
@darshanime
Copy link
Contributor Author

there are similar opportunities to optimize VectorOr, VectorUnless and maybe elsewhere too...
will look into that if this looks good

@darshanime darshanime changed the title Optimise VectorAnd for step invariant series Optimise VectorAnd for step invariant expression Oct 24, 2021
Copy link
Member

@codesome codesome left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Could you please benchmark this change to see it in action? You might need additional test cases in existing benchmark if it does not exist yet.

@darshanime
Copy link
Contributor Author

benchmarks look great for the somewhat contrived queries:

rate(a_X[1m] @ start()) or rate(a_X[1m])
rate(a_X[1m]) unless rate(a_X[1m] @ start())

but good overall too...

see benchmark
benchmark                                                                                                              old ns/op       new ns/op       delta
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=10-12                                                                1331415         521372          -60.84%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=1-12                                                                 1130721         456700          -59.61%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=100-12                                                255612          104772          -59.01%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=1-12                                                  323835          133848          -58.67%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=10-12                                                 97785           40514           -58.57%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=100-12                                                               3563958         1479771         -58.48%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=1-12                                          2789163         1175406         -57.86%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=1-12                                                  81503           34572           -57.58%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=1000-12                                                              20807437        8878912         -57.33%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=1000-12                                               1594136         683827          -57.10%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=100-12                                                2104084         913280          -56.59%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=10-12                                                                    64319           28382           -55.87%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=10-12                                                 461107          204123          -55.73%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=1000-12                                                                  3597283         1594170         -55.68%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=1-12                                                                     48018           21350           -55.54%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=10-12                                         4237556         1896584         -55.24%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=1000-12                                               16528192        7411697         -55.16%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=10-12                                                  74637           33590           -55.00%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=10-12                                                                    163954          74059           -54.83%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=100-12                                                                   218469          101818          -53.39%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=100-12                                                                   488831          232907          -52.35%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=1-12                                                                     126252          60326           -52.22%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=1000-12                                                                  1689980         814135          -51.83%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=1000-12                                       169512531       82276697        -51.46%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=100-12                                        19777856        9711314         -50.90%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=100-12                                                 209459          105420          -49.67%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=1-12                                                   51078           26715           -47.70%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=1000-12                                                1401361         782545          -44.16%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=1-12                                                   125267          71963           -42.55%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=10-12                                                  157815          92847           -41.17%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=100-12                                                 555043          335455          -39.56%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1000-12                        33423683        20669163        -38.16%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=1000-12                                                3897947         2423183         -37.83%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=1-12                                               776183          516819          -33.42%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=10-12                                              981640          670158          -31.73%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1000-12                                3064840         2096917         -31.58%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=100-12                         4550706         3194092         -29.81%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1000-12                            54877943        38812508        -29.27%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=100-12                                             3573897         2534818         -29.07%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=100-12                             6919438         5002720         -27.70%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=1000-12                                                14321695705     10440053725     -27.10%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=100-12                                 477834          351528          -26.43%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1000-12                          586308          442876          -24.46%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=1000-12                                            24637059        18831991        -23.56%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1000-12                                    4924171         3776317         -23.31%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=100-12                                     678841          523893          -22.83%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1-12                             172382          133898          -22.32%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1000-12                          2655246         2070273         -22.03%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=10-12                    1442609         1131510         -21.57%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=100-12                           448698          353171          -21.29%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=100-12                           110537          87158           -21.15%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1-12                     1267412         1000285         -21.08%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=10-12                                  177513          140256          -20.99%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=1-12                                                       107666          85341           -20.74%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=10-12                            186203          148357          -20.33%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=100-12                   3650015         2911199         -20.24%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=100-12                                                     2260458         1808996         -19.97%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=1-12                61126           48934           -19.95%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1000-12                  22105815        17876267        -19.13%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=10-12                              1714027         1387673         -19.04%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=100-12                                     98885           80644           -18.45%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=10-12                            59165           48710           -17.67%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1000-12                                    526168          433234          -17.66%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1-12                                       45794           37772           -17.52%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1-12                                       158767          131462          -17.20%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=1-12                                           913077          756964          -17.10%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=10-12                                      197591          164697          -16.65%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=10-12                          1415003         1180918         -16.54%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=100-12                                                 348574820       291463346       -16.38%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=10-12                                      48924           41027           -16.14%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1000-12                                393785          330602          -16.05%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=100-12                                                  269668          226680          -15.94%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=10-12                                                   40801           34330           -15.86%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=10-12                                                   100515          84702           -15.73%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=10-12                                                      2795878         2363813         -15.45%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=100-12              292734          248396          -15.15%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=10-12               80674           68455           -15.15%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=10-12                                                      281399          238858          -15.12%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=100-12                                              2482370         2113584         -14.86%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1-12                                   147804          126210          -14.61%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=1000-12                                                    347123292       296833134       -14.49%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=100-12                                                     24089761        20659101        -14.24%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=10-12                                               784511          673914          -14.10%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=1000-12             2306692         1982635         -14.05%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=1-12                161599          139320          -13.79%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1-12                             52776           45595           -13.61%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=1-12                                                   11018454        9533294         -13.48%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=1-12                                                    83755           72613           -13.30%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=1000-12                                                 1660891         1443622         -13.08%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=1000-12                                             17063053        14866127        -12.88%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=1000-12                                                 807432          703876          -12.83%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=100-12                                 79999           69815           -12.73%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1-12                           1148224         1006050         -12.38%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=1-12                                                619630          544433          -12.14%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1-12                                   41702           36834           -11.67%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1-12                               1237247         1095350         -11.47%
BenchmarkRangeQuery/expr=-a_hundred,steps=1-12                                                                         537426          478011          -11.06%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=1000-12                                                             1145154908      1019986412      -10.93%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=1000-12                                                    21239042        18940619        -10.82%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=10-12               207772          185631          -10.66%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=10-12                                  44315           39660           -10.50%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=1-12                                              514834          460935          -10.47%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=1000-12                                                   867558          778763          -10.24%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=10-12                                                  32321294        29038817        -10.16%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=100-12                                         611490          550018          -10.05%
BenchmarkRangeQuery/expr=abs(a_one),steps=1-12                                                                         19151           17260           -9.87%
BenchmarkRangeQuery/expr=abs(a_one),steps=100-12                                                                       53955           48644           -9.84%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=1-12                                                       822848          743691          -9.62%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=1-12                                                      66817           60444           -9.54%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=1000-12                                        58011444        52518539        -9.47%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=100-12                                            1385592         1259566         -9.10%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=1-12        1138571         1037987         -8.83%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=1000-12                                           7654401         6981733         -8.79%
BenchmarkRangeQuery/expr=-a_ten,steps=10-12                                                                            65891           60128           -8.75%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=100-12                                                              163932377       149661533       -8.71%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=100-12                                                  111478          101784          -8.70%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=1-12                                                    30805           28140           -8.65%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=100-12                                                    162967          149074          -8.53%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=10-12                                                     73136           66969           -8.43%
BenchmarkRangeQuery/expr=-a_hundred,steps=100-12                                                                       1263814         1157501         -8.41%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=100-12                                                    96207           88337           -8.18%
BenchmarkRangeQuery/expr=-a_ten,steps=100-12                                                                           134894          124003          -8.07%
BenchmarkRangeQuery/expr=abs(a_one),steps=10-12                                                                        21918           20153           -8.05%
BenchmarkRangeQuery/expr=-a_ten,steps=1000-12                                                                          606663          557997          -8.02%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=100-12              776220          714147          -8.00%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=1-12                                                                      27420           25288           -7.78%
BenchmarkRangeQuery/expr=-a_hundred,steps=10-12                                                                        573464          528922          -7.77%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=1000-12                                                   384270          355006          -7.62%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=10-12                                         1134346         1048478         -7.57%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=100-12                                                                    86996           80437           -7.54%
BenchmarkRangeQuery/expr=abs(a_ten),steps=1-12                                                                         70798           65474           -7.52%
BenchmarkRangeQuery/expr=-a_ten,steps=1-12                                                                             60107           55741           -7.26%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=1000-12                                                                 109812098       101925430       -7.18%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=10-12                                                   58835270        54639439        -7.13%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=1000-12                                                     168838076       156872204       -7.09%
BenchmarkRangeQuery/expr=-a_hundred,steps=1000-12                                                                      5954804         5533434         -7.08%
BenchmarkRangeQuery/expr=abs(a_one),steps=1000-12                                                                      332915          309362          -7.07%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=10-12                                                     64131           59603           -7.06%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=10-12                                                    62262           57869           -7.06%
BenchmarkRangeQuery/expr=abs(a_ten),steps=10-12                                                                        99921           92906           -7.02%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=10-12                                                     22721           21150           -6.91%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=1-12                                                             76370           81978           +7.34%
BenchmarkRangeQuery/expr=-a_one,steps=100-12                                                                           23059           21488           -6.81%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=1-12                                                        656629          611987          -6.80%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=100-12                                                      7963602         7429027         -6.71%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=1000-12                               36664181        39286614        +7.15%
BenchmarkRangeQuery/expr=-a_one,steps=1-12                                                                             15706           14666           -6.62%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=10-12                                                     171396          160193          -6.54%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=100-12                                                  78946405        73802987        -6.52%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=100-12                                            5184141         4850644         -6.43%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=10-12                                                       5915840         5536868         -6.41%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=100-12                                                      872824          817066          -6.39%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=1000-12                                                   3755519         3516986         -6.35%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=1000-12                                                                 10956671        10266075        -6.30%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=10-12                                             1240859         1162762         -6.29%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=1-12                                                      20927           19626           -6.22%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=100-12                                         6468910         6067290         -6.21%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=1-12                                                    57198285        53653285        -6.20%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=10-12                                             563780          529334          -6.11%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=1-12                                                      139191          130704          -6.10%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=10-12                                                 151520          142516          -5.94%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=1000-12                                                     2871683         2701456         -5.93%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=1-12                                                      60052           56528           -5.87%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=10-12                                                    153223          144352          -5.79%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=100-12                                                            7968892         7515837         -5.69%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=1000-12                                                 273450657       258010526       -5.65%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=100-12                                                    41031           38723           -5.63%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=10-12                                                       675957          638186          -5.59%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=1000-12                                                                   576385          544591          -5.52%
BenchmarkRangeQuery/expr=a_hundred,steps=1-12                                                                          440894          466628          +5.84%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=1-12                                              888545          839883          -5.48%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=100-12                                                    526731          498101          -5.44%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=1000-12                                       29261784        27676226        -5.42%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=100-12                                                                  1677868         1587433         -5.39%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=1-12                                          833252          788528          -5.37%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=100-12                                                380734          360334          -5.36%
BenchmarkRangeQuery/expr=sum(a_one),steps=100-12                                                                       80204           84736           +5.65%
BenchmarkRangeQuery/expr=abs(a_ten),steps=100-12                                                                       406632          384899          -5.34%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=1000-12             5583537         5286508         -5.32%
BenchmarkRangeQuery/expr=-a_one,steps=1000-12                                                                          69393           65726           -5.28%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=1000-12                                                                  8786494         9272112         +5.53%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=10-12                                                            132571          139860          +5.50%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=1000-12                                                   198130          187860          -5.18%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=1-12                                                                     584183          554491          -5.08%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=100-12                                       4612974         4856622         +5.28%
BenchmarkRangeQuery/expr=abs(a_ten),steps=1000-12                                                                      3156869         2998970         -5.00%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=1-12                                                        5706733         5421546         -5.00%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=10-12                                                                    877301          833571          -4.98%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=10-12                                 940176          989449          +5.24%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=100-12                                                94029           89383           -4.94%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=1000-12                                                          115414904       109720614       -4.93%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=1-12                                                  59963           57026           -4.90%
BenchmarkRangeQuery/expr=sum(a_ten),steps=10-12                                                                        73190           76919           +5.09%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=100-12                                     64608443        61533467        -4.76%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=1000-12                                    536398507       511031523       -4.73%
BenchmarkRangeQuery/expr=-a_one,steps=10-12                                                                            16155           15402           -4.66%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=1-12                                             830383          792301          -4.59%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=1000-12                                                  240115          229105          -4.59%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=1-12                                                     132115          126152          -4.51%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=10000-12                                                                  62837808        60007157        -4.50%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=1000-12                                                           65590665        62655909        -4.47%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=1000-12                                               370492          354188          -4.40%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=100-12                                                                   1471197         1537662         +4.52%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=100-12                                                               2086024         1996364         -4.30%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=1-12                                                     58969           56446           -4.28%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=1-12                                                                      124192          118906          -4.26%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=10-12                                                                     32142           30785           -4.22%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=1-12                                  631755          659523          +4.40%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=10000-12                                                                1507177         1572723         +4.35%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=10-12                                                               562872          587317          +4.34%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=1000-12                                           41294808        39577021        -4.16%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=1000-12                                                                   5965677         5717947         -4.15%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=1000-12                                      39881716        41598280        +4.30%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=100-12                                                                  15631874        14986826        -4.13%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=1-12                                                                     481565          502226          +4.29%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=10-12                                     116816          121821          +4.28%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=10-12                                                                 615308          591015          -3.95%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=1000-12                                                     27564662        26479021        -3.94%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=1000-12                                                          15510812        16146716        +4.10%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=10-12                                                 61672           59283           -3.87%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=1-12                                      31670           30444           -3.87%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=1000-12                                                          6193568         6442952         +4.03%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=10-12                                        970634          1008644         +3.92%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=1-12                                                  130116          125249          -3.74%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=10000-12                                                                  5714969         5504012         -3.69%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=10-12                                                                    549536          570524          +3.82%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=10-12                                                               65721294        63306486        -3.67%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=10-12                                            1066136         1027259         -3.65%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=100-12                                                           2158929         2239629         +3.74%
BenchmarkRangeQuery/expr=a_hundred,steps=100-12                                                                        1088252         1128812         +3.73%
BenchmarkRangeQuery/expr=a_hundred,steps=1000-12                                                                       5301169         5497316         +3.70%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=100-12                                                   374742          361401          -3.56%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=1-12                                         645353          669137          +3.69%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=1000-12                                                              14635653        14128018        -3.47%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=1-12                                                                452797          468751          +3.52%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=1000-12                                                          1865748927      1931480722      +3.52%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=1-12                                                                    56657           58642           +3.50%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=1000-12                                                                 1353317         1400198         +3.46%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=1000-12                                                             13489831        13952406        +3.43%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=100-12                                    445721          460977          +3.42%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=10000-12                                                          706119732       683035841       -3.27%
BenchmarkRangeQuery/expr=sum(a_one),steps=10-12                                                                        24299           25115           +3.36%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=10-12                                                                 75027           72597           -3.24%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=10-12                                                           73852           76300           +3.31%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=100-12                                                                    745256          721496          -3.19%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=1-12                                                                  495278          479625          -3.16%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=10-12                                                           614393          634112          +3.21%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=100-12                                                       18706355        19306123        +3.21%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=1-12                                             25304           26114           +3.20%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=10000-12                                                                14913911        15371416        +3.07%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=10-12                                                                     180720          175348          -2.97%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=1-12                                           99015           96114           -2.93%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=1000-12                                                                 149069          153539          +3.00%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=1000-12                                   3554753         3660572         +2.98%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=10-12                                                             1693000         1644350         -2.87%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=100-12                                                   79087           76824           -2.86%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=100-12                                                                  209252          215400          +2.94%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=100-12                                                                1979838         1923438         -2.85%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=10-12                                                            75887936        73759049        -2.81%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=1000-12                                               2309554         2245162         -2.79%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=1000-12                                                           158475549       154145043       -2.73%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=1-12                                                         6151198         5985056         -2.70%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=1000-12                                          3870293         3976826         +2.75%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=1-12                                                             56312992        57816657        +2.67%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=1-12                                                             510632          524239          +2.66%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=100-12                                4444048         4560490         +2.62%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=1000-12                                                               13893723        13540716        -2.54%
BenchmarkRangeQuery/expr=sum(a_ten),steps=100-12                                                                       212330          217840          +2.60%
BenchmarkRangeQuery/expr=sum(a_ten),steps=1-12                                                                         61522           63116           +2.59%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=1-12                                                  807213          827922          +2.57%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=100-12                                                                  33804           34651           +2.51%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=10-12                                                                   67686           69319           +2.41%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=1000-12                                          28454536        27785582        -2.35%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=10-12                                                                   19345           19810           +2.40%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=100-12                                                          219071          224312          +2.39%
BenchmarkRangeQuery/expr=a_hundred,steps=10-12                                                                         478314          489753          +2.39%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=10-12                                                                615127          601109          -2.28%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=10-12                                            30941           31649           +2.29%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=100-12                                                              1983308         2028675         +2.29%
BenchmarkRangeQuery/expr=a_ten,steps=100-12                                                                            114591          117170          +2.25%
BenchmarkRangeQuery/expr=a_one,steps=10-12                                                                             13076           13369           +2.24%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=100-12                                                            23094908        23608443        +2.22%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=1-12                                      86069           87968           +2.21%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=1-12                                                                    18321           18725           +2.21%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=1-12                                                                 497730          487048          -2.15%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=100-12                                                           707929          723393          +2.18%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=1000-12                                                              18851879        19260276        +2.17%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=10-12                                                       7438882         7599827         +2.16%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=1-12                                                  6457573         6596406         +2.15%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=1-12                                                            61264           62560           +2.12%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=1000-12                                                               1433929         1404989         -2.02%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=1000-12                                                  2307191         2262952         -1.92%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=1-12                                                                 5625217         5734192         +1.94%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=1000-12                                                              187829080       191465504       +1.94%
BenchmarkRangeQuery/expr=a_ten,steps=1000-12                                                                           536931          547287          +1.93%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=1-12                                       8785040         8622124         -1.85%
BenchmarkRangeQuery/expr=sum(a_one),steps=1000-12                                                                      615907          627205          +1.83%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=1-12                                                                56072007        55080117        -1.77%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=1000-12                                                         1458458         1483544         +1.72%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=100-12                                                                216598          212960          -1.68%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=1000-12                                                              5317293         5406652         +1.68%
BenchmarkRangeQuery/expr=a_one,steps=1000-12                                                                           61264           62291           +1.68%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=10-12                                                                   6336828         6442803         +1.67%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=100-12                                            616926036       627218936       +1.67%
BenchmarkRangeQuery/expr=sum(a_ten),steps=1000-12                                                                      1404343         1427343         +1.64%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=100-12                                                               24439567        24086718        -1.44%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=10-12                                                                7495111         7386950         -1.44%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=1-12                                              63760876        64625251        +1.36%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=1000-12                                                      116359371       114839794       -1.31%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=1-12                                                              6206721         6126452         -1.29%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=1000-12                                        4423246         4480131         +1.29%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=100-12                                           3759993         3712458         -1.26%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=1000-12                                                                  32665393        32267421        -1.22%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=1-12                                                                    634130          627107          -1.11%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=10-12                                                                819936          810861          -1.11%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=100-12                                                      24015049        23758940        -1.07%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=10-12                                                             7347757         7425601         +1.06%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=100-12      5196157         5142001         -1.04%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=10000-12                                                            151692952       153228015       +1.01%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=1-12                                                                 639760          646183          +1.00%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=1000-12                                   493456          488652          -0.97%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=100-12                                                               617925          623851          +0.96%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=100-12                                           475413          470911          -0.95%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=1-12                                                        6095994         6153441         +0.94%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=100-12                                                           236450935       238671403       +0.94%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=1000-12     37830462        37480703        -0.92%
BenchmarkRangeQuery/expr=a_ten,steps=10-12                                                                             55168           55664           +0.90%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=10-12                                     35478           35168           -0.87%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=10-12       1427906         1415543         -0.87%
BenchmarkRangeQuery/expr=a_one,steps=1-12                                                                              12974           12863           -0.86%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=1-12                                                            489447          493601          +0.85%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=10-12                                      13297446        13408087        +0.83%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=10-12                                            115673          114726          -0.82%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=10-12                                                                   717918          723698          +0.81%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=10-12                                                                120154          119249          -0.75%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=1-12                                                                 72165           71667           -0.69%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=1-12                                                                    5574550         5536247         -0.69%
BenchmarkRangeQuery/expr=a_ten,steps=1-12                                                                              50216           50523           +0.61%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=100-12                                                               2478624         2463675         -0.60%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=100-12                                        3861827         3838984         -0.59%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=10-12                                                            651189          654902          +0.57%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=10-12                                          1221738         1214895         -0.56%
BenchmarkRangeQuery/expr=a_one,steps=100-12                                                                            19762           19656           -0.54%
BenchmarkRangeQuery/expr=sum(a_one),steps=1-12                                                                         19113           19206           +0.49%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=100-12                                                          2021592         2031001         +0.47%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=10-12                                                 1301995         1307311         +0.41%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=1000-12                                                         14673260        14614751        -0.40%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=1-12                                             81913           82237           +0.40%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=100-12                                                           18686405        18756932        +0.38%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=10-12                                                 11492026        11533407        +0.36%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=100-12                                                6362006         6339769         -0.35%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=1000-12                                               56802478        57001530        +0.35%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=100-12                                    78649           78403           -0.31%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=10-12                                                        6909485         6890390         -0.28%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=100-12                                                                   3860351         3849851         -0.27%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=10-12                                             113883548       114161133       +0.24%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=1-12                                                              1125156         1127807         +0.24%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=1000-12                                               565215946       563943029       -0.23%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=1000-12                                           5626168585      5637630801      +0.20%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=100-12                                           89588           89648           +0.07%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=10-12                                          135502          135578          +0.06%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=100-12                                                61781930        61816292        +0.06%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=1-12                                                             5924430         5926604         +0.04%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=10-12                                                            7017715         7016133         -0.02%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=1000-12                                          634417          634364          -0.01%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=1-12                                                                  62401           62403           +0.00%

benchmark                                                                                                              old allocs     new allocs     delta
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1000-12                        18636          10192          -45.31%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1000-12                            26028          17611          -32.34%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1000-12                                4071           3053           -25.01%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1000-12                                    5168           4151           -19.68%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=100-12                         6424           5584           -13.08%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=100-12                             7269           6425           -11.61%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=100-12                                 1065           967            -9.20%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=100-12                                     1186           1087           -8.35%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1-12                             339            345            +1.77%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=10-12                            360            366            +1.67%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=10-12                          4982           4902           -1.61%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=10-12                              5166           5085           -1.57%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=1-12                377            383            +1.59%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1-12                                   283            287            +1.41%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1-12                                       285            289            +1.40%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=10-12                                  301            305            +1.33%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=10-12                                      303            307            +1.32%
BenchmarkRangeQuery/expr=abs(a_one),steps=1-12                                                                         153            155            +1.31%
BenchmarkRangeQuery/expr=sum(a_one),steps=1-12                                                                         161            163            +1.24%
BenchmarkRangeQuery/expr=abs(a_one),steps=10-12                                                                        162            164            +1.23%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=10-12               521            527            +1.15%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=100-12                           550            556            +1.09%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=1-12                                                      184            186            +1.09%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=1-12                                                                     184            186            +1.09%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=1-12                                                   198            200            +1.01%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=10-12                                                     202            204            +0.99%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=1-12                                                                      216            218            +0.93%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=1-12                                                    222            224            +0.90%
BenchmarkRangeQuery/expr=sum(a_one),steps=10-12                                                                        224            226            +0.89%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=1-12                                             230            232            +0.87%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=10-12                                                                     234            236            +0.85%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=100-12                                 488            492            +0.82%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=100-12                                     490            494            +0.82%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=10-12                                  741            735            -0.81%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1-12                             752            758            +0.80%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=10-12                                      764            758            -0.79%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=10-12                                                                    256            258            +0.78%
BenchmarkRangeQuery/expr=abs(a_one),steps=100-12                                                                       257            259            +0.78%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=1-12                771            777            +0.78%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=10-12                            773            779            +0.78%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=10-12                                                   258            260            +0.78%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=10-12                                                  261            263            +0.77%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=1-12                                      270            272            +0.74%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=1-12                                                  283            285            +0.71%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=10-12                                            293            295            +0.68%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=1-12                                                     298            300            +0.67%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=1-12                                                      300            302            +0.67%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=1-12                                                  300            302            +0.67%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=10-12                                                 301            303            +0.66%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=10-12               933            939            +0.64%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=10-12                                     315            317            +0.63%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=10-12                                                    316            318            +0.63%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=10-12                                                     318            320            +0.63%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=10-12                                                 318            320            +0.63%
BenchmarkRangeQuery/expr=sum(a_ten),steps=1-12                                                                         319            321            +0.63%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=100-12                           1008           1014           +0.60%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=1-12                                                                  338            340            +0.59%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=1-12                                                            340            342            +0.59%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=1-12                                                                     342            344            +0.58%
BenchmarkRangeQuery/expr=abs(a_ten),steps=1-12                                                                         350            352            +0.57%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=1-12                                                      361            363            +0.55%
BenchmarkRangeQuery/expr=abs(a_ten),steps=10-12                                                                        369            371            +0.54%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=10-12                                                     379            381            +0.53%
BenchmarkRangeQuery/expr=sum(a_ten),steps=10-12                                                                        382            384            +0.52%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=1-12                                                    384            386            +0.52%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=100-12                                                    387            389            +0.52%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=1-12                                                   395            397            +0.51%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=1-12                                                                 400            402            +0.50%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=10-12                                                                 401            403            +0.50%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=10-12                                                   402            404            +0.50%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=10-12                                                           412            414            +0.49%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=10-12                                                                    414            416            +0.48%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=1-12                                                             422            424            +0.47%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=100-12                                                                    424            426            +0.47%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=1-12                                             445            447            +0.45%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=10-12                                                  467            469            +0.43%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1-12                                   714            717            +0.42%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1-12                                       727            730            +0.41%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=1-12                                           485            487            +0.41%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=100-12                                                491            493            +0.41%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=1-12                                      496            498            +0.40%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=100-12                                                   501            503            +0.40%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=100-12                                                    503            505            +0.40%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=100-12                                                503            505            +0.40%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=10-12                                            518            520            +0.39%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=1-12                                                       523            525            +0.38%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=10-12                                     551            553            +0.36%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=1-12                                                     586            588            +0.34%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=1-12                                                  586            588            +0.34%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=1-12                                                      595            597            +0.34%
BenchmarkRangeQuery/expr=abs(a_ten),steps=100-12                                                                       597            599            +0.34%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=100-12                                                    600            602            +0.33%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=10-12                                                    604            606            +0.33%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=10-12                                                 604            606            +0.33%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=1-12                                                                      609            611            +0.33%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=100-12                                                  628            630            +0.32%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=100-12                                                  630            632            +0.32%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=10-12                                                     632            634            +0.32%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=10-12                                                                     637            639            +0.31%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=100-12              1971           1977           +0.30%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=10-12                                                                700            702            +0.29%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=10-12                                          728            730            +0.27%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=1-12                                                  753            755            +0.27%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=100-12                                    770            772            +0.26%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=10-12                                                 781            783            +0.26%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1000-12                          2387           2393           +0.25%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=10-12                                                            821            823            +0.24%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=100-12                                                   846            848            +0.24%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=100-12                                                846            848            +0.24%
BenchmarkRangeQuery/expr=sum(a_one),steps=100-12                                                                       859            861            +0.23%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=100-12              2635           2641           +0.23%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=100-12                                                 896            898            +0.22%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=100-12                                           928            930            +0.22%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=100-12                                                                   981            983            +0.20%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=100-12                                                                    1001           1003           +0.20%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1000-12                          3097           3103           +0.19%
BenchmarkRangeQuery/expr=sum(a_ten),steps=100-12                                                                       1053           1055           +0.19%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=100-12                                                                1076           1078           +0.19%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=1000-12                                                           24210          24167          -0.18%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=100-12                                    1139           1141           +0.18%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=100-12                                                1145           1147           +0.17%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1000-12                                2322           2326           +0.17%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1000-12                                    2324           2328           +0.17%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=100-12                                                                   1175           1177           +0.17%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=100-12                                                          1177           1179           +0.17%
BenchmarkRangeQuery/expr=abs(a_one),steps=1000-12                                                                      1198           1200           +0.17%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=100-12                                                 1228           1230           +0.16%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=100-12                                           1286           1288           +0.16%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=1-12        4571           4578           +0.15%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=10-12                                                      1463           1465           +0.14%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1-12                     4732           4738           +0.13%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=10-12       4733           4739           +0.13%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=10-12                    4754           4760           +0.13%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=1000-12                                               4528           4533           +0.11%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=1-12                                  2772           2775           +0.11%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=1-12                                                                     1853           1855           +0.11%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=1000-12                                                              934            935            +0.11%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=1-12                                                                 1876           1878           +0.11%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=10-12                                                                    1916           1918           +0.10%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=100-12                                              2889           2892           +0.10%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=10-12                                                                1948           1950           +0.10%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=1000-12                                               1014           1013           -0.10%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=1-12                                              2075           2077           +0.10%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=1-12                                                                  2082           2084           +0.10%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=1-12                                                                 2087           2089           +0.10%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=10-12                                             2093           2095           +0.10%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=1-12                                                            2102           2104           +0.10%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=1-12                                                2109           2111           +0.09%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=1-12                                                             2109           2111           +0.09%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=100-12                                                    1064           1065           +0.09%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=10-12                                               2143           2145           +0.09%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=100-12                   5439           5444           +0.09%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=1000-12                                                   2228           2230           +0.09%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=1000-12                               19265          19248          -0.09%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=1-12                                                                     2266           2268           +0.09%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=1000-12                                                                   4581           4585           +0.09%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=1-12                                               2295           2297           +0.09%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=1000-12                                                                   2306           2308           +0.09%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=10-12                                                                    2341           2343           +0.09%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=1000-12                                                  2342           2344           +0.09%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=1000-12                                                   2344           2346           +0.09%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=1000-12                                               2344           2346           +0.09%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=1000-12                                               2353           2355           +0.08%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=10-12                                                                 2362           2364           +0.08%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=10-12                                              2367           2369           +0.08%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=100-12      7156           7162           +0.08%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=10-12                                                                2387           2389           +0.08%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1-12                           4888           4884           -0.08%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=10-12                                                           2472           2474           +0.08%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=1000-12                                      21013          21030          +0.08%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1-12                               5006           5002           -0.08%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=10-12                                                            2508           2510           +0.08%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=1-12                                         2541           2543           +0.08%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=10-12                                        2670           2672           +0.07%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=100-12                                            2674           2676           +0.07%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=1000-12                                                   2783           2785           +0.07%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=1000-12                                                 2873           2875           +0.07%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=10-12                                 2883           2885           +0.07%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=100-12                                                                   2947           2949           +0.07%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=100-12                                                               3069           3071           +0.07%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=100-12                                         3203           3205           +0.06%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=1-12                                           3207           3209           +0.06%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=1000-12                                                  3222           3224           +0.06%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=1000-12                                               3222           3224           +0.06%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=1-12                                             3224           3226           +0.06%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=1-12                                          3224           3226           +0.06%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=100-12                                                           4855           4858           +0.06%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=1-12                                              3286           3288           +0.06%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=10-12                                            3339           3341           +0.06%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=10-12                                         3339           3341           +0.06%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1000-12                  10048          10054          +0.06%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=10-12                                             3446           3448           +0.06%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=100-12                                             3488           3490           +0.06%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=1000-12                                   6998           7002           +0.06%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=1000-12                                                   5340           5337           -0.06%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=1-12                                                       3721           3723           +0.05%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=100-12                                                                5602           5605           +0.05%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=100-12                                                               3745           3747           +0.05%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=100-12                                                            6359           6356           -0.05%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=1000-12                                                 4310           4312           +0.05%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=100-12                                                          6612           6615           +0.05%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=1-12                                                              4429           4431           +0.05%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=1000-12                                       22236          22246          +0.04%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=10-12                                                             4532           4534           +0.04%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=10000-12                                                                  48497          48476          -0.04%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=100-12                                                           6938           6941           +0.04%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=100-12                                        7236           7239           +0.04%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=1-12                                          5307           5309           +0.04%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=1000-12                                   5311           5313           +0.04%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=1000-12             16433          16439          +0.04%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=100-12                                                               5828           5830           +0.03%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=10-12                                          6312           6314           +0.03%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=1000-12             19401          19407          +0.03%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=100-12                                                                   3490           3491           +0.03%
BenchmarkRangeQuery/expr=sum(a_one),steps=1000-12                                                                      7200           7202           +0.03%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=100-12                                                     10835          10838          +0.03%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=1000-12                                                7227           7229           +0.03%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=1000-12                                          7269           7271           +0.03%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=1000-12                                                                  14742          14746          +0.03%
BenchmarkRangeQuery/expr=sum(a_ten),steps=1000-12                                                                      7736           7738           +0.03%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=1000-12                                                               7797           7799           +0.03%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=10-12                                                      11924          11927          +0.03%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=1000-12                                                                  8222           8224           +0.02%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=1000-12                                           8265           8267           +0.02%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=1000-12                                                             78666          78647          -0.02%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=1000-12                                                8711           8713           +0.02%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=100-12                                       4358           4359           +0.02%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=1000-12                                                                  8758           8760           +0.02%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=100-12                                4393           4392           -0.02%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=1000-12                                                         8798           8800           +0.02%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=1000-12                                          8948           8950           +0.02%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=1000-12                                           27328          27322          -0.02%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=1000-12     28964          28970          +0.02%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=1000-12                                                    104574         104553         -0.02%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=1000-12                                             10127          10129          +0.02%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=100-12                                           5087           5088           +0.02%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=100-12                                        5088           5089           +0.02%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=10-12                                         5409           5410           +0.02%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=100-12                                            5650           5649           -0.02%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=1000-12                                                          98256          98239          -0.02%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=1000-12                                                                  13038          13040          +0.02%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=10000-12                                                          283631         283591         -0.01%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=10-12                                                                   7178           7177           -0.01%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=100-12                                                                  7277           7278           +0.01%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=1000-12                                                          51012          51019          +0.01%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=1000-12                                       23084          23087          +0.01%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=1000-12                                                     7977           7976           -0.01%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=1000-12                                                                 7981           7980           -0.01%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=1000-12                                                              34156          34160          +0.01%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=10000-12                                                                8644           8643           -0.01%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=100-12                                                           26624          26627          +0.01%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=100-12                                                       27733          27736          +0.01%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=100-12                                                            46350          46355          +0.01%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=100-12                                                     94429          94419          -0.01%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=1-12                                                             18922          18924          +0.01%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=1-12                                                         18944          18946          +0.01%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=1000-12                                                         47790          47795          +0.01%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=10-12                                                            19222          19224          +0.01%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=10-12                                                        19343          19345          +0.01%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=1-12                                                        19600          19602          +0.01%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=1000-12                                           78850          78842          -0.01%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=10-12                                                             21450          21452          +0.01%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=10000-12                                                                  21942          21944          +0.01%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=10-12                                                       22550          22552          +0.01%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=100-12                                                 921860         921784         -0.01%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=1000-12                                                    920495         920565         +0.01%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=1000-12                                            13493          13494          +0.01%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=1000-12                                        27925          27927          +0.01%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=1000-12                                                              14061          14062          +0.01%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=1000-12                                                     393085         393058         -0.01%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=1000-12                                                      109258         109252         -0.01%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=100-12                                         37812          37814          +0.01%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=1-12                                                              19401          19402          +0.01%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=100-12                                            71446          71449          +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=1000-12                                                 78355          78352          -0.00%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=1-12                                       30150          30151          +0.00%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=1000-12                                                9966037        9966339        +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=1-12                                                    70351          70349          -0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=10-12                                                               70361          70359          -0.00%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=1-12                                                   35473          35474          +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=100-12                                                  71350          71352          +0.00%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=1000-12                                                               37784          37783          -0.00%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=1000-12                                                              40005          40006          +0.00%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=1000-12                                                           292938         292931         -0.00%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=1000-12                                                          45172          45173          +0.00%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=100-12                                     372279         372287         +0.00%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=1000-12                                        352588         352595         +0.00%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=100-12                                                      56455          56454          -0.00%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=10-12                                      60850          60851          +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=10-12                                                   70350          70349          -0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=1-12                                                                70360          70359          -0.00%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=100-12                                                           71362          71361          -0.00%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=1000-12                                                          78668          78667          -0.00%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=1000-12                                    3484059        3484094        +0.00%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=10-12                                                  115531         115530         -0.00%
BenchmarkRangeQuery/expr=-a_hundred,steps=1-12                                                                         2128           2128           +0.00%
BenchmarkRangeQuery/expr=-a_hundred,steps=10-12                                                                        2128           2128           +0.00%
BenchmarkRangeQuery/expr=-a_hundred,steps=100-12                                                                       2529           2529           +0.00%
BenchmarkRangeQuery/expr=-a_hundred,steps=1000-12                                                                      6320           6320           +0.00%
BenchmarkRangeQuery/expr=-a_one,steps=1-12                                                                             134            134            +0.00%
BenchmarkRangeQuery/expr=-a_one,steps=10-12                                                                            134            134            +0.00%
BenchmarkRangeQuery/expr=-a_one,steps=100-12                                                                           139            139            +0.00%
BenchmarkRangeQuery/expr=-a_one,steps=1000-12                                                                          180            180            +0.00%
BenchmarkRangeQuery/expr=-a_ten,steps=1-12                                                                             319            319            +0.00%
BenchmarkRangeQuery/expr=-a_ten,steps=10-12                                                                            319            319            +0.00%
BenchmarkRangeQuery/expr=-a_ten,steps=100-12                                                                           360            360            +0.00%
BenchmarkRangeQuery/expr=-a_ten,steps=1000-12                                                                          743            743            +0.00%
BenchmarkRangeQuery/expr=a_hundred,steps=1-12                                                                          1707           1707           +0.00%
BenchmarkRangeQuery/expr=a_hundred,steps=10-12                                                                         1707           1707           +0.00%
BenchmarkRangeQuery/expr=a_hundred,steps=100-12                                                                        2108           2108           +0.00%
BenchmarkRangeQuery/expr=a_hundred,steps=1000-12                                                                       5899           5899           +0.00%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=1000-12                                          22245          22245          +0.00%
BenchmarkRangeQuery/expr=a_one,steps=1-12                                                                              116            116            +0.00%
BenchmarkRangeQuery/expr=a_one,steps=10-12                                                                             116            116            +0.00%
BenchmarkRangeQuery/expr=a_one,steps=100-12                                                                            121            121            +0.00%
BenchmarkRangeQuery/expr=a_one,steps=1000-12                                                                           162            162            +0.00%
BenchmarkRangeQuery/expr=a_ten,steps=1-12                                                                              264            264            +0.00%
BenchmarkRangeQuery/expr=a_ten,steps=10-12                                                                             264            264            +0.00%
BenchmarkRangeQuery/expr=a_ten,steps=100-12                                                                            305            305            +0.00%
BenchmarkRangeQuery/expr=a_ten,steps=1000-12                                                                           688            688            +0.00%
BenchmarkRangeQuery/expr=abs(a_ten),steps=1000-12                                                                      2858           2858           +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=1-12                                                        854            854            +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=10-12                                                       854            854            +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=100-12                                                      864            864            +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=1000-12                                                     934            934            +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=1-12                                                        7176           7176           +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=10-12                                                       7176           7176           +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=100-12                                                      7276           7276           +0.00%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=1-12                                                             70359          70359          +0.00%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=10-12                                                            70360          70360          +0.00%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=1-12                                                                 854            854            +0.00%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=10-12                                                                854            854            +0.00%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=100-12                                                               864            864            +0.00%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=1-12                                                                 7177           7177           +0.00%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=10-12                                                                7177           7177           +0.00%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=100-12                                                               7278           7278           +0.00%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=1000-12                                                              7987           7987           +0.00%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=1-12                                              70440          70440          +0.00%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=10-12                                             70441          70441          +0.00%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=1-12                                                  932            932            +0.00%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=10-12                                                 932            932            +0.00%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=100-12                                                942            942            +0.00%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=1-12                                                  7258           7258           +0.00%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=10-12                                                 7256           7256           +0.00%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=100-12                                                7353           7353           +0.00%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=1000-12                                               8067           8067           +0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=100-12                                                              71360          71360          +0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=1-12                                                                2149           2149           +0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=10-12                                                               2149           2149           +0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=100-12                                                              2550           2550           +0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=1000-12                                                             5354           5354           +0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=10000-12                                                            84874          84874          +0.00%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=1-12                                                                    854            854            +0.00%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=10-12                                                                   854            854            +0.00%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=100-12                                                                  864            864            +0.00%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=1000-12                                                                 934            934            +0.00%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=1-12                                                                    155            155            +0.00%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=10-12                                                                   155            155            +0.00%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=100-12                                                                  160            160            +0.00%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=1000-12                                                                 191            191            +0.00%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=10000-12                                                                1023           1023           +0.00%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=1-12                                                                    7177           7177           +0.00%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=1-12                                                                    340            340            +0.00%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=10-12                                                                   340            340            +0.00%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=100-12                                                                  381            381            +0.00%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=1000-12                                                                 664            664            +0.00%

benchmark                                                                                                              old bytes       new bytes       delta
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1000-12                        5828254         591328          -89.85%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1000-12                                406532          115429          -71.61%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1000-12                            7486069         2248670         -69.96%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=100-12                         870285          348396          -59.97%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1000-12                                    570619          279409          -51.03%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=100-12                             1047192         523496          -50.01%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=100-12                                 78884           50068           -36.53%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=100-12                                     96162           67243           -30.07%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=10-12                          379616          327922          -13.62%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=10-12                              406311          354315          -12.80%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=1000-12                                                             9169448         8567712         -6.56%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=10-12                                  46526           43944           -5.55%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=10-12                                      49071           46507           -5.23%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=1000-12                                                                 1079797         1136860         +5.28%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1-12                             16911           17380           +2.77%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=10-12                            17781           18259           +2.69%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1-12                                   14391           14743           +2.45%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1-12                                       14465           14815           +2.42%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=10-12                                      14895           15255           +2.42%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=10-12                                  14814           15170           +2.40%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=1000-12                                                 7644960         7487732         -2.06%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=100-12                           26039           26513           +1.82%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=100-12                                 19475           19827           +1.81%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=100-12                                     19571           19919           +1.78%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=100-12                                                              5367416         5456412         +1.66%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1-12                               343965          338877          -1.48%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=1-12                20319           20616           +1.46%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1-12                           332116          327432          -1.41%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=1-12                                                                     7972            8083            +1.39%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=1000-12                                                     1251232         1235204         -1.28%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=100-12                                                               1024462         1037714         +1.29%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=1-12                                                   9053            9157            +1.15%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=1-12                                                  15404           15573           +1.10%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=1-12                                             9780            9884            +1.06%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=10-12               28270           28543           +0.97%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1-12                             46458           46898           +0.95%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=10-12                                                  12789           12908           +0.93%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=10-12                                                                    12220           12333           +0.92%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=10-12                                                 15863           16009           +0.92%
BenchmarkRangeQuery/expr=sum(a_one),steps=1-12                                                                         7011            7075            +0.91%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=10-12                                            11437           11541           +0.91%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=10-12                            47351           47780           +0.91%
BenchmarkRangeQuery/expr=abs(a_one),steps=1-12                                                                         6578            6635            +0.87%
BenchmarkRangeQuery/expr=abs(a_one),steps=10-12                                                                        6795            6851            +0.82%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=100-12                                                                  1024076         1032018         +0.78%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=1000-12                                       3389489         3363594         -0.76%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=1-12                                      12534           12628           +0.75%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=1-12                                                      8827            8891            +0.73%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=100-12                                                20768           20916           +0.71%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=1-12                                                                    7107            7157            +0.70%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=10-12                                     13614           13709           +0.70%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=100-12                           57046           57442           +0.69%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=10-12                                                     9260            9323            +0.68%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=1-12                                                    5336926         5301322         -0.67%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=10-12                                                                   7112            7158            +0.65%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=10-12                                                   5349218         5315449         -0.63%
BenchmarkRangeQuery/expr=abs(a_one),steps=100-12                                                                       9244            9301            +0.62%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=100-12                                                                  588359          591881          +0.60%
BenchmarkRangeQuery/expr=sum(a_one),steps=10-12                                                                        10828           10892           +0.59%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=1-12                                                                     19455           19568           +0.58%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=1-12                49626           49913           +0.58%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=1-12                                                                      11524           11588           +0.56%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=100-12                                                                  7400            7441            +0.55%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=1-12                                                    11820           11884           +0.54%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=10-12                                                                     11956           12020           +0.54%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=1000-12                                                                 10175           10228           +0.52%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=1-12                                           28756           28904           +0.51%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=10-12                                                   13404           13469           +0.48%
BenchmarkRangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1000-12                                    67070           67384           +0.47%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=10-12                                                                    23993           24104           +0.46%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=10-12               58144           58409           +0.46%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=100-12                                                    13871           13934           +0.45%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=100-12                                                      1045254         1040536         -0.45%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1000-12                          150794          151474          +0.45%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=1-12                                                                5336516         5360112         +0.44%
BenchmarkRangeQuery/expr=rate(a_one[1m]),steps=10000-12                                                                87893           88260           +0.42%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=1-12                                             26351           26458           +0.41%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=100-12                                                 124453477       124955540       +0.40%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=10-12                                          39716           39876           +0.40%
BenchmarkRangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1000-12                          102325          102737          +0.40%
BenchmarkRangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1000-12                                67075           67341           +0.40%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=100-12                                                                    16853           16919           +0.39%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=100-12                                    24708           24802           +0.38%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=1-12                                                     20185           20261           +0.38%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=10-12                                                                   1024202         1020366         -0.37%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=100-12                                           28293           28396           +0.36%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=10-12                                            29475           29581           +0.36%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=10-12                                                  27773           27872           +0.36%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=100-12                                            6007456         6028596         +0.35%
BenchmarkRangeQuery/expr=sum(a_ten),steps=1-12                                                                         18495           18559           +0.35%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=1-12                                                   23723           23803           +0.34%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=1-12                                                            19805           19871           +0.33%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=1-12                                                                  19758           19823           +0.33%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=1-12                                      29506           29601           +0.32%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=1-12                                                      20894           20959           +0.31%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=100-12                                                                  21021           21086           +0.31%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=10-12                                                    20625           20688           +0.31%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=10-12                                     32054           32151           +0.30%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=1-12                                                        1019762         1016750         -0.30%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=100-12              108156          108476          +0.30%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=10-12                                                     21327           21390           +0.30%
BenchmarkRangeQuery/expr=sum(a_ten),steps=10-12                                                                        22598           22663           +0.29%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=10-12                                                 20688           20746           +0.28%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=10-12                                                   24400           24468           +0.28%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=1000-12                                                    124808498       124463966       -0.28%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=10-12                                                 49562           49696           +0.27%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=1-12                                                    23876           23940           +0.27%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=1-12                                                                 1019577         1016854         -0.27%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=10-12                                                     20676           20731           +0.27%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=10-12                                                           24129           24193           +0.27%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=100-12                                                    25310           25377           +0.26%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=1-12                                                      20255           20308           +0.26%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=10-12                                                                 23865           23927           +0.26%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=1-12                                                                 25172           25237           +0.26%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=1-12                                                             25700           25765           +0.25%
BenchmarkRangeQuery/expr=abs(a_ten),steps=1-12                                                                         21903           21958           +0.25%
BenchmarkRangeQuery/expr=abs(a_ten),steps=10-12                                                                        23584           23643           +0.25%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=1000-12                                            804184          802182          -0.25%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=1-12                                                                    18856           18902           +0.24%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=100-12                                                   25233           25293           +0.24%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=1000-12                                                              1195280         1192620         -0.22%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=100-12                                                    27811           27873           +0.22%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=1000-12                                               1248442         1245670         -0.22%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=100-12                                                               588188          589491          +0.22%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=1000-12                                                    9215131         9194920         -0.22%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=1-12                                                  47530           47634           +0.22%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=1000-12                                           9400432         9380472         -0.21%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=100-12                                                  29827           29890           +0.21%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=1-12                                                  38562           38643           +0.21%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=1-12                                                       31982           32049           +0.21%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=10-12                                                                   18858           18897           +0.21%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=100-12                                        678373          676978          -0.21%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=100-12                                                25300           25352           +0.21%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=100-12                                                                   55003           55114           +0.20%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=1000-12                                                              604341          605461          +0.19%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=100-12                                                  32115           32174           +0.18%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=1-12                                                        589414          588340          -0.18%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=100-12                                                 50604           50696           +0.18%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=1-12                                                      39844           39915           +0.18%
BenchmarkRangeQuery/expr=abs(a_one),steps=1000-12                                                                      34285           34345           +0.18%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=100-12                                           62867           62976           +0.17%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=100-12                                                           1999471         2002909         +0.17%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=100-12                                    59695           59797           +0.17%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=1000-12                                               126755          126966          +0.17%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=1-12                                                                      38496           38560           +0.17%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=10000-12                                                                625925          624921          -0.16%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1-12                     332015          332548          +0.16%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=10-12                                                    39033           39095           +0.16%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=100-12                                                                   71527           71639           +0.16%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=1000-12                                                  126726          126919          +0.15%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=1-12                                                  20271           20301           +0.15%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=1-12                                           229407          229745          +0.15%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=10-12                                                                     40532           40590           +0.14%
BenchmarkRangeQuery/expr=sum(a_one),steps=100-12                                                                       49289           49356           +0.14%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=100-12              147608          147808          +0.14%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=10-12                                      3565737         3561029         -0.13%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=10-12                                                                   590936          591712          +0.13%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=10-12                                                                50039           50104           +0.13%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=100-12                                                     11392367        11377648        -0.13%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=100-12                                                1639150         1637062         -0.13%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1-12                                   43476           43531           +0.13%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=1000-12                                                492123          491502          -0.13%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=100-12                                              271984          272327          +0.13%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=1000-12                                               314029          313636          -0.13%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=10-12                                              169192          169401          +0.12%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=10-12                                                            52943           53008           +0.12%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1000-12                  627865          628627          +0.12%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=100-12                                                            616561          615814          -0.12%
BenchmarkRangeQuery/expr=a_hundred,steps=1-12                                                                          98126           98008           -0.12%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=100-12                                        567780          567112          -0.12%
BenchmarkRangeQuery/expr=abs(a_ten),steps=100-12                                                                       42582           42632           +0.12%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=100-12                                                      590768          591459          +0.12%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=10-12                                                                589106          588421          -0.12%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=1000-12                                                              886391          885386          -0.11%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=1-12                                                     38611           38654           +0.11%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=10-12                    333305          333675          +0.11%
BenchmarkRangeQuery/expr=a_one_and_b_one{l='notfound'},steps=1000-12                                                   60523           60590           +0.11%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=1-12                                               165196          165376          +0.11%
BenchmarkRangeQuery/expr=a_one_and_b_one{l=~'.*[0-4]$'},steps=1000-12                                                  71966           72043           +0.11%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m])),steps=100-12                                             230670          230916          +0.11%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=1000-12                                                          9175056         9165504         -0.10%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=1000-12     1652947         1654659         +0.10%
BenchmarkRangeQuery/expr=rate(a_ten[1m]),steps=1000-12                                                                 38750           38790           +0.10%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=100-12                                                                    65172           65239           +0.10%
BenchmarkRangeQuery/expr=sum(a_ten),steps=100-12                                                                       65812           65877           +0.10%
BenchmarkRangeQuery/expr=a_one_unless_b_one{l=~'.*[0-4]$'},steps=1000-12                                               72028           72098           +0.10%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=10000-12                                                          38106460        38069524        -0.10%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=100-12                                                                67290           67354           +0.10%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=10-12                                                     44381           44422           +0.09%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=10-12                                                 39017           39053           +0.09%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l=~'.*[0-4]$'},steps=100-12                                                   46629           46672           +0.09%
BenchmarkRangeQuery/expr=a_ten_unless_b_ten{l=~'.*[0-4]$'},steps=100-12                                                46646           46689           +0.09%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=1000-12                                                                   316569          316860          +0.09%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=100-12                                                          69714           69778           +0.09%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=10-12                                                       589001          589512          +0.09%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=1-12                                                                 129781          129891          +0.08%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m])),steps=100-12                                                 70394           70451           +0.08%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=10-12                                             5942373         5947106         +0.08%
BenchmarkRangeQuery/expr=a_one_or_b_one{l=~'.*[0-4]$'},steps=1000-12                                                   71991           72048           +0.08%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=1000-12                                                                   66938           66990           +0.08%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=10-12                                                      1362657         1363711         +0.08%
BenchmarkRangeQuery/expr=a_ten_+_on(l)_group_right_a_one,steps=1000-12                                                 112190          112276          +0.08%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=1-12        332675          332930          +0.08%
BenchmarkRangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1-12                                       44567           44601           +0.08%
BenchmarkRangeQuery/expr=holt_winters(a_hundred[1d],_0.3,_0.3),steps=1-12                                              5935450         5931250         -0.07%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=1-12                                                        1522603         1523680         +0.07%
BenchmarkRangeQuery/expr=a_ten_and_b_ten{l='notfound'},steps=1000-12                                                   95210           95277           +0.07%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=100-12                                                    92927           92992           +0.07%
BenchmarkRangeQuery/expr=label_replace(a_one,_'l2',_'$1',_'l',_'(.*)'),steps=1000-12                                   136198          136292          +0.07%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=1000-12                                           7529391         7524252         -0.07%
BenchmarkRangeQuery/expr=rate(a_one[1m])_+_rate(b_one[1m]),steps=1000-12                                               69816           69769           -0.07%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=100-12                                                           5490793         5487102         -0.07%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=1-12                                                  1219658         1220458         +0.07%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=10-12       341196          341415          +0.06%
BenchmarkRangeQuery/expr=-a_one,steps=1000-12                                                                          9372            9366            -0.06%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=100-12                                                              155338          155240          -0.06%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=1-12                                          218391          218528          +0.06%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=1-12                                         191124          191240          +0.06%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=1000-12                                      2269670         2271031         +0.06%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=1000-12                                                                  2092111         2093345         +0.06%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=100-12                   357193          357403          +0.06%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=10-12                                         399462          399695          +0.06%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=10-12                                 214016          214140          +0.06%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=100-12                                            163096          163190          +0.06%
BenchmarkRangeQuery/expr=a_ten_or_b_ten{l=~'.*[0-4]$'},steps=1000-12                                                   581585          581918          +0.06%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=10-12                                                                    132926          133000          +0.06%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=1-12                                  198122          198231          +0.06%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=10-12                                                                134359          134431          +0.05%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=1-12                                                                     128824          128889          +0.05%
BenchmarkRangeQuery/expr=label_replace(a_ten,_'l2',_'$1',_'l',_'(.*)'),steps=1000-12                                   338563          338733          +0.05%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=1-12                                              137462          137531          +0.05%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=10-12                                                      127251          127313          +0.05%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_hundred[1m]))_/_sum_without_(l)(rate(b_hundred[1m])),steps=100-12      468174          468401          +0.05%
BenchmarkRangeQuery/expr=label_join(a_one,_'l2',_'-',_'l',_'l'),steps=1000-12                                          197403          197497          +0.05%
BenchmarkRangeQuery/expr=a_ten_-_b_ten,steps=10000-12                                                                  3508918         3507267         -0.05%
BenchmarkRangeQuery/expr=changes(a_ten[1d]),steps=10-12                                                                1016977         1016509         -0.05%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=10-12                                             137894          137957          +0.05%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=100-12                                         151777          151846          +0.05%
BenchmarkRangeQuery/expr=topk(1,_a_hundred),steps=100-12                                                               200610          200701          +0.05%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=1-12                                                                    589822          590089          +0.05%
BenchmarkRangeQuery/expr=count_values('value',_h_ten),steps=1-12                                                       320100          319956          -0.04%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=10-12                                        207588          207680          +0.04%
BenchmarkRangeQuery/expr=label_join(a_ten,_'l2',_'-',_'l',_'l'),steps=1000-12                                          399365          399538          +0.04%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=100-12                                                       2026897         2026025         -0.04%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=100-12                                         1745527         1746275         +0.04%
BenchmarkRangeQuery/expr=rate(a_ten[1d]),steps=1-12                                                                    1019831         1020266         +0.04%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=1-12                                                                  157412          157479          +0.04%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=1-12                                                                 157943          158010          +0.04%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=10-12                                                            1489616         1488987         -0.04%
BenchmarkRangeQuery/expr=rate(a_hundred[1d]),steps=10-12                                                               5340733         5338498         -0.04%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=1-12                                                              1518882         1518249         -0.04%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=10-12                                                            188884          188962          +0.04%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=10-12                                                               134384          134439          +0.04%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=10-12                                                           186255          186331          +0.04%
BenchmarkRangeQuery/expr=a_one,steps=10-12                                                                             4971            4973            +0.04%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=100-12                                           567082          567303          +0.04%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=10-12                                                        1492417         1491838         -0.04%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=1000-12                               2213793         2212955         -0.04%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=1-12                                                              316006          316125          +0.04%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=1000-12                                             1320340         1320837         +0.04%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=1-12                                                   3101803         3100658         -0.04%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=1-12                                                            157896          157954          +0.04%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=10-12                                                                 183608          183675          +0.04%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=10-12                                            247262          247350          +0.04%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_ten[1m]))_/_sum_without_(l)(rate(b_ten[1m])),steps=1000-12             1033304         1033666         +0.04%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m]))_/_sum_without_(l)(rate(b_one[1m])),steps=1000-12             906596          906911          +0.03%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=1000-12                                                           3431113         3429925         -0.03%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=100-12                                                           327732          327844          +0.03%
BenchmarkRangeQuery/expr=a_one_+_on(l)_group_right_a_one,steps=1000-12                                                 195140          195206          +0.03%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=1-12                                                             158478          158528          +0.03%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=10-12                                               169544          169595          +0.03%
BenchmarkRangeQuery/expr=-a_ten,steps=1000-12                                                                          43738           43725           -0.03%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=1-12                                                         1461793         1461381         -0.03%
BenchmarkRangeQuery/expr=topk(1,_a_one),steps=1000-12                                                                  483346          483477          +0.03%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=10-12                                          365429          365331          -0.03%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=1000-12                                          3801932         3800921         -0.03%
BenchmarkRangeQuery/expr=count_values('value',_h_one),steps=100-12                                                     998725          998461          -0.03%
BenchmarkRangeQuery/expr=sum_without_(l)(rate(a_one[1m])),steps=1000-12                                                428387          428276          -0.03%
BenchmarkRangeQuery/expr=absent_over_time(a_one[1d]),steps=1000-12                                                     611201          611044          -0.03%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=100-12                                                      4809091         4807878         -0.03%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=100-12                                     17401209        17397018        -0.02%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=10-12                                                                185996          186039          +0.02%
BenchmarkRangeQuery/expr=a_one,steps=1000-12                                                                           8687            8689            +0.02%
BenchmarkRangeQuery/expr=sum_by_(l)(h_one),steps=1000-12                                                               504302          504416          +0.02%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=1-12                                                                     174676          174715          +0.02%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=100-12                                                               301097          301161          +0.02%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=1000-12                                                             322807          322875          +0.02%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=10-12                                                  12855186        12857867        +0.02%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=100-12                                                                   194888          194926          +0.02%
BenchmarkRangeQuery/expr=a_hundred_-_b_hundred,steps=10-12                                                             339506          339571          +0.02%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=100-12                                                          492798          492889          +0.02%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l=~'.*[0-4]$'},steps=1-12                                             218497          218537          +0.02%
BenchmarkRangeQuery/expr=-a_one,steps=10-12                                                                            5651            5650            -0.02%
BenchmarkRangeQuery/expr=rate(a_ten[1m])_+_rate(b_ten[1m]),steps=100-12                                                74445           74458           +0.02%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=1-12                                       2203308         2202931         -0.02%
BenchmarkRangeQuery/expr=-a_one,steps=100-12                                                                           5939            5938            -0.02%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=1000-12                                                          7335762         7336979         +0.02%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=10-12                                                 1651188         1650918         -0.02%
BenchmarkRangeQuery/expr=sum(a_ten),steps=1000-12                                                                      500535          500612          +0.02%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=100-12                                            946889          947034          +0.02%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=10-12                                                             1774235         1774488         +0.01%
BenchmarkRangeQuery/expr=a_hundred_+_on(l)_group_right_a_one,steps=1-12                                                161441          161464          +0.01%
BenchmarkRangeQuery/expr=sum_without_(le)(h_one),steps=1000-12                                                         528353          528427          +0.01%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=10-12                                                            5348986         5349707         +0.01%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=100-12                                                               489355          489420          +0.01%
BenchmarkRangeQuery/expr=sum(a_hundred),steps=1000-12                                                                  836306          836195          -0.01%
BenchmarkRangeQuery/expr=topk(1,_a_ten),steps=1000-12                                                                  549512          549584          +0.01%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=100-12                                                                   360686          360639          -0.01%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=1000-12                                                          3811995         3812487         +0.01%
BenchmarkRangeQuery/expr=a_ten,steps=100-12                                                                            15710           15712           +0.01%
BenchmarkRangeQuery/expr=a_ten,steps=1000-12                                                                           39891           39896           +0.01%
BenchmarkRangeQuery/expr=changes(a_one[1d]),steps=1-12                                                                 588590          588662          +0.01%
BenchmarkRangeQuery/expr=sum_without_(l)(h_hundred),steps=1000-12                                                      7601010         7600106         -0.01%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=100-12                                                                468607          468662          +0.01%
BenchmarkRangeQuery/expr=sum_without_(l)(h_ten),steps=100-12                                                           516003          516056          +0.01%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=10-12                                                       1800275         1800455         +0.01%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=1-12                                                  1648801         1648963         +0.01%
BenchmarkRangeQuery/expr=rate(a_one[1d]),steps=1000-12                                                                 600116          600168          +0.01%
BenchmarkRangeQuery/expr=-a_hundred,steps=1000-12                                                                      384440          384473          +0.01%
BenchmarkRangeQuery/expr=sum(a_one),steps=1000-12                                                                      434453          434490          +0.01%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=100-12                                                            4563898         4563511         -0.01%
BenchmarkRangeQuery/expr=-a_hundred,steps=10-12                                                                        132710          132699          -0.01%
BenchmarkRangeQuery/expr=-a_hundred,steps=1-12                                                                         132701          132712          +0.01%
BenchmarkRangeQuery/expr=a_hundred,steps=10-12                                                                         97877           97869           -0.01%
BenchmarkRangeQuery/expr=-a_hundred,steps=100-12                                                                       153597          153585          -0.01%
BenchmarkRangeQuery/expr=sum_without_(le)(h_hundred),steps=1000-12                                                     35077115        35074388        -0.01%
BenchmarkRangeQuery/expr=absent_over_time(a_hundred[1d]),steps=100-12                                                  5583342         5582928         -0.01%
BenchmarkRangeQuery/expr=holt_winters(a_ten[1d],_0.3,_0.3),steps=1000-12                                               1726300         1726428         +0.01%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=1-12                                              230151          230135          -0.01%
BenchmarkRangeQuery/expr=label_join(a_hundred,_'l2',_'-',_'l',_'l'),steps=100-12                                       393061          393035          -0.01%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=10-12                                                 1220908         1220988         +0.01%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_one[5m])),steps=1000-12                                        1274282         1274202         -0.01%
BenchmarkRangeQuery/expr=holt_winters(a_one[1d],_0.3,_0.3),steps=100-12                                                1222632         1222558         -0.01%
BenchmarkRangeQuery/expr=sum_by_(l)(h_ten),steps=1000-12                                                               3343384         3343184         -0.01%
BenchmarkRangeQuery/expr=-a_ten,steps=10-12                                                                            17377           17376           -0.01%
BenchmarkRangeQuery/expr=-a_ten,steps=1-12                                                                             17378           17377           -0.01%
BenchmarkRangeQuery/expr=abs(a_ten),steps=1000-12                                                                      235119          235131          +0.01%
BenchmarkRangeQuery/expr=a_hundred,steps=100-12                                                                        118769          118763          -0.01%
BenchmarkRangeQuery/expr=rate(a_hundred[1m])_+_rate(b_hundred[1m]),steps=1-12                                          376079          376097          +0.00%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=1000-12                                       3799872         3799706         -0.00%
BenchmarkRangeQuery/expr=a_hundred_unless_b_hundred{l=~'.*[0-4]$'},steps=10-12                                         247255          247245          -0.00%
BenchmarkRangeQuery/expr=sum_by_(le)(h_hundred),steps=1-12                                                             1461770         1461711         -0.00%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_hundred[5m])),steps=1000-12                                    155588532       155582328       -0.00%
BenchmarkRangeQuery/expr=sum_without_(le)(h_ten),steps=1000-12                                                         3583637         3583775         +0.00%
BenchmarkRangeQuery/expr=label_replace(a_hundred,_'l2',_'$1',_'l',_'(.*)'),steps=100-12                                393660          393645          -0.00%
BenchmarkRangeQuery/expr=sum_by_(le)(h_one),steps=1000-12                                                              2814090         2814176         +0.00%
BenchmarkRangeQuery/expr=a_one_-_b_one,steps=10000-12                                                                  654053          654071          +0.00%
BenchmarkRangeQuery/expr=a_hundred_or_b_hundred{l=~'.*[0-4]$'},steps=10-12                                             292389          292381          -0.00%
BenchmarkRangeQuery/expr=histogram_quantile(0.9,_rate(h_ten[5m])),steps=1000-12                                        15569001        15568584        -0.00%
BenchmarkRangeQuery/expr=sum_without_(l)(h_one),steps=1000-12                                                          3078696         3078614         -0.00%
BenchmarkRangeQuery/expr=sum_by_(le)(h_ten),steps=1000-12                                                              3548019         3548111         +0.00%
BenchmarkRangeQuery/expr=a_hundred,steps=1000-12                                                                       349552          349559          +0.00%
BenchmarkRangeQuery/expr=absent_over_time(a_ten[1d]),steps=10-12                                                       1021308         1021291         -0.00%
BenchmarkRangeQuery/expr=abs(a_hundred),steps=10-12                                                                    189702          189705          +0.00%
BenchmarkRangeQuery/expr=changes(a_hundred[1d]),steps=1-12                                                             5332761         5332843         +0.00%
BenchmarkRangeQuery/expr=a_hundred_and_b_hundred{l='notfound'},steps=1000-12                                           437197          437202          +0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=1-12                                                                134381          134382          +0.00%
BenchmarkRangeQuery/expr=sum_by_(l)(h_hundred),steps=1000-12                                                           32670068        32670281        +0.00%
BenchmarkRangeQuery/expr=count_values('value',_h_hundred),steps=1000-12                                                17449497048     17449553472     +0.00%
BenchmarkRangeQuery/expr=rate(a_hundred[1m]),steps=10000-12                                                            5972985         5973003         +0.00%
BenchmarkRangeQuery/expr=-a_one,steps=1-12                                                                             5650            5650            +0.00%
BenchmarkRangeQuery/expr=-a_ten,steps=100-12                                                                           19539           19539           +0.00%
BenchmarkRangeQuery/expr=a_one,steps=1-12                                                                              4975            4975            +0.00%
BenchmarkRangeQuery/expr=a_one,steps=100-12                                                                            5260            5260            +0.00%
BenchmarkRangeQuery/expr=a_ten,steps=1-12                                                                              13549           13549           +0.00%
BenchmarkRangeQuery/expr=a_ten,steps=10-12                                                                             13549           13549           +0.00%

@stale stale bot added the stale label Jan 8, 2022
@beorn7
Copy link
Member

beorn7 commented Aug 15, 2023

@codesome (and maybe @bboreham ), we have run into this during the bug scrub, and it seems to us this is kind-of good to go. Would you agree? Of course, by now, it needs a rebase. @darshanime would you be able to do that?

@agoode
Copy link

agoode commented Dec 24, 2023

If I understand it correctly, this kind of optimization would be very helpful for Home Assistant users, since the current method for filtering out unavailable values is very expensive and needs a recorded rule to be efficient.

https://www.home-assistant.io/integrations/prometheus/#metrics-in-unavailable-or-unknown-states

@bboreham
Copy link
Member

Discussed at the bug scrub. I will take a closer look.

@bboreham bboreham self-assigned this Jan 23, 2024
@darshanime
Copy link
Contributor Author

darshanime commented Jan 28, 2024

rebased. this patch adds some optimizations for the Vector{And, Or, Unless} functions.

relevant benchmarks

go test -bench=BenchmarkRangeQuery -run=- -count 5 | tee main
go test -bench=BenchmarkRangeQuery -run=- -count 5 | tee optimize_joins
benchstat main optimize_joins
see benchmark
$ benchstat main optimize_joins
goos: darwin
goarch: arm64
pkg: github.com/prometheus/prometheus/promql
                                                                                             │     main      │           optimize_joins            │
                                                                                             │    sec/op     │    sec/op     vs base               │
RangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1-10               21.16µ ± ∞ ¹   21.87µ ± ∞ ¹   +3.35% (p=0.016 n=5)
RangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=100-10             44.69µ ± ∞ ¹   45.12µ ± ∞ ¹        ~ (p=0.222 n=5)
RangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1000-10            226.3µ ± ∞ ¹   219.6µ ± ∞ ¹   -2.98% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1-10               60.72µ ± ∞ ¹   62.41µ ± ∞ ¹   +2.77% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=100-10             169.1µ ± ∞ ¹   172.6µ ± ∞ ¹        ~ (p=0.056 n=5)
RangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1000-10            1.007m ± ∞ ¹   1.004m ± ∞ ¹        ~ (p=0.690 n=5)
RangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1-10       442.7µ ± ∞ ¹   448.0µ ± ∞ ¹   +1.21% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=100-10     1.376m ± ∞ ¹   1.405m ± ∞ ¹   +2.08% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1000-10    8.398m ± ∞ ¹   8.735m ± ∞ ¹   +4.02% (p=0.032 n=5)
RangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1-10                         17.83µ ± ∞ ¹   17.93µ ± ∞ ¹        ~ (p=0.095 n=5)
RangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=100-10                       40.92µ ± ∞ ¹   40.57µ ± ∞ ¹        ~ (p=0.397 n=5)
RangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1000-10                      215.4µ ± ∞ ¹   213.8µ ± ∞ ¹   -0.74% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1-10                         58.80µ ± ∞ ¹   60.49µ ± ∞ ¹   +2.88% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=100-10                       254.5µ ± ∞ ¹   225.8µ ± ∞ ¹  -11.28% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1000-10                      1.888m ± ∞ ¹   1.616m ± ∞ ¹  -14.39% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1-10                 477.3µ ± ∞ ¹   497.7µ ± ∞ ¹   +4.27% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=100-10               2.893m ± ∞ ¹   2.113m ± ∞ ¹  -26.94% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1000-10              23.75m ± ∞ ¹   15.66m ± ∞ ¹  -34.07% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1-10                     17.80µ ± ∞ ¹   17.72µ ± ∞ ¹        ~ (p=0.841 n=5)
RangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=100-10                   36.31µ ± ∞ ¹   36.38µ ± ∞ ¹        ~ (p=1.000 n=5)
RangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1000-10                  174.1µ ± ∞ ¹   176.0µ ± ∞ ¹        ~ (p=0.151 n=5)
RangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1-10                     57.02µ ± ∞ ¹   57.70µ ± ∞ ¹        ~ (p=0.056 n=5)
RangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=100-10                   199.2µ ± ∞ ¹   169.3µ ± ∞ ¹  -15.05% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1000-10                  1.346m ± ∞ ¹   1.030m ± ∞ ¹  -23.44% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1-10             453.3µ ± ∞ ¹   453.3µ ± ∞ ¹        ~ (p=1.000 n=5)
RangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=100-10           2.261m ± ∞ ¹   1.509m ± ∞ ¹  -33.27% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1000-10         17.333m ± ∞ ¹   9.947m ± ∞ ¹  -42.61% (p=0.008 n=5)
geomean                                                                                         321.7µ         296.7µ         -7.78%
¹ need >= 6 samples for confidence interval at level 0.95

                                                                                             │      main       │            optimize_joins            │
                                                                                             │      B/op       │     B/op       vs base               │
RangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1-10                19.48Ki ± ∞ ¹   19.93Ki ± ∞ ¹   +2.33% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=100-10              28.86Ki ± ∞ ¹   29.32Ki ± ∞ ¹   +1.57% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1000-10             122.4Ki ± ∞ ¹   122.9Ki ± ∞ ¹   +0.38% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1-10                39.41Ki ± ∞ ¹   39.86Ki ± ∞ ¹   +1.15% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=100-10              53.71Ki ± ∞ ¹   54.17Ki ± ∞ ¹   +0.85% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1000-10             169.8Ki ± ∞ ¹   170.2Ki ± ∞ ¹   +0.26% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1-10        256.3Ki ± ∞ ¹   256.8Ki ± ∞ ¹   +0.18% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=100-10      318.2Ki ± ∞ ¹   318.7Ki ± ∞ ¹   +0.16% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1000-10     654.1Ki ± ∞ ¹   654.5Ki ± ∞ ¹   +0.06% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1-10                          16.16Ki ± ∞ ¹   16.51Ki ± ∞ ¹   +2.13% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=100-10                        21.61Ki ± ∞ ¹   21.95Ki ± ∞ ¹   +1.60% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1000-10                       69.85Ki ± ∞ ¹   70.20Ki ± ∞ ¹   +0.51% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1-10                          35.32Ki ± ∞ ¹   35.38Ki ± ∞ ¹   +0.16% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=100-10                        73.86Ki ± ∞ ¹   45.75Ki ± ∞ ¹  -38.06% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1000-10                       400.7Ki ± ∞ ¹   116.6Ki ± ∞ ¹  -70.91% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1-10                  251.9Ki ± ∞ ¹   242.1Ki ± ∞ ¹   -3.93% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=100-10               1321.0Ki ± ∞ ¹   299.9Ki ± ∞ ¹  -77.30% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1000-10             10797.5Ki ± ∞ ¹   590.9Ki ± ∞ ¹  -94.53% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1-10                      16.10Ki ± ∞ ¹   16.44Ki ± ∞ ¹   +2.14% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=100-10                    21.55Ki ± ∞ ¹   21.89Ki ± ∞ ¹   +1.60% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1000-10                   69.99Ki ± ∞ ¹   70.34Ki ± ∞ ¹   +0.50% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1-10                      34.57Ki ± ∞ ¹   34.63Ki ± ∞ ¹   +0.17% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=100-10                    73.13Ki ± ∞ ¹   45.01Ki ± ∞ ¹  -38.46% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1000-10                   400.3Ki ± ∞ ¹   115.9Ki ± ∞ ¹  -71.05% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1-10              243.7Ki ± ∞ ¹   233.8Ki ± ∞ ¹   -4.05% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=100-10           1312.0Ki ± ∞ ¹   291.7Ki ± ∞ ¹  -77.77% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1000-10         10791.8Ki ± ∞ ¹   582.4Ki ± ∞ ¹  -94.60% (p=0.008 n=5)
geomean                                                                                          140.8Ki         89.68Ki        -36.30%
¹ need >= 6 samples for confidence interval at level 0.95

                                                                                             │     main      │           optimize_joins            │
                                                                                             │   allocs/op   │  allocs/op    vs base               │
RangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1-10                355.0 ± ∞ ¹    361.0 ± ∞ ¹   +1.69% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=100-10              570.0 ± ∞ ¹    576.0 ± ∞ ¹   +1.05% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_and_topk(1,_rate(a_one[1m]_@_start())),steps=1000-10            2.416k ± ∞ ¹   2.422k ± ∞ ¹   +0.25% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1-10                585.0 ± ∞ ¹    591.0 ± ∞ ¹   +1.03% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=100-10              881.0 ± ∞ ¹    887.0 ± ∞ ¹   +0.68% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_and_topk(1,_rate(a_ten[1m]_@_start())),steps=1000-10            3.051k ± ∞ ¹   3.057k ± ∞ ¹   +0.20% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1-10       2.756k ± ∞ ¹   2.762k ± ∞ ¹   +0.22% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=100-10     3.838k ± ∞ ¹   3.844k ± ∞ ¹   +0.16% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_and_topk(1,_rate(a_hundred[1m]_@_start())),steps=1000-10    9.164k ± ∞ ¹   9.170k ± ∞ ¹   +0.07% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1-10                          294.0 ± ∞ ¹    298.0 ± ∞ ¹   +1.36% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=100-10                        503.0 ± ∞ ¹    507.0 ± ∞ ¹   +0.80% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m]_@_start())_or_rate(a_one[1m]),steps=1000-10                      2.345k ± ∞ ¹   2.349k ± ∞ ¹   +0.17% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1-10                          525.0 ± ∞ ¹    528.0 ± ∞ ¹   +0.57% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=100-10                        916.0 ± ∞ ¹    818.0 ± ∞ ¹  -10.70% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m]_@_start())_or_rate(a_ten[1m]),steps=1000-10                      4.002k ± ∞ ¹   2.984k ± ∞ ¹  -25.44% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1-10                 2.710k ± ∞ ¹   2.705k ± ∞ ¹   -0.18% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=100-10               4.610k ± ∞ ¹   3.781k ± ∞ ¹  -17.98% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m]_@_start())_or_rate(a_hundred[1m]),steps=1000-10             17.421k ± ∞ ¹   9.104k ± ∞ ¹  -47.74% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1-10                      293.0 ± ∞ ¹    297.0 ± ∞ ¹   +1.37% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=100-10                    502.0 ± ∞ ¹    506.0 ± ∞ ¹   +0.80% (p=0.008 n=5)
RangeQuery/expr=rate(a_one[1m])_unless_rate(a_one[1m]_@_start()),steps=1000-10                  2.344k ± ∞ ¹   2.348k ± ∞ ¹   +0.17% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1-10                      524.0 ± ∞ ¹    527.0 ± ∞ ¹   +0.57% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=100-10                    915.0 ± ∞ ¹    817.0 ± ∞ ¹  -10.71% (p=0.008 n=5)
RangeQuery/expr=rate(a_ten[1m])_unless_rate(a_ten[1m]_@_start()),steps=1000-10                  4.001k ± ∞ ¹   2.983k ± ∞ ¹  -25.44% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1-10             2.708k ± ∞ ¹   2.704k ± ∞ ¹   -0.15% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=100-10           4.610k ± ∞ ¹   3.780k ± ∞ ¹  -18.00% (p=0.008 n=5)
RangeQuery/expr=rate(a_hundred[1m])_unless_rate(a_hundred[1m]_@_start()),steps=1000-10         17.426k ± ∞ ¹   9.103k ± ∞ ¹  -47.76% (p=0.008 n=5)
geomean                                                                                         1.696k         1.551k         -8.51%
¹ need >= 6 samples for confidence interval at level 0.95

@darshanime darshanime force-pushed the optimize_joins branch 3 times, most recently from b87c9f0 to 119b62d Compare January 29, 2024 04:50
agoode added a commit to agoode/home-assistant-core that referenced this pull request Mar 4, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Mar 4, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Mar 4, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
Copy link
Member

@bboreham bboreham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this. I think the idea is valid, but I'm afraid I could not understand the code.

Suggest adding some comments explaining key features.


// optimisations for step invariant series
stepInvariant []bool
stepInvariantSigSet []map[string]struct{}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please state what is the index of this slice, and the key of the map.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clarified in code comment

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it is clear what a "signature set" is.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"index of exprs passed to rangeEval" could perhaps be simplified to "0 for LHS and 1 for RHS".
Do we need a map where both are step-invariant?

promql/engine.go Outdated
Comment on lines +1148 to +1147
stepInvariant: make([]bool, len(exprs)),
stepInvariantSigSet: make([]map[string]struct{}, len(exprs)),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to allocate in every case?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, we need to allocate a stepInvariantSigSet slice for each expr (just like we allocate a Vector for each expr). refactored to append a map to this slice only when an expr is step invariant.

promql/engine.go Outdated
Comment on lines +2224 to +2485
for _, sh := range lhsh {
enh.stepInvariantSigSet[0][sh.signature] = struct{}{}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got lost here. Why are we looping?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

originally, we created a set of signatures for each series in lhs, rhs, for each timestamp.

if lhs/rhs is step invariant, all the timestamps are guaranteed to have the same series, so we create the signature set only once, and reuse it for subsequent timestamps...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be done before entering the range-values loop?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't see how it could be done outside of the range-values loop

agoode added a commit to agoode/home-assistant-core that referenced this pull request Apr 21, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
@darshanime darshanime force-pushed the optimize_joins branch 2 times, most recently from 58cc80d to 0337df1 Compare May 1, 2024 17:18
agoode added a commit to agoode/home-assistant-core that referenced this pull request Sep 8, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Sep 10, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Sep 10, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Sep 12, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Sep 15, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Sep 23, 2024
When sensors go offline, this component will continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric is used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

This new option will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Sep 28, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 6, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 6, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
@bboreham
Copy link
Member

bboreham commented Oct 8, 2024

Hello from the bug-scrub!

Looks like no update since this PR was reviewed in May; do you think you will come back to it @darshanime ?

agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 26, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 26, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 26, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 26, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 26, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 26, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 26, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 28, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 28, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
agoode added a commit to agoode/home-assistant-core that referenced this pull request Oct 29, 2024
When sensors go offline, this component would continue to report its
last value, until Home Assistant itself restarts, or the sensor
returns.

The `entity_available` metric can be used to filter out unavailable
metrics, but this is slow with current versions of prometheus
(see prometheus/prometheus#9577).

Now, the component will automatically withdraw metrics when the entity
becomes unavailable, which matches the behavior on restart and
makes it easier to see missing metrics without using an `unless`.
Signed-off-by: darshanime <deathbullet@gmail.com>
@darshanime
Copy link
Contributor Author

@bboreham i have rebased and addressed your comments.

Could we do the same for VectorBinop ?

i'd like to do that in a separate pr if that's okay with you

@beorn7
Copy link
Member

beorn7 commented Mar 4, 2025

Hello again from the bug-scrub!

@bboreham are you able to continue the review on this?

Copy link
Member

@bboreham bboreham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I apologise it took me a really long time to get back to this.
It also took me a long time to pin down a problem. I still feel the code is hard to understand, but that could be acceptable.

However it doesn't always pass its own tests.

go test -count=20 -run=TestEvaluations/testdata/operators.test//@ ./promql
--- FAIL: TestEvaluations (0.08s)
    --- FAIL: TestEvaluations/testdata/operators.test (0.08s)
        --- FAIL: TestEvaluations/testdata/operators.test/line_17/vector_matching_a_@_start()_and_vector_matching_b (0.00s)
            test.go:1122: 
                        Error Trace:    /home/bryan/src/github.com/prometheus/prometheus/promql/promqltest/test.go:1122
                        Error:          Received unexpected error:
                                        error in eval vector_matching_a @ start() and vector_matching_b (line 17): expected metric {__name__="vector_matching_a", l="x"} not found
                        Test:           TestEvaluations/testdata/operators.test/line_17/vector_matching_a_@_start()_and_vector_matching_b
        --- FAIL: TestEvaluations/testdata/operators.test/line_20/vector_matching_a_@_end()_and_vector_matching_b (0.00s)
            test.go:1122: 
                        Error Trace:    /home/bryan/src/github.com/prometheus/prometheus/promql/promqltest/test.go:1122
                        Error:          Received unexpected error:
                                        error in eval vector_matching_a @ end() and vector_matching_b (line 20): expected metric {__name__="vector_matching_a", l="x"} not found
                        Test:           TestEvaluations/testdata/operators.test/line_20/vector_matching_a_@_end()_and_vector_matching_b

I also tried reversing the new tests, and got a different failure:

eval range from 0 to 30m step 5m vector_matching_b and vector_matching_a @ start()
	vector_matching_b{l="x"} 0 4 8 12 16 20 24

eval range from 0 to 30m step 5m vector_matching_b and vector_matching_a @ end()
	vector_matching_b{l="x"} 0 4 8 12 16 20 24

eval range from 0 to 30m step 5m vector_matching_b @ end() and vector_matching_a
	vector_matching_b{l="x"} 24 24 24 24 24 24 24

eval range from 0 to 30m step 5m vector_matching_b @ start() and vector_matching_a @ end()
	vector_matching_b{l="x"} 0 0 0 0 0 0 0
        --- FAIL: TestEvaluations/testdata/operators.test/line_35/vector_matching_b_@_end()_and_vector_matching_a (0.00s)
            test.go:1122: 
                        Error Trace:    /home/bryan/src/github.com/prometheus/prometheus/promql/promqltest/test.go:1122
                        Error:          Received unexpected error:
                                        error evaluating query "vector_matching_b @ end() and vector_matching_a" (line 35): unexpected error: runtime error: index out of range [1] with length 1
                        Test:           TestEvaluations/testdata/operators.test/line_35/vector_matching_b_@_end()_and_vector_matching_a

@bboreham
Copy link
Member

Hello again from the bug-scrub!

@darshanime this is with you to fix the inconsistent test results.

@bboreham bboreham removed their assignment Oct 17, 2025
@bboreham
Copy link
Member

bboreham commented Jan 6, 2026

Hello again from the bug-scrub!

@darshanime do you think you will come back to this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PromQL: optimise joins where a subexpression is step-invariant

5 participants