[libcxx-commits] [libcxx] [libc++] Tiny optimizations for is_permutation (PR #129565)

Imad Aldij via libcxx-commits libcxx-commits at lists.llvm.org
Tue Mar 11 13:51:55 PDT 2025


imdj wrote:

- Old: [benchmark-result-prev.json](https://github.com/user-attachments/files/19197352/benchmark-result-prev.json)
- New: [benchmark-result-new.json](https://github.com/user-attachments/files/19197325/benchmark-result-new.json)

Comparison:
```
Benchmark                                                   Time             CPU      Time Old      Time New       CPU Old       CPU New
----------------------------------------------------------------------------------------------------------------------------------------
bm_std_is_permutation_same/1                             -0.0004         -0.0002             3             3             3             3
bm_std_is_permutation_same/2                             -0.0033         -0.0033             5             5             5             5
bm_std_is_permutation_same/3                             +0.0004         +0.0002             6             6             6             6
bm_std_is_permutation_same/4                             -0.0006         -0.0004             6             6             6             6
bm_std_is_permutation_same/5                             +0.1893         +0.1892             6             7             6             7
bm_std_is_permutation_same/6                             +0.0003         +0.0001             7             7             7             7
bm_std_is_permutation_same/7                             +0.0022         +0.0024             7             7             7             7
bm_std_is_permutation_same/8                             +0.1331         +0.1329             7             8             7             8
bm_std_is_permutation_same/15                            +0.0065         +0.0069             9             9             9             9
bm_std_is_permutation_same/16                            +0.0084         +0.0084            10            10            10            10
bm_std_is_permutation_same/17                            -0.0007         -0.0009            10            10            10            10
bm_std_is_permutation_same/31                            -0.0008         -0.0009            17            16            17            16
bm_std_is_permutation_same/32                            +0.0021         +0.0017            31            31            31            31
bm_std_is_permutation_same/33                            +0.0062         +0.0062            18            18            18            18
bm_std_is_permutation_same/63                            -0.0021         -0.0023            33            33            33            33
bm_std_is_permutation_same/64                            -0.0020         -0.0020            33            33            33            33
bm_std_is_permutation_same/65                            -0.0017         -0.0019            34            34            34            34
bm_std_is_permutation_same/127                           -0.0178         -0.0178            81            79            81            79
bm_std_is_permutation_same/128                           -0.0121         -0.0123            80            79            80            79
bm_std_is_permutation_same/129                           +0.0024         +0.0026            80            80            80            80
bm_std_is_permutation_same/255                           -0.0004         -0.0004           144           144           144           144
bm_std_is_permutation_same/256                           -0.0016         -0.0016           144           144           144           144
bm_std_is_permutation_same/257                           -0.0063         -0.0063           144           143           144           143
bm_std_is_permutation_same/511                           +0.0028         +0.0026           272           273           272           273
bm_std_is_permutation_same/512                           -0.0014         -0.0014           272           272           272           272
bm_std_is_permutation_same/513                           +0.0013         +0.0011           271           271           271           271
bm_std_is_permutation_same/1023                          -0.0004         -0.0002           528           528           528           528
bm_std_is_permutation_same/1024                          +0.0010         +0.0010           529           530           529           530
bm_std_is_permutation_same/1025                          -0.0012         -0.0010           530           529           530           529
bm_std_is_permutation_same/2047                          +0.0000         +0.0000          1044          1044          1044          1044
bm_std_is_permutation_same/2048                          +0.0006         +0.0004          1044          1045          1044          1045
bm_std_is_permutation_same/2049                          +0.0000         +0.0002          1044          1044          1044          1044
bm_std_is_permutation_same/4095                          -0.0008         -0.0010          2092          2091          2092          2090
bm_std_is_permutation_same/4096                          -0.0004         -0.0002          2090          2089          2090          2089
bm_std_is_permutation_same/4097                          -0.0004         -0.0006          2088          2087          2088          2087
bm_std_is_permutation_same/8191                          -0.0006         -0.0004          4152          4149          4151          4149
bm_std_is_permutation_same/8192                          -0.0004         -0.0006          4148          4146          4147          4145
bm_std_is_permutation_same/8193                          -0.0002         -0.0002          4146          4145          4146          4145
bm_std_is_permutation_same/16383                         +0.0062         +0.0060          8309          8361          8309          8359
bm_std_is_permutation_same/16384                         +0.0063         +0.0065          8309          8361          8307          8361
bm_std_is_permutation_same/16385                         +0.0110         +0.0110          8308          8399          8308          8399
bm_std_is_permutation_same/32767                         -0.0078         -0.0075         17159         17026         17155         17026
bm_std_is_permutation_same/32768                         -0.0076         -0.0076         17155         17025         17154         17025
bm_std_is_permutation_same/32769                         -0.0077         -0.0079         17159         17027         17159         17023
bm_std_is_permutation_same/65535                         -0.0165         -0.0166         35562         34974         35562         34972
bm_std_is_permutation_same/65536                         -0.0168         -0.0167         35573         34977         35564         34969
bm_std_is_permutation_same/65537                         -0.0168         -0.0168         35569         34971         35567         34970
bm_std_is_permutation_same/131071                        -0.0103         -0.0105         71298         70564         71298         70548
bm_std_is_permutation_same/131072                        -0.0130         -0.0130         71446         70520         71444         70517
bm_std_is_permutation_same/131073                        -0.0140         -0.0141         71349         70347         71347         70342
bm_std_is_permutation_same/262143                        -0.0035         -0.0033        141974        141475        141939        141474
bm_std_is_permutation_same/262144                        -0.0016         -0.0016        141531        141303        141528        141299
bm_std_is_permutation_same/262145                        -0.0037         -0.0038        141938        141407        141908        141375
bm_std_is_permutation_same/524287                        -0.0027         -0.0027        285604        284838        285603        284827
bm_std_is_permutation_same/524288                        -0.0124         -0.0122        286537        282988        286423        282918
bm_std_is_permutation_same/524289                        -0.0104         -0.0102        285392        282435        285336        282424
bm_ranges_is_permutation_same/1                          -0.0007         -0.0003             5             5             5             5
bm_ranges_is_permutation_same/2                          -0.0005         -0.0004             6             6             6             6
bm_ranges_is_permutation_same/3                          +0.0001         -0.0000             7             7             7             7
bm_ranges_is_permutation_same/4                          -0.0004         -0.0004             9             9             9             9
bm_ranges_is_permutation_same/5                          -0.0000         -0.0002            10            10            10            10
bm_ranges_is_permutation_same/6                          -0.0005         -0.0003            11            11            11            11
bm_ranges_is_permutation_same/7                          +0.0130         +0.0129            12            12            12            12
bm_ranges_is_permutation_same/8                          +0.0015         +0.0015            13            13            13            13
bm_ranges_is_permutation_same/15                         +0.0002         +0.0002            22            22            22            22
bm_ranges_is_permutation_same/16                         +0.0002         +0.0002            23            23            23            23
bm_ranges_is_permutation_same/17                         +0.0000         +0.0000            24            24            24            24
bm_ranges_is_permutation_same/31                         -0.0053         -0.0055            51            51            51            51
bm_ranges_is_permutation_same/32                         -0.0000         -0.0000            42            42            42            42
bm_ranges_is_permutation_same/33                         +0.0002         +0.0002            43            43            43            43
bm_ranges_is_permutation_same/63                         -0.0000         -0.0000            80            80            80            80
bm_ranges_is_permutation_same/64                         -0.0005         -0.0007            81            81            81            81
bm_ranges_is_permutation_same/65                         -0.0002         -0.0000            82            82            82            82
bm_ranges_is_permutation_same/127                        +0.0015         +0.0015           172           172           172           172
bm_ranges_is_permutation_same/128                        +0.0070         +0.0072           173           174           173           174
bm_ranges_is_permutation_same/129                        +0.0010         +0.0010           174           174           174           174
bm_ranges_is_permutation_same/255                        -0.0001         +0.0001           326           326           326           326
bm_ranges_is_permutation_same/256                        -0.0001         -0.0001           327           327           327           327
bm_ranges_is_permutation_same/257                        +0.0008         +0.0010           328           329           328           329
bm_ranges_is_permutation_same/511                        +0.0004         +0.0004           635           635           635           635
bm_ranges_is_permutation_same/512                        +0.0001         -0.0002           636           636           636           636
bm_ranges_is_permutation_same/513                        -0.0002         -0.0000           637           637           637           637
bm_ranges_is_permutation_same/1023                       +0.0001         +0.0001          1252          1252          1252          1252
bm_ranges_is_permutation_same/1024                       -0.0010         -0.0008          1255          1253          1254          1253
bm_ranges_is_permutation_same/1025                       -0.0001         -0.0000          1255          1255          1255          1254
bm_ranges_is_permutation_same/2047                       +0.0011         +0.0011          2488          2491          2488          2490
bm_ranges_is_permutation_same/2048                       -0.0004         -0.0004          2489          2488          2489          2488
bm_ranges_is_permutation_same/2049                       -0.0001         -0.0001          2490          2490          2489          2489
bm_ranges_is_permutation_same/4095                       -0.0000         -0.0000          4954          4954          4954          4953
bm_ranges_is_permutation_same/4096                       -0.0003         -0.0001          4956          4954          4955          4954
bm_ranges_is_permutation_same/4097                       +0.0000         -0.0002          4956          4956          4956          4955
bm_ranges_is_permutation_same/8191                       +0.0002         +0.0002          9891          9893          9891          9893
bm_ranges_is_permutation_same/8192                       -0.0001         -0.0001          9895          9894          9894          9894
bm_ranges_is_permutation_same/8193                       -0.0002         -0.0000          9898          9896          9896          9896
bm_ranges_is_permutation_same/16383                      -0.0001         -0.0001         19776         19773         19775         19772
bm_ranges_is_permutation_same/16384                      +0.0080         +0.0080         19779         19937         19775         19932
bm_ranges_is_permutation_same/16385                      -0.0001         -0.0001         19776         19774         19776         19774
bm_ranges_is_permutation_same/32767                      -0.0003         -0.0003         39575         39562         39567         39554
bm_ranges_is_permutation_same/32768                      -0.0036         -0.0036         39700         39555         39699         39554
bm_ranges_is_permutation_same/32769                      -0.0003         +0.0001         39581         39568         39564         39567
bm_ranges_is_permutation_same/65535                      -0.0002         -0.0000         79136         79120         79120         79118
bm_ranges_is_permutation_same/65536                      +0.0002         +0.0004         79132         79151         79101         79133
bm_ranges_is_permutation_same/65537                      +0.0003         +0.0003         79114         79137         79112         79135
bm_ranges_is_permutation_same/131071                     +0.0006         +0.0002        158261        158353        158258        158291
bm_ranges_is_permutation_same/131072                     -0.0003         -0.0002        158283        158239        158247        158209
bm_ranges_is_permutation_same/131073                     -0.0004         -0.0004        158280        158217        158275        158212
bm_ranges_is_permutation_same/262143                     -0.0013         -0.0011        316781        316367        316708        316359
bm_ranges_is_permutation_same/262144                     -0.0002         -0.0004        316501        316443        316493        316372
bm_ranges_is_permutation_same/262145                     -0.0001         +0.0001        316473        316432        316401        316429
bm_ranges_is_permutation_same/524287                     -0.0004         -0.0004        633080        632854        633071        632838
bm_ranges_is_permutation_same/524288                     -0.0004         -0.0003        633503        633271        633349        633129
bm_ranges_is_permutation_same/524289                     -0.0003         -0.0003        633223        633053        633209        633044
bm_std_is_permutation_shuffled/1                         +0.0002         +0.0000             3             3             3             3
bm_std_is_permutation_shuffled/2                         -0.0131         -0.0131             4             4             4             4
bm_std_is_permutation_shuffled/3                         -0.0194         -0.0194            26            26            26            26
bm_std_is_permutation_shuffled/4                         +0.0350         +0.0350            35            36            35            36
bm_std_is_permutation_shuffled/5                         +0.0179         +0.0181            46            47            46            47
bm_std_is_permutation_shuffled/6                         +0.0700         +0.0700            64            68            64            68
bm_std_is_permutation_shuffled/7                         +0.0542         +0.0540            79            83            79            83
bm_std_is_permutation_shuffled/8                         -0.0381         -0.0379            95            92            95            92
bm_std_is_permutation_shuffled/15                        +0.0331         +0.0328           238           245           238           245
bm_std_is_permutation_shuffled/16                        +0.0015         +0.0017           254           255           254           255
bm_std_is_permutation_shuffled/17                        +0.0145         +0.0143           279           283           279           283
bm_std_is_permutation_shuffled/31                        -0.0073         -0.0070           821           815           821           815
bm_std_is_permutation_shuffled/32                        +0.0171         +0.0171           813           827           813           827
bm_std_is_permutation_shuffled/33                        +0.0283         +0.0283           858           882           858           882
bm_std_is_permutation_shuffled/63                        -0.0037         -0.0037          3009          2998          3009          2998
bm_std_is_permutation_shuffled/64                        +0.0202         +0.0202          3088          3150          3087          3149
bm_std_is_permutation_shuffled/65                        +0.0052         +0.0052          3198          3214          3198          3214
bm_std_is_permutation_shuffled/127                       -0.0029         -0.0029         14102         14061         14099         14058
bm_std_is_permutation_shuffled/128                       -0.0347         -0.0347         14698         14188         14698         14188
bm_std_is_permutation_shuffled/129                       +0.0091         +0.0089         14401         14532         14401         14529
bm_std_is_permutation_shuffled/255                       -0.0001         +0.0001         50891         50887         50880         50886
bm_std_is_permutation_shuffled/256                       +0.0006         +0.0006         52317         52350         52316         52349
bm_std_is_permutation_shuffled/257                       +0.0062         +0.0062         53020         53350         53009         53337
bm_std_is_permutation_shuffled/511                       +0.0006         +0.0005        187560        187665        187561        187661
bm_std_is_permutation_shuffled/512                       +0.0014         +0.0012        188259        188521        188258        188479
bm_std_is_permutation_shuffled/513                       +0.0041         +0.0040        188671        189436        188668        189431
bm_std_is_permutation_shuffled/1023                      -0.0005         -0.0007        698857        698522        698843        698386
bm_std_is_permutation_shuffled/1024                      -0.0012         -0.0010        700251        699426        700102        699426
bm_std_is_permutation_shuffled/1025                      +0.0002         +0.0002        701337        701474        701337        701457
bm_std_is_permutation_shuffled/2047                      -0.0011         -0.0011       2691107       2688267       2690567       2687692
bm_std_is_permutation_shuffled/2048                      -0.0003         -0.0004       2691481       2690577       2691469       2690499
bm_std_is_permutation_shuffled/2049                      +0.0053         +0.0053       2694752       2709124       2694233       2708549
bm_std_is_permutation_shuffled/4095                      +0.0001         +0.0001      10589321      10590078      10589142      10589746
bm_std_is_permutation_shuffled/4096                      +0.0004         +0.0002      10585031      10589300      10584701      10586801
bm_std_is_permutation_shuffled/4097                      -0.0000         +0.0002      10588896      10588522      10586637      10588336
bm_std_is_permutation_shuffled/8191                      +0.0043         +0.0041      42031443      42211809      42030784      42203148
bm_std_is_permutation_shuffled/8192                      +0.0010         +0.0010      42016455      42059045      42015698      42058013
bm_std_is_permutation_shuffled/8193                      +0.0023         +0.0022      42035499      42130421      42027382      42121379
bm_std_is_permutation_shuffled/16383                     +0.0084         +0.0084     167862607     169269172     167859115     169265197
bm_std_is_permutation_shuffled/16384                     +0.0087         +0.0083     167936024     169390525     167932424     169329880
bm_std_is_permutation_shuffled/16385                     +0.0077         +0.0080     168015881     169314541     167976897     169312823
bm_std_is_permutation_shuffled/32767                     -0.0026         -0.0026     692557414     690734388     692543469     690710627
bm_std_is_permutation_shuffled/32768                     -0.0022         -0.0024     692810260     691317524     692795517     691157703
bm_std_is_permutation_shuffled/32769                     -0.0027         -0.0025     693037475     691141435     692840831     691141413
bm_std_is_permutation_shuffled/65535                     -0.0019         -0.0020    2873088169    2867487999    2872884625    2867144339
bm_std_is_permutation_shuffled/65536                     -0.0003         -0.0003    2869429171    2868493156    2869125188    2868388830
bm_std_is_permutation_shuffled/65537                     -0.0004         -0.0004    2869018543    2867792058    2868799630    2867595502
bm_std_is_permutation_shuffled/131071                    -0.0004         -0.0004   11474642163   11469849517   11473591754   11468810812
bm_std_is_permutation_shuffled/131072                    -0.0005         -0.0005   11476707423   11470887314   11475686253   11469847399
bm_std_is_permutation_shuffled/131073                    -0.0003         -0.0004   11475167455   11471225403   11474012322   11469949622
bm_std_is_permutation_shuffled/262143                    -0.0006         -0.0006   45881668187   45853001955   45877507209   45849075410
bm_std_is_permutation_shuffled/262144                    -0.0011         -0.0011   45896428165   45844911247   45892366261   45840610638
bm_std_is_permutation_shuffled/262145                    +0.0005         +0.0004   45826828632   45848448732   45822862746   45841995903
bm_std_is_permutation_shuffled/524287                    +0.0080         +0.0080  181994177077  183444203623  181977203110  183424253040
bm_std_is_permutation_shuffled/524288                    -0.0016         -0.0017  183548559246  183250724577  183532566493  183229130974
bm_std_is_permutation_shuffled/524289                    -0.0007         -0.0008  183555832342  183420968188  183539700812  183401332759
bm_ranges_is_permutation_shuffled/1                      -0.0001         -0.0001             5             5             5             5
bm_ranges_is_permutation_shuffled/2                      +0.0004         +0.0003             5             5             5             5
bm_ranges_is_permutation_shuffled/3                      -0.0019         -0.0017            26            26            26            26
bm_ranges_is_permutation_shuffled/4                      +0.0038         +0.0036            36            36            36            36
bm_ranges_is_permutation_shuffled/5                      -0.0234         -0.0232            49            48            49            48
bm_ranges_is_permutation_shuffled/6                      +0.0013         +0.0011            70            70            70            70
bm_ranges_is_permutation_shuffled/7                      +0.0326         +0.0326            84            87            84            87
bm_ranges_is_permutation_shuffled/8                      -0.0016         -0.0018            95            95            95            95
bm_ranges_is_permutation_shuffled/15                     -0.0044         -0.0045           252           251           252           251
bm_ranges_is_permutation_shuffled/16                     +0.0032         +0.0029           261           262           261           262
bm_ranges_is_permutation_shuffled/17                     +0.0113         +0.0112           288           291           288           291
bm_ranges_is_permutation_shuffled/31                     +0.0018         +0.0020           806           807           805           807
bm_ranges_is_permutation_shuffled/32                     -0.0048         -0.0048           825           821           825           821
bm_ranges_is_permutation_shuffled/33                     +0.0012         +0.0014           877           878           876           878
bm_ranges_is_permutation_shuffled/63                     +0.0661         +0.0659          2985          3182          2985          3181
bm_ranges_is_permutation_shuffled/64                     -0.0188         -0.0186          3085          3027          3084          3027
bm_ranges_is_permutation_shuffled/65                     +0.0014         +0.0012          3176          3180          3176          3179
bm_ranges_is_permutation_shuffled/127                    -0.0096         -0.0094         14054         13920         14051         13919
bm_ranges_is_permutation_shuffled/128                    -0.0110         -0.0112         14198         14041         14198         14038
bm_ranges_is_permutation_shuffled/129                    -0.0356         -0.0356         14819         14292         14819         14291
bm_ranges_is_permutation_shuffled/255                    -0.0004         -0.0004         51248         51226         51237         51216
bm_ranges_is_permutation_shuffled/256                    -0.0072         -0.0071         52927         52548         52925         52548
bm_ranges_is_permutation_shuffled/257                    -0.0095         -0.0093         53811         53299         53800         53298
bm_ranges_is_permutation_shuffled/511                    -0.0024         -0.0026        187997        187547        187997        187508
bm_ranges_is_permutation_shuffled/512                    -0.0038         -0.0038        188587        187868        188587        187862
bm_ranges_is_permutation_shuffled/513                    -0.0061         -0.0063        189553        188394        189550        188353
bm_ranges_is_permutation_shuffled/1023                   -0.0003         -0.0003        698451        698224        698421        698224
bm_ranges_is_permutation_shuffled/1024                   -0.0020         -0.0018        700691        699314        700540        699314
bm_ranges_is_permutation_shuffled/1025                   -0.0022         -0.0024        701910        700357        701906        700206
bm_ranges_is_permutation_shuffled/2047                   -0.0013         -0.0011       2690816       2687429       2690279       2687326
bm_ranges_is_permutation_shuffled/2048                   -0.0016         -0.0018       2693467       2689161       2693468       2688488
bm_ranges_is_permutation_shuffled/2049                   -0.0007         -0.0005       2694598       2692701       2694077       2692623
bm_ranges_is_permutation_shuffled/4095                   -0.0013         -0.0015      10594511      10580690      10594413      10578334
bm_ranges_is_permutation_shuffled/4096                   -0.0009         -0.0009      10587811      10578635      10587508      10578508
bm_ranges_is_permutation_shuffled/4097                   -0.0008         -0.0007      10590886      10582784      10588513      10580704
bm_ranges_is_permutation_shuffled/8191                   -0.0001         -0.0000      42030215      42027790      42029023      42027666
bm_ranges_is_permutation_shuffled/8192                   -0.0001         -0.0002      42048163      42045729      42047317      42036877
bm_ranges_is_permutation_shuffled/8193                   -0.0006         -0.0005      42072330      42045753      42063663      42044714
bm_ranges_is_permutation_shuffled/16383                  +0.0106         +0.0104     167216396     168991582     167211802     168951945
bm_ranges_is_permutation_shuffled/16384                  +0.0102         +0.0102     167282705     168985176     167278536     168983595
bm_ranges_is_permutation_shuffled/16385                  +0.0098         +0.0096     167326336     168958957     167321688     168922306
bm_ranges_is_permutation_shuffled/32767                  +0.0115         +0.0115     685566768     693445790     685565275     693429650
bm_ranges_is_permutation_shuffled/32768                  +0.0119         +0.0122     685836889     694024803     685662958     694000649
bm_ranges_is_permutation_shuffled/32769                  +0.0119         +0.0118     686015852     694202242     685995474     694063013
bm_ranges_is_permutation_shuffled/65535                  -0.0039         -0.0039    2866882853    2855634883    2866689681    2855440699
bm_ranges_is_permutation_shuffled/65536                  -0.0047         -0.0046    2868211379    2854859954    2867879517    2854662950
bm_ranges_is_permutation_shuffled/65537                  -0.0065         -0.0065    2873932848    2855274529    2873741664    2854933990
bm_ranges_is_permutation_shuffled/131071                 -0.0006         -0.0006   11473187791   11465760180   11472142532   11464709497
bm_ranges_is_permutation_shuffled/131072                 -0.0003         -0.0003   11468657936   11465564690   11467620315   11464356593
bm_ranges_is_permutation_shuffled/131073                 -0.0002         -0.0002   11469740830   11467570816   11468851763   11466357589
bm_ranges_is_permutation_shuffled/262143                 -0.0047         -0.0047   46070737348   45856328635   46066570207   45852302232
bm_ranges_is_permutation_shuffled/262144                 -0.0045         -0.0045   46056268272   45849827037   46048913777   45842214423
bm_ranges_is_permutation_shuffled/262145                 -0.0039         -0.0040   46041119561   45861110935   46034039004   45851152772
bm_ranges_is_permutation_shuffled/524287                 -0.0093         -0.0093  185258782710  183527790482  185232217117  183508227839
bm_ranges_is_permutation_shuffled/524288                 -0.0094         -0.0094  185266962888  183527491037  185242322875  183495078047
bm_ranges_is_permutation_shuffled/524289                 -0.0046         -0.0045  185294226235  184447066203  185264050192  184428782015
bm_std_is_permutation_diff_last/1                        -0.1251         -0.1251             3             3             3             3
bm_std_is_permutation_diff_last/2                        -0.1818         -0.1818             4             4             4             4
bm_std_is_permutation_diff_last/3                        -0.1098         -0.1098             5             4             5             4
bm_std_is_permutation_diff_last/4                        -0.0002         -0.0001             5             5             5             5
bm_std_is_permutation_diff_last/5                        +0.0174         +0.0173             5             5             5             5
bm_std_is_permutation_diff_last/6                        -0.0346         -0.0346             6             6             6             6
bm_std_is_permutation_diff_last/7                        -0.0074         -0.0074             7             6             7             6
bm_std_is_permutation_diff_last/8                        +0.0079         +0.0076             7             7             7             7
bm_std_is_permutation_diff_last/15                       -0.0075         -0.0073            10            10            10            10
bm_std_is_permutation_diff_last/16                       -0.0715         -0.0715            11            10            11            10
bm_std_is_permutation_diff_last/17                       -0.0359         -0.0359            11            11            11            11
bm_std_is_permutation_diff_last/31                       -0.0548         -0.0548            18            17            18            17
bm_std_is_permutation_diff_last/32                       -0.0136         -0.0138            18            17            18            17
bm_std_is_permutation_diff_last/33                       -0.0813         -0.0814            39            36            39            36
bm_std_is_permutation_diff_last/63                       -0.0123         -0.0122            33            33            33            33
bm_std_is_permutation_diff_last/64                       -0.0031         -0.0031            33            33            33            33
bm_std_is_permutation_diff_last/65                       -0.0032         -0.0031            34            34            34            34
bm_std_is_permutation_diff_last/127                      -0.0041         -0.0041            78            78            78            78
bm_std_is_permutation_diff_last/128                      -0.0070         -0.0071            79            78            79            78
bm_std_is_permutation_diff_last/129                      -0.0050         -0.0050            79            78            79            78
bm_std_is_permutation_diff_last/255                      -0.0031         -0.0031           142           142           142           142
bm_std_is_permutation_diff_last/256                      -0.0030         -0.0030           143           142           143           142
bm_std_is_permutation_diff_last/257                      -0.0005         -0.0006           143           143           143           143
bm_std_is_permutation_diff_last/511                      -0.0014         -0.0013           271           271           271           271
bm_std_is_permutation_diff_last/512                      -0.0015         -0.0014           271           271           271           271
bm_std_is_permutation_diff_last/513                      -0.0016         -0.0016           272           271           272           271
bm_std_is_permutation_diff_last/1023                     -0.0049         -0.0049           531           528           531           528
bm_std_is_permutation_diff_last/1024                     -0.0007         -0.0007           529           528           529           528
bm_std_is_permutation_diff_last/1025                     -0.0006         -0.0005           529           529           529           529
bm_std_is_permutation_diff_last/2047                     -0.0006         -0.0006          1043          1043          1043          1042
bm_std_is_permutation_diff_last/2048                     -0.0002         -0.0003          1044          1043          1043          1043
bm_std_is_permutation_diff_last/2049                     -0.0002         -0.0003          1044          1043          1044          1043
bm_std_is_permutation_diff_last/4095                     +0.0019         +0.0015          2089          2093          2088          2092
bm_std_is_permutation_diff_last/4096                     -0.0003         -0.0002          2096          2095          2096          2095
bm_std_is_permutation_diff_last/4097                     -0.0028         -0.0029          2101          2095          2101          2095
bm_std_is_permutation_diff_last/8191                     +0.0005         +0.0005          4149          4151          4149          4151
bm_std_is_permutation_diff_last/8192                     +0.0008         +0.0008          4151          4154          4150          4153
bm_std_is_permutation_diff_last/8193                     +0.0004         +0.0004          4151          4153          4151          4153
bm_std_is_permutation_diff_last/16383                    -0.2027         -0.2026         10466          8345         10463          8343
bm_std_is_permutation_diff_last/16384                    -0.2033         -0.2032         10471          8343         10470          8343
bm_std_is_permutation_diff_last/16385                    -0.2001         -0.2002         10434          8346         10434          8345
bm_std_is_permutation_diff_last/32767                    +0.0024         +0.0025         17417         17459         17412         17455
bm_std_is_permutation_diff_last/32768                    +0.0025         +0.0026         17410         17454         17409         17453
bm_std_is_permutation_diff_last/32769                    +0.0024         +0.0025         17414         17456         17409         17451
bm_std_is_permutation_diff_last/65535                    -0.0164         -0.0164         35945         35356         35941         35353
bm_std_is_permutation_diff_last/65536                    -0.0154         -0.0154         35923         35369         35912         35358
bm_std_is_permutation_diff_last/65537                    -0.0154         -0.0154         35920         35366         35918         35363
bm_std_is_permutation_diff_last/131071                   -0.0198         -0.0197         72308         70874         72286         70859
bm_std_is_permutation_diff_last/131072                   -0.0179         -0.0178         72137         70849         72131         70848
bm_std_is_permutation_diff_last/131073                   -0.0176         -0.0176         72145         70873         72126         70858
bm_std_is_permutation_diff_last/262143                   -0.0040         -0.0039        141768        141205        141756        141202
bm_std_is_permutation_diff_last/262144                   -0.0021         -0.0020        141508        141217        141500        141213
bm_std_is_permutation_diff_last/262145                   -0.0021         -0.0020        141555        141264        141513        141237
bm_std_is_permutation_diff_last/524287                   -0.0069         -0.0068        285539        283563        285506        283556
bm_std_is_permutation_diff_last/524288                   -0.0080         -0.0081        285543        283269        285513        283211
bm_std_is_permutation_diff_last/524289                   -0.0064         -0.0063        285337        283520        285320        283519
bm_ranges_is_permutation_diff_last/1                     +0.0003         +0.0004             8             8             8             8
bm_ranges_is_permutation_diff_last/2                     +0.1625         +0.1625            10            11            10            11
bm_ranges_is_permutation_diff_last/3                     +0.2175         +0.2176            10            12            10            12
bm_ranges_is_permutation_diff_last/4                     +0.2579         +0.2580            11            14            11            14
bm_ranges_is_permutation_diff_last/5                     +0.2748         +0.2748            12            15            12            15
bm_ranges_is_permutation_diff_last/6                     +0.2889         +0.2893            12            16            12            16
bm_ranges_is_permutation_diff_last/7                     +0.2858         +0.2860            13            17            13            17
bm_ranges_is_permutation_diff_last/8                     +0.2762         +0.2762            14            18            14            18
bm_ranges_is_permutation_diff_last/15                    +0.3667         +0.3667            20            27            20            27
bm_ranges_is_permutation_diff_last/16                    +0.2949         +0.2950            22            28            22            28
bm_ranges_is_permutation_diff_last/17                    +0.3767         +0.3768            21            29            21            29
bm_ranges_is_permutation_diff_last/31                    +0.4163         +0.4167            33            46            33            46
bm_ranges_is_permutation_diff_last/32                    +0.3689         +0.3687            35            47            35            47
bm_ranges_is_permutation_diff_last/33                    +0.4191         +0.4198            34            49            34            49
bm_ranges_is_permutation_diff_last/63                    +0.4547         +0.4544            58            85            58            85
bm_ranges_is_permutation_diff_last/64                    +0.4264         +0.4265            60            86            60            86
bm_ranges_is_permutation_diff_last/65                    +0.4537         +0.4543            60            87            60            87
bm_ranges_is_permutation_diff_last/127                   +0.4154         +0.4153           122           173           122           173
bm_ranges_is_permutation_diff_last/128                   +0.4238         +0.4241           122           174           122           174
bm_ranges_is_permutation_diff_last/129                   +0.4227         +0.4224           123           175           123           175
bm_ranges_is_permutation_diff_last/255                   +0.4563         +0.4566           225           327           225           327
bm_ranges_is_permutation_diff_last/256                   +0.4578         +0.4576           225           328           225           328
bm_ranges_is_permutation_diff_last/257                   +0.4604         +0.4608           226           330           226           330
bm_ranges_is_permutation_diff_last/511                   +0.4790         +0.4788           430           636           430           636
bm_ranges_is_permutation_diff_last/512                   +0.4771         +0.4775           431           637           431           637
bm_ranges_is_permutation_diff_last/513                   +0.4776         +0.4777           432           638           432           638
bm_ranges_is_permutation_diff_last/1023                  +0.4878         +0.4883           842          1253           842          1253
bm_ranges_is_permutation_diff_last/1024                  +0.4889         +0.4894           843          1255           842          1255
bm_ranges_is_permutation_diff_last/1025                  +0.4917         +0.4915           843          1257           843          1257
bm_ranges_is_permutation_diff_last/2047                  +0.4947         +0.4948          1665          2488          1665          2488
bm_ranges_is_permutation_diff_last/2048                  +0.4941         +0.4942          1666          2490          1666          2489
bm_ranges_is_permutation_diff_last/2049                  +0.4940         +0.4945          1667          2491          1667          2491
bm_ranges_is_permutation_diff_last/4095                  +0.4952         +0.4959          3319          4962          3316          4961
bm_ranges_is_permutation_diff_last/4096                  +0.4963         +0.4964          3316          4962          3316          4962
bm_ranges_is_permutation_diff_last/4097                  +0.4969         +0.4969          3318          4967          3318          4967
bm_ranges_is_permutation_diff_last/8191                  +0.4983         +0.4987          6607          9899          6605          9899
bm_ranges_is_permutation_diff_last/8192                  +0.5000         +0.5001          6605          9907          6604          9907
bm_ranges_is_permutation_diff_last/8193                  +0.4983         +0.4986          6608          9900          6606          9900
bm_ranges_is_permutation_diff_last/16383                 +0.4991         +0.4991         13203         19792         13200         19788
bm_ranges_is_permutation_diff_last/16384                 +0.4988         +0.4989         13202         19787         13201         19787
bm_ranges_is_permutation_diff_last/16385                 +0.4990         +0.4988         13204         19792         13203         19788
bm_ranges_is_permutation_diff_last/32767                 +0.4933         +0.4934         26498         39570         26496         39569
bm_ranges_is_permutation_diff_last/32768                 +0.4937         +0.4938         26502         39587         26494         39579
bm_ranges_is_permutation_diff_last/32769                 +0.4937         +0.4939         26498         39580         26495         39580
bm_ranges_is_permutation_diff_last/65535                 +0.4725         +0.4726         53750         79146         53733         79128
bm_ranges_is_permutation_diff_last/65536                 +0.4721         +0.4722         53757         79138         53753         79135
bm_ranges_is_permutation_diff_last/65537                 +0.4731         +0.4728         53741         79164         53739         79146
bm_ranges_is_permutation_diff_last/131071                +0.4711         +0.4711        107567        158239        107562        158236
bm_ranges_is_permutation_diff_last/131072                +0.4712         +0.4714        107574        158262        107560        158262
bm_ranges_is_permutation_diff_last/131073                +0.4711         +0.4712        107594        158277        107561        158244
bm_ranges_is_permutation_diff_last/262143                +0.4697         +0.4698        215311        316436        215294        316433
bm_ranges_is_permutation_diff_last/262144                +0.4691         +0.4692        215391        316424        215372        316425
bm_ranges_is_permutation_diff_last/262145                +0.4694         +0.4695        215330        316410        215322        316410
bm_ranges_is_permutation_diff_last/524287                +0.4681         +0.4681        431391        633320        431281        633183
bm_ranges_is_permutation_diff_last/524288                +0.4673         +0.4674        431481        633128        431455        633110
bm_ranges_is_permutation_diff_last/524289                +0.4687         +0.4685        431358        633533        431321        633394
OVERALL_GEOMEAN                                          +0.0568         +0.0568             0             0             0             0
```

https://github.com/llvm/llvm-project/pull/129565


More information about the libcxx-commits mailing list