Skip to content

Add Neon implementation of includes - #6076

Merged
Stephan T. Lavavej (StephanTLavavej) merged 2 commits into
microsoft:mainfrom
hazzlim:includes-neon-pr
Feb 11, 2026
Merged

Add Neon implementation of includes#6076
Stephan T. Lavavej (StephanTLavavej) merged 2 commits into
microsoft:mainfrom
hazzlim:includes-neon-pr

Conversation

@hazzlim

Copy link
Copy Markdown
Contributor

This PR adds a Neon path for the semi-vectorized implementation of includes.

Similar to #5590, it is a mixed bag of results. However, most significantly for this PR the new Neon path is slower than the Clang scalar codegen for 64-bit types. I am not sure if this was also the case for the x86 vectorization, as that PR looks as though it only reports MSVC numbers (?)

I guess we could avoid 64-bit vectorization - the tradeoff here would be improving Clang perf at the cost of MSVC perf.

@hazzlim

Hari Limaye (hazzlim) commented Feb 5, 2026

Copy link
Copy Markdown
Contributor Author

⏱️ Benchmark results

Click to expand:
  MSVC Speedup CLANG Speedup
bm_includes<uint8_t, alg_type::std_fn>/3000/3/0/1 11.026 7
bm_includes<uint8_t, alg_type::std_fn>/3000/22/0/1 9.556 6.009
bm_includes<uint8_t, alg_type::std_fn>/3000/105/0/1 6.377 3.936
bm_includes<uint8_t, alg_type::std_fn>/3000/1504/0/1 1.34 1.08
bm_includes<uint8_t, alg_type::std_fn>/3000/2750/0/1 1.043 0.95
bm_includes<uint8_t, alg_type::std_fn>/300/3/0/1 8.023 4.688
bm_includes<uint8_t, alg_type::std_fn>/300/22/0/1 3.824 2.402
bm_includes<uint8_t, alg_type::std_fn>/300/105/0/1 1.958 1.4
bm_includes<uint8_t, alg_type::std_fn>/300/290/0/1 0.944 0.957
bm_includes<uint8_t, alg_type::std_fn>/3000/3/0/0 11.217 6.935
bm_includes<uint8_t, alg_type::std_fn>/3000/22/0/0 10 6.274
bm_includes<uint8_t, alg_type::std_fn>/3000/105/0/0 8 5
bm_includes<uint8_t, alg_type::std_fn>/3000/1504/0/0 1.722 1.289
bm_includes<uint8_t, alg_type::std_fn>/3000/2750/0/0 1.058 0.924
bm_includes<uint8_t, alg_type::std_fn>/300/3/0/0 9.236 5.366
bm_includes<uint8_t, alg_type::std_fn>/300/22/0/0 5.455 3.064
bm_includes<uint8_t, alg_type::std_fn>/300/105/0/0 2.154 1.696
bm_includes<uint8_t, alg_type::std_fn>/300/290/0/0 0.978 1.044
bm_includes<uint8_t, alg_type::std_fn>/3000/3/1/1 10.979 6.787
bm_includes<uint8_t, alg_type::std_fn>/3000/22/1/1 8.571 5.357
bm_includes<uint8_t, alg_type::std_fn>/3000/105/1/1 4.891 3.01
bm_includes<uint8_t, alg_type::std_fn>/3000/1504/1/1 1.375 1.095
bm_includes<uint8_t, alg_type::std_fn>/3000/2750/1/1 1.031 0.936
bm_includes<uint8_t, alg_type::std_fn>/300/3/1/1 7.187 4.332
bm_includes<uint8_t, alg_type::std_fn>/300/22/1/1 3.254 2.011
bm_includes<uint8_t, alg_type::std_fn>/300/105/1/1 1.26 1.169
bm_includes<uint8_t, alg_type::std_fn>/300/290/1/1 1.023 0.936
bm_includes<uint8_t, alg_type::std_fn>/3000/3/1/0 11.217 6.897
bm_includes<uint8_t, alg_type::std_fn>/3000/22/1/0 9.509 6
bm_includes<uint8_t, alg_type::std_fn>/3000/105/1/0 6.3 3.703
bm_includes<uint8_t, alg_type::std_fn>/3000/1504/1/0 1.722 1.339
bm_includes<uint8_t, alg_type::std_fn>/3000/2750/1/0 1.093 1.085
bm_includes<uint8_t, alg_type::std_fn>/300/3/1/0 7.849 4.592
bm_includes<uint8_t, alg_type::std_fn>/300/22/1/0 4.286 2.708
bm_includes<uint8_t, alg_type::std_fn>/300/105/1/0 1.573 1.333
bm_includes<uint8_t, alg_type::std_fn>/300/290/1/0 0.978 1.037
bm_includes<uint8_t, alg_type::std_fn>/3000/3/2/1 10 5.842
bm_includes<uint8_t, alg_type::std_fn>/3000/22/2/1 6.667 3.223
bm_includes<uint8_t, alg_type::std_fn>/3000/105/2/1 2.333 0.958
bm_includes<uint8_t, alg_type::std_fn>/3000/1504/2/1 0.981 0.87
bm_includes<uint8_t, alg_type::std_fn>/3000/2750/2/1 1.043 1.601
bm_includes<uint8_t, alg_type::std_fn>/300/3/2/1 5.333 2.657
bm_includes<uint8_t, alg_type::std_fn>/300/22/2/1 1.368 0.684
bm_includes<uint8_t, alg_type::std_fn>/300/105/2/1 1 0.839
bm_includes<uint8_t, alg_type::std_fn>/300/290/2/1 0.936 1.289
bm_includes<uint8_t, alg_type::std_fn>/3000/3/2/0 10.238 6.525
bm_includes<uint8_t, alg_type::std_fn>/3000/22/2/0 6.205 3.214
bm_includes<uint8_t, alg_type::std_fn>/3000/105/2/0 2.815 1.174
bm_includes<uint8_t, alg_type::std_fn>/3000/1504/2/0 0.977 0.865
bm_includes<uint8_t, alg_type::std_fn>/3000/2750/2/0 0.989 1.478
bm_includes<uint8_t, alg_type::std_fn>/300/3/2/0 5.315 2.727
bm_includes<uint8_t, alg_type::std_fn>/300/22/2/0 1.464 0.693
bm_includes<uint8_t, alg_type::std_fn>/300/105/2/0 0.997 0.869
bm_includes<uint8_t, alg_type::std_fn>/300/290/2/0 0.957 1.065
bm_includes<uint8_t, alg_type::std_fn>/3000/3/3/1 9.783 5.942
bm_includes<uint8_t, alg_type::std_fn>/3000/22/3/1 6.37 2.924
bm_includes<uint8_t, alg_type::std_fn>/3000/105/3/1 2.64 1.149
bm_includes<uint8_t, alg_type::std_fn>/3000/1504/3/1 0.996 0.909
bm_includes<uint8_t, alg_type::std_fn>/3000/2750/3/1 1 1.301
bm_includes<uint8_t, alg_type::std_fn>/300/3/3/1 6.016 3.011
bm_includes<uint8_t, alg_type::std_fn>/300/22/3/1 1.477 0.762
bm_includes<uint8_t, alg_type::std_fn>/300/105/3/1 1.059 0.876
bm_includes<uint8_t, alg_type::std_fn>/300/290/3/1 0.953 1.122
bm_includes<uint8_t, alg_type::std_fn>/3000/3/3/0 9.123 5.628
bm_includes<uint8_t, alg_type::std_fn>/3000/22/3/0 7.18 3.495
bm_includes<uint8_t, alg_type::std_fn>/3000/105/3/0 2.864 1.282
bm_includes<uint8_t, alg_type::std_fn>/3000/1504/3/0 0.972 0.865
bm_includes<uint8_t, alg_type::std_fn>/3000/2750/3/0 1.022 1.224
bm_includes<uint8_t, alg_type::std_fn>/300/3/3/0 5.455 3.02
bm_includes<uint8_t, alg_type::std_fn>/300/22/3/0 1.529 0.815
bm_includes<uint8_t, alg_type::std_fn>/300/105/3/0 1.093 0.911
bm_includes<uint8_t, alg_type::std_fn>/300/290/3/0 0.979 1.092
bm_includes<uint16_t, alg_type::std_fn>/3000/3/0/1 7.386 3.045
bm_includes<uint16_t, alg_type::std_fn>/3000/22/0/1 6.825 2.964
bm_includes<uint16_t, alg_type::std_fn>/3000/105/0/1 4.889 2.472
bm_includes<uint16_t, alg_type::std_fn>/3000/1504/0/1 1.299 1.022
bm_includes<uint16_t, alg_type::std_fn>/3000/2750/0/1 0.935 0.908
bm_includes<uint16_t, alg_type::std_fn>/300/3/0/1 5.515 2.556
bm_includes<uint16_t, alg_type::std_fn>/300/22/0/1 3.357 1.818
bm_includes<uint16_t, alg_type::std_fn>/300/105/0/1 1.58 1.311
bm_includes<uint16_t, alg_type::std_fn>/300/290/0/1 1.017 0.944
bm_includes<uint16_t, alg_type::std_fn>/3000/3/0/0 7.33 3.038
bm_includes<uint16_t, alg_type::std_fn>/3000/22/0/0 7.167 3.035
bm_includes<uint16_t, alg_type::std_fn>/3000/105/0/0 6 2.756
bm_includes<uint16_t, alg_type::std_fn>/3000/1504/0/0 1.571 1.292
bm_includes<uint16_t, alg_type::std_fn>/3000/2750/0/0 0.957 1.116
bm_includes<uint16_t, alg_type::std_fn>/300/3/0/0 5.835 2.643
bm_includes<uint16_t, alg_type::std_fn>/300/22/0/0 4.286 2.172
bm_includes<uint16_t, alg_type::std_fn>/300/105/0/0 2.121 1.515
bm_includes<uint16_t, alg_type::std_fn>/300/290/0/0 0.955 0.957
bm_includes<uint16_t, alg_type::std_fn>/3000/3/1/1 7 3.111
bm_includes<uint16_t, alg_type::std_fn>/3000/22/1/1 5.972 2.668
bm_includes<uint16_t, alg_type::std_fn>/3000/105/1/1 3.77 1.884
bm_includes<uint16_t, alg_type::std_fn>/3000/1504/1/1 1.353 1.13
bm_includes<uint16_t, alg_type::std_fn>/3000/2750/1/1 0.894 1
bm_includes<uint16_t, alg_type::std_fn>/300/3/1/1 5.227 2.368
bm_includes<uint16_t, alg_type::std_fn>/300/22/1/1 2.43 1.376
bm_includes<uint16_t, alg_type::std_fn>/300/105/1/1 1.344 0.964
bm_includes<uint16_t, alg_type::std_fn>/300/290/1/1 0.944 1.005
bm_includes<uint16_t, alg_type::std_fn>/3000/3/1/0 7.33 2.954
bm_includes<uint16_t, alg_type::std_fn>/3000/22/1/0 6.825 2.87
bm_includes<uint16_t, alg_type::std_fn>/3000/105/1/0 4.71 2.265
bm_includes<uint16_t, alg_type::std_fn>/3000/1504/1/0 1.556 1.195
bm_includes<uint16_t, alg_type::std_fn>/3000/2750/1/0 0.978 0.926
bm_includes<uint16_t, alg_type::std_fn>/300/3/1/0 5.476 2.556
bm_includes<uint16_t, alg_type::std_fn>/300/22/1/0 3.504 1.919
bm_includes<uint16_t, alg_type::std_fn>/300/105/1/0 1.432 0.955
bm_includes<uint16_t, alg_type::std_fn>/300/290/1/0 0.876 1.045
bm_includes<uint16_t, alg_type::std_fn>/3000/3/2/1 7.013 2.941
bm_includes<uint16_t, alg_type::std_fn>/3000/22/2/1 4.8 2.172
bm_includes<uint16_t, alg_type::std_fn>/3000/105/2/1 2.542 1.187
bm_includes<uint16_t, alg_type::std_fn>/3000/1504/2/1 0.922 0.647
bm_includes<uint16_t, alg_type::std_fn>/3000/2750/2/1 1.023 0.923
bm_includes<uint16_t, alg_type::std_fn>/300/3/2/1 4.773 2.223
bm_includes<uint16_t, alg_type::std_fn>/300/22/2/1 1.512 0.796
bm_includes<uint16_t, alg_type::std_fn>/300/105/2/1 0.818 0.597
bm_includes<uint16_t, alg_type::std_fn>/300/290/2/1 0.918 0.903
bm_includes<uint16_t, alg_type::std_fn>/3000/3/2/0 6.566 2.777
bm_includes<uint16_t, alg_type::std_fn>/3000/22/2/0 4.718 2.116
bm_includes<uint16_t, alg_type::std_fn>/3000/105/2/0 2.613 1.192
bm_includes<uint16_t, alg_type::std_fn>/3000/1504/2/0 0.932 0.638
bm_includes<uint16_t, alg_type::std_fn>/3000/2750/2/0 0.98 0.941
bm_includes<uint16_t, alg_type::std_fn>/300/3/2/0 5.026 2.165
bm_includes<uint16_t, alg_type::std_fn>/300/22/2/0 1.582 0.787
bm_includes<uint16_t, alg_type::std_fn>/300/105/2/0 0.852 0.593
bm_includes<uint16_t, alg_type::std_fn>/300/290/2/0 0.939 1.252
bm_includes<uint16_t, alg_type::std_fn>/3000/3/3/1 6.726 2.815
bm_includes<uint16_t, alg_type::std_fn>/3000/22/3/1 4.691 2.025
bm_includes<uint16_t, alg_type::std_fn>/3000/105/3/1 3.12 1.346
bm_includes<uint16_t, alg_type::std_fn>/3000/1504/3/1 1.023 0.907
bm_includes<uint16_t, alg_type::std_fn>/3000/2750/3/1 1 1.462
bm_includes<uint16_t, alg_type::std_fn>/300/3/3/1 4.902 2.226
bm_includes<uint16_t, alg_type::std_fn>/300/22/3/1 1.79 0.824
bm_includes<uint16_t, alg_type::std_fn>/300/105/3/1 0.985 0.774
bm_includes<uint16_t, alg_type::std_fn>/300/290/3/1 0.965 1.31
bm_includes<uint16_t, alg_type::std_fn>/3000/3/3/0 6.584 2.794
bm_includes<uint16_t, alg_type::std_fn>/3000/22/3/0 4.889 2.208
bm_includes<uint16_t, alg_type::std_fn>/3000/105/3/0 2.955 1.326
bm_includes<uint16_t, alg_type::std_fn>/3000/1504/3/0 1.023 0.902
bm_includes<uint16_t, alg_type::std_fn>/3000/2750/3/0 0.98 1.347
bm_includes<uint16_t, alg_type::std_fn>/300/3/3/0 4.537 2.195
bm_includes<uint16_t, alg_type::std_fn>/300/22/3/0 1.731 0.898
bm_includes<uint16_t, alg_type::std_fn>/300/105/3/0 0.909 0.682
bm_includes<uint16_t, alg_type::std_fn>/300/290/3/0 0.917 2.211
bm_includes<uint32_t, alg_type::std_fn>/3000/3/0/1 3.778 1.899
bm_includes<uint32_t, alg_type::std_fn>/3000/22/0/1 3.58 1.957
bm_includes<uint32_t, alg_type::std_fn>/3000/105/0/1 2.956 1.6
bm_includes<uint32_t, alg_type::std_fn>/3000/1504/0/1 1.15 0.889
bm_includes<uint32_t, alg_type::std_fn>/3000/2750/0/1 0.898 0.827
bm_includes<uint32_t, alg_type::std_fn>/300/3/0/1 2.766 1.443
bm_includes<uint32_t, alg_type::std_fn>/300/22/0/1 2.093 1.136
bm_includes<uint32_t, alg_type::std_fn>/300/105/0/1 1.282 1.119
bm_includes<uint32_t, alg_type::std_fn>/300/290/0/1 0.839 0.978
bm_includes<uint32_t, alg_type::std_fn>/3000/3/0/0 3.778 1.89
bm_includes<uint32_t, alg_type::std_fn>/3000/22/0/0 3.652 1.891
bm_includes<uint32_t, alg_type::std_fn>/3000/105/0/0 3.409 1.853
bm_includes<uint32_t, alg_type::std_fn>/3000/1504/0/0 1.385 0.975
bm_includes<uint32_t, alg_type::std_fn>/3000/2750/0/0 0.914 0.837
bm_includes<uint32_t, alg_type::std_fn>/300/3/0/0 2.854 1.449
bm_includes<uint32_t, alg_type::std_fn>/300/22/0/0 2.361 1.094
bm_includes<uint32_t, alg_type::std_fn>/300/105/0/0 1.61 1.244
bm_includes<uint32_t, alg_type::std_fn>/300/290/0/0 0.795 0.839
bm_includes<uint32_t, alg_type::std_fn>/3000/3/1/1 3.852 1.977
bm_includes<uint32_t, alg_type::std_fn>/3000/22/1/1 3.449 1.805
bm_includes<uint32_t, alg_type::std_fn>/3000/105/1/1 2.359 1.34
bm_includes<uint32_t, alg_type::std_fn>/3000/1504/1/1 1.203 0.914
bm_includes<uint32_t, alg_type::std_fn>/3000/2750/1/1 0.933 0.791
bm_includes<uint32_t, alg_type::std_fn>/300/3/1/1 2.638 1.162
bm_includes<uint32_t, alg_type::std_fn>/300/22/1/1 1.578 0.96
bm_includes<uint32_t, alg_type::std_fn>/300/105/1/1 0.76 0.7
bm_includes<uint32_t, alg_type::std_fn>/300/290/1/1 0.8 0.978
bm_includes<uint32_t, alg_type::std_fn>/3000/3/1/0 3.778 1.977
bm_includes<uint32_t, alg_type::std_fn>/3000/22/1/0 3.58 1.854
bm_includes<uint32_t, alg_type::std_fn>/3000/105/1/0 2.932 1.585
bm_includes<uint32_t, alg_type::std_fn>/3000/1504/1/0 1.378 0.995
bm_includes<uint32_t, alg_type::std_fn>/3000/2750/1/0 0.959 0.799
bm_includes<uint32_t, alg_type::std_fn>/300/3/1/0 2.727 1.227
bm_includes<uint32_t, alg_type::std_fn>/300/22/1/0 1.978 1.154
bm_includes<uint32_t, alg_type::std_fn>/300/105/1/0 0.888 0.747
bm_includes<uint32_t, alg_type::std_fn>/300/290/1/0 0.821 0.917
bm_includes<uint32_t, alg_type::std_fn>/3000/3/2/1 3.698 1.83
bm_includes<uint32_t, alg_type::std_fn>/3000/22/2/1 2.4 1.292
bm_includes<uint32_t, alg_type::std_fn>/3000/105/2/1 2.238 1.095
bm_includes<uint32_t, alg_type::std_fn>/3000/1504/2/1 0.5 0.391
bm_includes<uint32_t, alg_type::std_fn>/3000/2750/2/1 0.786 0.838
bm_includes<uint32_t, alg_type::std_fn>/300/3/2/1 3.013 1.414
bm_includes<uint32_t, alg_type::std_fn>/300/22/2/1 1.463 0.742
bm_includes<uint32_t, alg_type::std_fn>/300/105/2/1 0.48 0.385
bm_includes<uint32_t, alg_type::std_fn>/300/290/2/1 0.782 0.933
bm_includes<uint32_t, alg_type::std_fn>/3000/3/2/0 3.665 1.854
bm_includes<uint32_t, alg_type::std_fn>/3000/22/2/0 2.341 1.278
bm_includes<uint32_t, alg_type::std_fn>/3000/105/2/0 2.171 1.036
bm_includes<uint32_t, alg_type::std_fn>/3000/1504/2/0 0.5 0.436
bm_includes<uint32_t, alg_type::std_fn>/3000/2750/2/0 0.786 0.838
bm_includes<uint32_t, alg_type::std_fn>/300/3/2/0 3.182 1.603
bm_includes<uint32_t, alg_type::std_fn>/300/22/2/0 1.538 0.761
bm_includes<uint32_t, alg_type::std_fn>/300/105/2/0 0.457 0.383
bm_includes<uint32_t, alg_type::std_fn>/300/290/2/0 0.785 0.839
bm_includes<uint32_t, alg_type::std_fn>/3000/3/3/1 3.75 1.894
bm_includes<uint32_t, alg_type::std_fn>/3000/22/3/1 2.81 1.417
bm_includes<uint32_t, alg_type::std_fn>/3000/105/3/1 2.484 1.022
bm_includes<uint32_t, alg_type::std_fn>/3000/1504/3/1 0.722 0.698
bm_includes<uint32_t, alg_type::std_fn>/3000/2750/3/1 0.857 1.085
bm_includes<uint32_t, alg_type::std_fn>/300/3/3/1 2.715 1.344
bm_includes<uint32_t, alg_type::std_fn>/300/22/3/1 1.6 0.857
bm_includes<uint32_t, alg_type::std_fn>/300/105/3/1 0.813 0.681
bm_includes<uint32_t, alg_type::std_fn>/300/290/3/1 0.783 0.895
bm_includes<uint32_t, alg_type::std_fn>/3000/3/3/0 3.59 1.846
bm_includes<uint32_t, alg_type::std_fn>/3000/22/3/0 2.955 1.437
bm_includes<uint32_t, alg_type::std_fn>/3000/105/3/0 2.414 1.028
bm_includes<uint32_t, alg_type::std_fn>/3000/1504/3/0 0.682 0.698
bm_includes<uint32_t, alg_type::std_fn>/3000/2750/3/0 0.821 0.98
bm_includes<uint32_t, alg_type::std_fn>/300/3/3/0 3.081 1.533
bm_includes<uint32_t, alg_type::std_fn>/300/22/3/0 1.538 0.8
bm_includes<uint32_t, alg_type::std_fn>/300/105/3/0 0.711 0.592
bm_includes<uint32_t, alg_type::std_fn>/300/290/3/0 0.75 0.875
bm_includes<uint64_t, alg_type::std_fn>/3000/3/0/1 1.954 0.796
bm_includes<uint64_t, alg_type::std_fn>/3000/22/0/1 1.911 0.839
bm_includes<uint64_t, alg_type::std_fn>/3000/105/0/1 1.773 0.852
bm_includes<uint64_t, alg_type::std_fn>/3000/1504/0/1 0.889 0.71
bm_includes<uint64_t, alg_type::std_fn>/3000/2750/0/1 0.697 0.764
bm_includes<uint64_t, alg_type::std_fn>/300/3/0/1 1.881 0.683
bm_includes<uint64_t, alg_type::std_fn>/300/22/0/1 1.505 0.683
bm_includes<uint64_t, alg_type::std_fn>/300/105/0/1 1.024 0.812
bm_includes<uint64_t, alg_type::std_fn>/300/290/0/1 0.769 0.667
bm_includes<uint64_t, alg_type::std_fn>/3000/3/0/0 1.931 0.825
bm_includes<uint64_t, alg_type::std_fn>/3000/22/0/0 1.934 0.856
bm_includes<uint64_t, alg_type::std_fn>/3000/105/0/0 1.809 0.857
bm_includes<uint64_t, alg_type::std_fn>/3000/1504/0/0 0.985 0.743
bm_includes<uint64_t, alg_type::std_fn>/3000/2750/0/0 0.767 0.668
bm_includes<uint64_t, alg_type::std_fn>/300/3/0/0 1.881 0.75
bm_includes<uint64_t, alg_type::std_fn>/300/22/0/0 1.594 0.693
bm_includes<uint64_t, alg_type::std_fn>/300/105/0/0 1.114 0.812
bm_includes<uint64_t, alg_type::std_fn>/300/290/0/0 0.64 0.791
bm_includes<uint64_t, alg_type::std_fn>/3000/3/1/1 1.977 0.829
bm_includes<uint64_t, alg_type::std_fn>/3000/22/1/1 1.891 0.83
bm_includes<uint64_t, alg_type::std_fn>/3000/105/1/1 1.568 0.782
bm_includes<uint64_t, alg_type::std_fn>/3000/1504/1/1 0.964 0.766
bm_includes<uint64_t, alg_type::std_fn>/3000/2750/1/1 0.647 0.75
bm_includes<uint64_t, alg_type::std_fn>/300/3/1/1 1.793 0.684
bm_includes<uint64_t, alg_type::std_fn>/300/22/1/1 1.433 0.758
bm_includes<uint64_t, alg_type::std_fn>/300/105/1/1 0.668 0.45
bm_includes<uint64_t, alg_type::std_fn>/300/290/1/1 0.881 0.644
bm_includes<uint64_t, alg_type::std_fn>/3000/3/1/0 1.977 0.796
bm_includes<uint64_t, alg_type::std_fn>/3000/22/1/0 1.955 0.813
bm_includes<uint64_t, alg_type::std_fn>/3000/105/1/0 1.694 0.828
bm_includes<uint64_t, alg_type::std_fn>/3000/1504/1/0 1.023 0.797
bm_includes<uint64_t, alg_type::std_fn>/3000/2750/1/0 0.732 0.766
bm_includes<uint64_t, alg_type::std_fn>/300/3/1/0 1.912 0.628
bm_includes<uint64_t, alg_type::std_fn>/300/22/1/0 1.531 0.692
bm_includes<uint64_t, alg_type::std_fn>/300/105/1/0 0.747 0.447
bm_includes<uint64_t, alg_type::std_fn>/300/290/1/0 0.846 0.781
bm_includes<uint64_t, alg_type::std_fn>/3000/3/2/1 1.955 0.812
bm_includes<uint64_t, alg_type::std_fn>/3000/22/2/1 1.857 0.717
bm_includes<uint64_t, alg_type::std_fn>/3000/105/2/1 1.625 0.612
bm_includes<uint64_t, alg_type::std_fn>/3000/1504/2/1 0.411 0.408
bm_includes<uint64_t, alg_type::std_fn>/3000/2750/2/1 0.813 0.638
bm_includes<uint64_t, alg_type::std_fn>/300/3/2/1 1.936 0.692
bm_includes<uint64_t, alg_type::std_fn>/300/22/2/1 1.397 0.593
bm_includes<uint64_t, alg_type::std_fn>/300/105/2/1 0.583 0.398
bm_includes<uint64_t, alg_type::std_fn>/300/290/2/1 0.66 0.721
bm_includes<uint64_t, alg_type::std_fn>/3000/3/2/0 2 0.787
bm_includes<uint64_t, alg_type::std_fn>/3000/22/2/0 1.878 0.697
bm_includes<uint64_t, alg_type::std_fn>/3000/105/2/0 1.631 0.633
bm_includes<uint64_t, alg_type::std_fn>/3000/1504/2/0 0.412 0.297
bm_includes<uint64_t, alg_type::std_fn>/3000/2750/2/0 0.75 0.673
bm_includes<uint64_t, alg_type::std_fn>/300/3/2/0 1.87 0.786
bm_includes<uint64_t, alg_type::std_fn>/300/22/2/0 1.461 0.653
bm_includes<uint64_t, alg_type::std_fn>/300/105/2/0 0.564 0.385
bm_includes<uint64_t, alg_type::std_fn>/300/290/2/0 0.698 0.918
bm_includes<uint64_t, alg_type::std_fn>/3000/3/3/1 2.1 0.857
bm_includes<uint64_t, alg_type::std_fn>/3000/22/3/1 1.901 0.724
bm_includes<uint64_t, alg_type::std_fn>/3000/105/3/1 1.778 0.58
bm_includes<uint64_t, alg_type::std_fn>/3000/1504/3/1 0.737 0.635
bm_includes<uint64_t, alg_type::std_fn>/3000/2750/3/1 0.661 0.844
bm_includes<uint64_t, alg_type::std_fn>/300/3/3/1 1.793 0.672
bm_includes<uint64_t, alg_type::std_fn>/300/22/3/1 1.662 0.62
bm_includes<uint64_t, alg_type::std_fn>/300/105/3/1 0.926 0.701
bm_includes<uint64_t, alg_type::std_fn>/300/290/3/1 0.663 0.772
bm_includes<uint64_t, alg_type::std_fn>/3000/3/3/0 1.902 0.792
bm_includes<uint64_t, alg_type::std_fn>/3000/22/3/0 1.869 0.726
bm_includes<uint64_t, alg_type::std_fn>/3000/105/3/0 1.692 0.578
bm_includes<uint64_t, alg_type::std_fn>/3000/1504/3/0 0.716 0.6
bm_includes<uint64_t, alg_type::std_fn>/3000/2750/3/0 0.664 0.78
bm_includes<uint64_t, alg_type::std_fn>/300/3/3/0 1.865 0.66
bm_includes<uint64_t, alg_type::std_fn>/300/22/3/0 1.393 0.559
bm_includes<uint64_t, alg_type::std_fn>/300/105/3/0 0.838 0.622
bm_includes<uint64_t, alg_type::std_fn>/300/290/3/0 0.667 0.837
bm_includes<uint8_t, alg_type::rng>/3000/3/0/1 11.2 6.862
bm_includes<uint8_t, alg_type::rng>/3000/22/0/1 9.333 6.273
bm_includes<uint8_t, alg_type::rng>/3000/105/0/1 6.377 4.128
bm_includes<uint8_t, alg_type::rng>/3000/1504/0/1 1.375 1.116
bm_includes<uint8_t, alg_type::rng>/3000/2750/0/1 1.044 1
bm_includes<uint8_t, alg_type::rng>/300/3/0/1 8.047 4.861
bm_includes<uint8_t, alg_type::rng>/300/22/0/1 3.832 2.609
bm_includes<uint8_t, alg_type::rng>/300/105/0/1 1.875 1.533
bm_includes<uint8_t, alg_type::rng>/300/290/0/1 0.937 0.987
bm_includes<uint8_t, alg_type::rng>/3000/3/0/0 10.957 6.935
bm_includes<uint8_t, alg_type::rng>/3000/22/0/0 10 6.502
bm_includes<uint8_t, alg_type::rng>/3000/105/0/0 8.173 5.283
bm_includes<uint8_t, alg_type::rng>/3000/1504/0/0 1.76 1.301
bm_includes<uint8_t, alg_type::rng>/3000/2750/0/0 1.044 0.974
bm_includes<uint8_t, alg_type::rng>/300/3/0/0 9.199 5.357
bm_includes<uint8_t, alg_type::rng>/300/22/0/0 5.217 3.146
bm_includes<uint8_t, alg_type::rng>/300/105/0/0 2.256 1.783
bm_includes<uint8_t, alg_type::rng>/300/290/0/0 1.077 1.077
bm_includes<uint8_t, alg_type::rng>/3000/3/1/1 11.064 7.34
bm_includes<uint8_t, alg_type::rng>/3000/22/1/1 8.431 5.714
bm_includes<uint8_t, alg_type::rng>/3000/105/1/1 4.891 3.033
bm_includes<uint8_t, alg_type::rng>/3000/1504/1/1 1.408 1.143
bm_includes<uint8_t, alg_type::rng>/3000/2750/1/1 1.047 0.979
bm_includes<uint8_t, alg_type::rng>/300/3/1/1 6.888 4.152
bm_includes<uint8_t, alg_type::rng>/300/22/1/1 3.182 2.056
bm_includes<uint8_t, alg_type::rng>/300/105/1/1 1.253 1.169
bm_includes<uint8_t, alg_type::rng>/300/290/1/1 0.936 0.945
bm_includes<uint8_t, alg_type::rng>/3000/3/1/0 10.957 7.011
bm_includes<uint8_t, alg_type::rng>/3000/22/1/0 9.545 6
bm_includes<uint8_t, alg_type::rng>/3000/105/1/0 6.3 4.455
bm_includes<uint8_t, alg_type::rng>/3000/1504/1/0 1.731 1.392
bm_includes<uint8_t, alg_type::rng>/3000/2750/1/0 1.068 0.985
bm_includes<uint8_t, alg_type::rng>/300/3/1/0 7.872 4.429
bm_includes<uint8_t, alg_type::rng>/300/22/1/0 4.383 2.53
bm_includes<uint8_t, alg_type::rng>/300/105/1/0 1.573 1.279
bm_includes<uint8_t, alg_type::rng>/300/290/1/0 0.964 1.044
bm_includes<uint8_t, alg_type::rng>/3000/3/2/1 10.047 6.25
bm_includes<uint8_t, alg_type::rng>/3000/22/2/1 6.598 3.261
bm_includes<uint8_t, alg_type::rng>/3000/105/2/1 2.24 0.959
bm_includes<uint8_t, alg_type::rng>/3000/1504/2/1 0.981 0.928
bm_includes<uint8_t, alg_type::rng>/3000/2750/2/1 0.923 1.769
bm_includes<uint8_t, alg_type::rng>/300/3/2/1 5.497 2.657
bm_includes<uint8_t, alg_type::rng>/300/22/2/1 1.414 0.702
bm_includes<uint8_t, alg_type::rng>/300/105/2/1 0.987 0.846
bm_includes<uint8_t, alg_type::rng>/300/290/2/1 0.936 1.17
bm_includes<uint8_t, alg_type::rng>/3000/3/2/0 10.488 6.525
bm_includes<uint8_t, alg_type::rng>/3000/22/2/0 6.133 3.191
bm_includes<uint8_t, alg_type::rng>/3000/105/2/0 2.739 1.206
bm_includes<uint8_t, alg_type::rng>/3000/1504/2/0 0.969 0.891
bm_includes<uint8_t, alg_type::rng>/3000/2750/2/0 0.981 1.689
bm_includes<uint8_t, alg_type::rng>/300/3/2/0 5.455 2.727
bm_includes<uint8_t, alg_type::rng>/300/22/2/0 1.527 0.664
bm_includes<uint8_t, alg_type::rng>/300/105/2/0 0.997 0.854
bm_includes<uint8_t, alg_type::rng>/300/290/2/0 0.979 1.077
bm_includes<uint8_t, alg_type::rng>/3000/3/3/1 9.783 5.942
bm_includes<uint8_t, alg_type::rng>/3000/22/3/1 6.308 3.014
bm_includes<uint8_t, alg_type::rng>/3000/105/3/1 2.777 1.227
bm_includes<uint8_t, alg_type::rng>/3000/1504/3/1 0.972 0.935
bm_includes<uint8_t, alg_type::rng>/3000/2750/3/1 0.978 1.689
bm_includes<uint8_t, alg_type::rng>/300/3/3/1 6.016 2.941
bm_includes<uint8_t, alg_type::rng>/300/22/3/1 1.512 0.735
bm_includes<uint8_t, alg_type::rng>/300/105/3/1 1.059 0.889
bm_includes<uint8_t, alg_type::rng>/300/290/3/1 0.936 1.261
bm_includes<uint8_t, alg_type::rng>/3000/3/3/0 8.991 5.617
bm_includes<uint8_t, alg_type::rng>/3000/22/3/0 7.525 3.564
bm_includes<uint8_t, alg_type::rng>/3000/105/3/0 2.981 1.523
bm_includes<uint8_t, alg_type::rng>/3000/1504/3/0 0.98 0.893
bm_includes<uint8_t, alg_type::rng>/3000/2750/3/0 0.936 1.528
bm_includes<uint8_t, alg_type::rng>/300/3/3/0 5.829 3
bm_includes<uint8_t, alg_type::rng>/300/22/3/0 1.64 0.775
bm_includes<uint8_t, alg_type::rng>/300/105/3/0 1.087 0.947
bm_includes<uint8_t, alg_type::rng>/300/290/3/0 0.962 3.029
bm_includes<uint16_t, alg_type::rng>/3000/3/0/1 7.227 3.413
bm_includes<uint16_t, alg_type::rng>/3000/22/0/1 6.719 3.285
bm_includes<uint16_t, alg_type::rng>/3000/105/0/1 5.114 2.517
bm_includes<uint16_t, alg_type::rng>/3000/1504/0/1 1.27 1.035
bm_includes<uint16_t, alg_type::rng>/3000/2750/0/1 0.979 0.897
bm_includes<uint16_t, alg_type::rng>/300/3/0/1 5.972 3.005
bm_includes<uint16_t, alg_type::rng>/300/22/0/1 3.467 2.136
bm_includes<uint16_t, alg_type::rng>/300/105/0/1 1.607 1.382
bm_includes<uint16_t, alg_type::rng>/300/290/0/1 0.884 0.877
bm_includes<uint16_t, alg_type::rng>/3000/3/0/0 7.5 3.107
bm_includes<uint16_t, alg_type::rng>/3000/22/0/0 7.167 2.966
bm_includes<uint16_t, alg_type::rng>/3000/105/0/0 5.93 2.668
bm_includes<uint16_t, alg_type::rng>/3000/1504/0/0 1.607 1.14
bm_includes<uint16_t, alg_type::rng>/3000/2750/0/0 0.978 0.904
bm_includes<uint16_t, alg_type::rng>/300/3/0/0 6.216 2.877
bm_includes<uint16_t, alg_type::rng>/300/22/0/0 4.348 2.37
bm_includes<uint16_t, alg_type::rng>/300/105/0/0 2.08 1.629
bm_includes<uint16_t, alg_type::rng>/300/290/0/0 0.885 0.884
bm_includes<uint16_t, alg_type::rng>/3000/3/1/1 7.222 3.209
bm_includes<uint16_t, alg_type::rng>/3000/22/1/1 5.85 2.696
bm_includes<uint16_t, alg_type::rng>/3000/105/1/1 3.67 1.932
bm_includes<uint16_t, alg_type::rng>/3000/1504/1/1 1.286 1.091
bm_includes<uint16_t, alg_type::rng>/3000/2750/1/1 0.935 0.917
bm_includes<uint16_t, alg_type::rng>/300/3/1/1 5.574 2.506
bm_includes<uint16_t, alg_type::rng>/300/22/1/1 2.536 1.403
bm_includes<uint16_t, alg_type::rng>/300/105/1/1 1.065 0.98
bm_includes<uint16_t, alg_type::rng>/300/290/1/1 0.956 0.903
bm_includes<uint16_t, alg_type::rng>/3000/3/1/0 7.33 3.148
bm_includes<uint16_t, alg_type::rng>/3000/22/1/0 6.771 2.957
bm_includes<uint16_t, alg_type::rng>/3000/105/1/0 4.674 2.347
bm_includes<uint16_t, alg_type::rng>/3000/1504/1/0 1.607 1.14
bm_includes<uint16_t, alg_type::rng>/3000/2750/1/0 1 1.045
bm_includes<uint16_t, alg_type::rng>/300/3/1/0 5.687 2.418
bm_includes<uint16_t, alg_type::rng>/300/22/1/0 3.712 1.936
bm_includes<uint16_t, alg_type::rng>/300/105/1/0 1.227 0.938
bm_includes<uint16_t, alg_type::rng>/300/290/1/0 0.886 0.935
bm_includes<uint16_t, alg_type::rng>/3000/3/2/1 6.825 3.075
bm_includes<uint16_t, alg_type::rng>/3000/22/2/1 5.181 2.222
bm_includes<uint16_t, alg_type::rng>/3000/105/2/1 2.487 1.211
bm_includes<uint16_t, alg_type::rng>/3000/1504/2/1 0.745 0.612
bm_includes<uint16_t, alg_type::rng>/3000/2750/2/1 0.879 0.923
bm_includes<uint16_t, alg_type::rng>/300/3/2/1 5.46 2.223
bm_includes<uint16_t, alg_type::rng>/300/22/2/1 1.512 0.796
bm_includes<uint16_t, alg_type::rng>/300/105/2/1 0.718 0.6
bm_includes<uint16_t, alg_type::rng>/300/290/2/1 0.859 0.898
bm_includes<uint16_t, alg_type::rng>/3000/3/2/0 6.984 2.838
bm_includes<uint16_t, alg_type::rng>/3000/22/2/0 5.385 2.276
bm_includes<uint16_t, alg_type::rng>/3000/105/2/0 2.618 1.253
bm_includes<uint16_t, alg_type::rng>/3000/1504/2/0 0.75 0.625
bm_includes<uint16_t, alg_type::rng>/3000/2750/2/0 0.878 0.941
bm_includes<uint16_t, alg_type::rng>/300/3/2/0 5.455 2.165
bm_includes<uint16_t, alg_type::rng>/300/22/2/0 1.582 0.765
bm_includes<uint16_t, alg_type::rng>/300/105/2/0 0.73 0.573
bm_includes<uint16_t, alg_type::rng>/300/290/2/0 0.899 0.929
bm_includes<uint16_t, alg_type::rng>/3000/3/3/1 6.848 2.975
bm_includes<uint16_t, alg_type::rng>/3000/22/3/1 5.109 2.132
bm_includes<uint16_t, alg_type::rng>/3000/105/3/1 3.462 1.493
bm_includes<uint16_t, alg_type::rng>/3000/1504/3/1 0.916 0.885
bm_includes<uint16_t, alg_type::rng>/3000/2750/3/1 0.917 1.252
bm_includes<uint16_t, alg_type::rng>/300/3/3/1 5.328 2.328
bm_includes<uint16_t, alg_type::rng>/300/22/3/1 1.875 0.835
bm_includes<uint16_t, alg_type::rng>/300/105/3/1 0.915 0.774
bm_includes<uint16_t, alg_type::rng>/300/290/3/1 0.904 1.098
bm_includes<uint16_t, alg_type::rng>/3000/3/3/0 6.565 3.108
bm_includes<uint16_t, alg_type::rng>/3000/22/3/0 5.222 2.214
bm_includes<uint16_t, alg_type::rng>/3000/105/3/0 3.409 1.485
bm_includes<uint16_t, alg_type::rng>/3000/1504/3/0 0.857 0.897
bm_includes<uint16_t, alg_type::rng>/3000/2750/3/0 0.896 1.147
bm_includes<uint16_t, alg_type::rng>/300/3/3/0 5.6 2.195
bm_includes<uint16_t, alg_type::rng>/300/22/3/0 1.714 0.863
bm_includes<uint16_t, alg_type::rng>/300/105/3/0 0.818 0.685
bm_includes<uint16_t, alg_type::rng>/300/290/3/0 0.952 1.048
bm_includes<uint32_t, alg_type::rng>/3000/3/0/1 3.822 1.891
bm_includes<uint32_t, alg_type::rng>/3000/22/0/1 3.665 1.939
bm_includes<uint32_t, alg_type::rng>/3000/105/0/1 3 1.743
bm_includes<uint32_t, alg_type::rng>/3000/1504/0/1 1.067 0.932
bm_includes<uint32_t, alg_type::rng>/3000/2750/0/1 0.882 0.823
bm_includes<uint32_t, alg_type::rng>/300/3/0/1 2.848 1.517
bm_includes<uint32_t, alg_type::rng>/300/22/0/1 2.178 1.216
bm_includes<uint32_t, alg_type::rng>/300/105/0/1 1.203 1.065
bm_includes<uint32_t, alg_type::rng>/300/290/0/1 0.839 0.977
bm_includes<uint32_t, alg_type::rng>/3000/3/0/0 3.778 2.37
bm_includes<uint32_t, alg_type::rng>/3000/22/0/0 3.652 2.143
bm_includes<uint32_t, alg_type::rng>/3000/105/0/0 3.369 1.908
bm_includes<uint32_t, alg_type::rng>/3000/1504/0/0 1.347 1.15
bm_includes<uint32_t, alg_type::rng>/3000/2750/0/0 0.815 0.98
bm_includes<uint32_t, alg_type::rng>/300/3/0/0 2.796 1.607
bm_includes<uint32_t, alg_type::rng>/300/22/0/0 2.4 1.223
bm_includes<uint32_t, alg_type::rng>/300/105/0/0 1.605 1.364
bm_includes<uint32_t, alg_type::rng>/300/290/0/0 0.839 0.837
bm_includes<uint32_t, alg_type::rng>/3000/3/1/1 3.733 1.975
bm_includes<uint32_t, alg_type::rng>/3000/22/1/1 3.373 1.976
bm_includes<uint32_t, alg_type::rng>/3000/105/1/1 2.41 1.504
bm_includes<uint32_t, alg_type::rng>/3000/1504/1/1 1.167 1.031
bm_includes<uint32_t, alg_type::rng>/3000/2750/1/1 0.841 1
bm_includes<uint32_t, alg_type::rng>/300/3/1/1 2.665 1.185
bm_includes<uint32_t, alg_type::rng>/300/22/1/1 1.615 0.95
bm_includes<uint32_t, alg_type::rng>/300/105/1/1 1 0.727
bm_includes<uint32_t, alg_type::rng>/300/290/1/1 0.869 0.776
bm_includes<uint32_t, alg_type::rng>/3000/3/1/0 3.778 2.044
bm_includes<uint32_t, alg_type::rng>/3000/22/1/0 3.58 1.872
bm_includes<uint32_t, alg_type::rng>/3000/105/1/0 2.867 1.706
bm_includes<uint32_t, alg_type::rng>/3000/1504/1/0 1.314 1.042
bm_includes<uint32_t, alg_type::rng>/3000/2750/1/0 0.977 1.048
bm_includes<uint32_t, alg_type::rng>/300/3/1/0 2.727 1.236
bm_includes<uint32_t, alg_type::rng>/300/22/1/0 2.074 1.118
bm_includes<uint32_t, alg_type::rng>/300/105/1/0 1.071 0.75
bm_includes<uint32_t, alg_type::rng>/300/290/1/0 0.786 0.878
bm_includes<uint32_t, alg_type::rng>/3000/3/2/1 3.692 2.203
bm_includes<uint32_t, alg_type::rng>/3000/22/2/1 2.4 1.325
bm_includes<uint32_t, alg_type::rng>/3000/105/2/1 2.243 1.106
bm_includes<uint32_t, alg_type::rng>/3000/1504/2/1 0.623 0.444
bm_includes<uint32_t, alg_type::rng>/3000/2750/2/1 0.869 0.929
bm_includes<uint32_t, alg_type::rng>/300/3/2/1 2.933 1.477
bm_includes<uint32_t, alg_type::rng>/300/22/2/1 1.545 0.778
bm_includes<uint32_t, alg_type::rng>/300/105/2/1 0.547 0.393
bm_includes<uint32_t, alg_type::rng>/300/290/2/1 0.8 0.838
bm_includes<uint32_t, alg_type::rng>/3000/3/2/0 3.583 1.982
bm_includes<uint32_t, alg_type::rng>/3000/22/2/0 2.341 1.369
bm_includes<uint32_t, alg_type::rng>/3000/105/2/0 2.233 1.069
bm_includes<uint32_t, alg_type::rng>/3000/1504/2/0 0.623 0.419
bm_includes<uint32_t, alg_type::rng>/3000/2750/2/0 0.875 0.857
bm_includes<uint32_t, alg_type::rng>/300/3/2/0 3.247 1.493
bm_includes<uint32_t, alg_type::rng>/300/22/2/0 1.585 0.765
bm_includes<uint32_t, alg_type::rng>/300/105/2/0 0.522 0.385
bm_includes<uint32_t, alg_type::rng>/300/290/2/0 0.789 1.341
bm_includes<uint32_t, alg_type::rng>/3000/3/3/1 3.711 1.955
bm_includes<uint32_t, alg_type::rng>/3000/22/3/1 2.867 1.37
bm_includes<uint32_t, alg_type::rng>/3000/105/3/1 2.476 1.111
bm_includes<uint32_t, alg_type::rng>/3000/1504/3/1 0.824 0.722
bm_includes<uint32_t, alg_type::rng>/3000/2750/3/1 0.955 1.303
bm_includes<uint32_t, alg_type::rng>/300/3/3/1 2.805 1.28
bm_includes<uint32_t, alg_type::rng>/300/22/3/1 1.661 0.857
bm_includes<uint32_t, alg_type::rng>/300/105/3/1 0.854 0.655
bm_includes<uint32_t, alg_type::rng>/300/290/3/1 0.767 1.067
bm_includes<uint32_t, alg_type::rng>/3000/3/3/0 3.706 1.88
bm_includes<uint32_t, alg_type::rng>/3000/22/3/0 2.976 1.589
bm_includes<uint32_t, alg_type::rng>/3000/105/3/0 2.361 1.106
bm_includes<uint32_t, alg_type::rng>/3000/1504/3/0 0.778 0.689
bm_includes<uint32_t, alg_type::rng>/3000/2750/3/0 0.894 1.227
bm_includes<uint32_t, alg_type::rng>/300/3/3/0 2.78 1.467
bm_includes<uint32_t, alg_type::rng>/300/22/3/0 1.5 0.783
bm_includes<uint32_t, alg_type::rng>/300/105/3/0 0.761 0.58
bm_includes<uint32_t, alg_type::rng>/300/290/3/0 0.816 1.023
bm_includes<uint64_t, alg_type::rng>/3000/3/0/1 1.977 0.805
bm_includes<uint64_t, alg_type::rng>/3000/22/0/1 1.955 0.83
bm_includes<uint64_t, alg_type::rng>/3000/105/0/1 1.684 0.87
bm_includes<uint64_t, alg_type::rng>/3000/1504/0/1 0.796 0.877
bm_includes<uint64_t, alg_type::rng>/3000/2750/0/1 0.769 0.817
bm_includes<uint64_t, alg_type::rng>/300/3/0/1 1.875 0.665
bm_includes<uint64_t, alg_type::rng>/300/22/0/1 1.471 0.692
bm_includes<uint64_t, alg_type::rng>/300/105/0/1 0.9 0.767
bm_includes<uint64_t, alg_type::rng>/300/290/0/1 0.648 0.833
bm_includes<uint64_t, alg_type::rng>/3000/3/0/0 1.931 0.829
bm_includes<uint64_t, alg_type::rng>/3000/22/0/0 1.934 0.805
bm_includes<uint64_t, alg_type::rng>/3000/105/0/0 1.809 0.811
bm_includes<uint64_t, alg_type::rng>/3000/1504/0/0 0.978 0.926
bm_includes<uint64_t, alg_type::rng>/3000/2750/0/0 0.778 1.077
bm_includes<uint64_t, alg_type::rng>/300/3/0/0 1.86 0.659
bm_includes<uint64_t, alg_type::rng>/300/22/0/0 1.631 0.657
bm_includes<uint64_t, alg_type::rng>/300/105/0/0 1.045 0.797
bm_includes<uint64_t, alg_type::rng>/300/290/0/0 0.667 0.831
bm_includes<uint64_t, alg_type::rng>/3000/3/1/1 1.977 0.841
bm_includes<uint64_t, alg_type::rng>/3000/22/1/1 1.891 0.853
bm_includes<uint64_t, alg_type::rng>/3000/105/1/1 1.533 0.781
bm_includes<uint64_t, alg_type::rng>/3000/1504/1/1 0.9 0.857
bm_includes<uint64_t, alg_type::rng>/3000/2750/1/1 0.676 0.831
bm_includes<uint64_t, alg_type::rng>/300/3/1/1 1.835 0.631
bm_includes<uint64_t, alg_type::rng>/300/22/1/1 1.429 0.788
bm_includes<uint64_t, alg_type::rng>/300/105/1/1 0.533 0.45
bm_includes<uint64_t, alg_type::rng>/300/290/1/1 0.675 0.824
bm_includes<uint64_t, alg_type::rng>/3000/3/1/0 1.992 0.787
bm_includes<uint64_t, alg_type::rng>/3000/22/1/0 1.97 0.851
bm_includes<uint64_t, alg_type::rng>/3000/105/1/0 1.707 0.821
bm_includes<uint64_t, alg_type::rng>/3000/1504/1/0 0.918 0.891
bm_includes<uint64_t, alg_type::rng>/3000/2750/1/0 0.762 0.819
bm_includes<uint64_t, alg_type::rng>/300/3/1/0 1.823 0.628
bm_includes<uint64_t, alg_type::rng>/300/22/1/0 1.531 0.745
bm_includes<uint64_t, alg_type::rng>/300/105/1/0 0.613 0.424
bm_includes<uint64_t, alg_type::rng>/300/290/1/0 0.6 0.828
bm_includes<uint64_t, alg_type::rng>/3000/3/2/1 2 0.844
bm_includes<uint64_t, alg_type::rng>/3000/22/2/1 1.857 0.867
bm_includes<uint64_t, alg_type::rng>/3000/105/2/1 1.625 0.642
bm_includes<uint64_t, alg_type::rng>/3000/1504/2/1 0.331 0.282
bm_includes<uint64_t, alg_type::rng>/3000/2750/2/1 0.733 0.756
bm_includes<uint64_t, alg_type::rng>/300/3/2/1 1.915 0.683
bm_includes<uint64_t, alg_type::rng>/300/22/2/1 1.354 0.636
bm_includes<uint64_t, alg_type::rng>/300/105/2/1 0.5 0.426
bm_includes<uint64_t, alg_type::rng>/300/290/2/1 0.559 0.814
bm_includes<uint64_t, alg_type::rng>/3000/3/2/0 1.956 0.787
bm_includes<uint64_t, alg_type::rng>/3000/22/2/0 1.878 0.699
bm_includes<uint64_t, alg_type::rng>/3000/105/2/0 2.5 0.62
bm_includes<uint64_t, alg_type::rng>/3000/1504/2/0 0.333 0.288
bm_includes<uint64_t, alg_type::rng>/3000/2750/2/0 0.702 0.742
bm_includes<uint64_t, alg_type::rng>/300/3/2/0 1.786 0.81
bm_includes<uint64_t, alg_type::rng>/300/22/2/0 1.43 0.64
bm_includes<uint64_t, alg_type::rng>/300/105/2/0 0.479 0.393
bm_includes<uint64_t, alg_type::rng>/300/290/2/0 0.697 0.795
bm_includes<uint64_t, alg_type::rng>/3000/3/3/1 2.008 0.819
bm_includes<uint64_t, alg_type::rng>/3000/22/3/1 1.901 0.75
bm_includes<uint64_t, alg_type::rng>/3000/105/3/1 1.699 0.57
bm_includes<uint64_t, alg_type::rng>/3000/1504/3/1 0.66 0.62
bm_includes<uint64_t, alg_type::rng>/3000/2750/3/1 0.559 0.782
bm_includes<uint64_t, alg_type::rng>/300/3/3/1 1.913 0.714
bm_includes<uint64_t, alg_type::rng>/300/22/3/1 1.667 0.6
bm_includes<uint64_t, alg_type::rng>/300/105/3/1 0.87 0.681
bm_includes<uint64_t, alg_type::rng>/300/290/3/1 0.691 0.805
bm_includes<uint64_t, alg_type::rng>/3000/3/3/0 2.15 0.852
bm_includes<uint64_t, alg_type::rng>/3000/22/3/0 1.864 0.768
bm_includes<uint64_t, alg_type::rng>/3000/105/3/0 1.708 0.519
bm_includes<uint64_t, alg_type::rng>/3000/1504/3/0 0.625 0.599
bm_includes<uint64_t, alg_type::rng>/3000/2750/3/0 0.6 0.787
bm_includes<uint64_t, alg_type::rng>/300/3/3/0 1.522 0.659
bm_includes<uint64_t, alg_type::rng>/300/22/3/0 1.429 0.559
bm_includes<uint64_t, alg_type::rng>/300/105/3/0 0.763 0.599
bm_includes<uint64_t, alg_type::rng>/300/290/3/0 0.671 0.717
bm_includes<int8_t, alg_type::std_fn>/3000/3/0/1 10.723 6.787
bm_includes<int8_t, alg_type::std_fn>/3000/22/0/1 8.958 5.82
bm_includes<int8_t, alg_type::std_fn>/3000/105/0/1 6.439 4.362
bm_includes<int8_t, alg_type::std_fn>/3000/1504/0/1 1.307 1.281
bm_includes<int8_t, alg_type::std_fn>/3000/2750/0/1 0.979 1.187
bm_includes<int8_t, alg_type::std_fn>/300/3/0/1 8.222 6.222
bm_includes<int8_t, alg_type::std_fn>/300/22/0/1 4.083 2.915
bm_includes<int8_t, alg_type::std_fn>/300/105/0/1 1.707 1.567
bm_includes<int8_t, alg_type::std_fn>/300/290/0/1 1.077 1.117
bm_includes<int8_t, alg_type::std_fn>/3000/3/0/0 10.957 7.021
bm_includes<int8_t, alg_type::std_fn>/3000/22/0/0 9.69 6.476
bm_includes<int8_t, alg_type::std_fn>/3000/105/0/0 8.235 5.581
bm_includes<int8_t, alg_type::std_fn>/3000/1504/0/0 1.737 1.477
bm_includes<int8_t, alg_type::std_fn>/3000/2750/0/0 1.085 1.18
bm_includes<int8_t, alg_type::std_fn>/300/3/0/0 8.762 6.738
bm_includes<int8_t, alg_type::std_fn>/300/22/0/0 5.455 3.673
bm_includes<int8_t, alg_type::std_fn>/300/105/0/0 2.358 1.838
bm_includes<int8_t, alg_type::std_fn>/300/290/0/0 0.978 1.167
bm_includes<int8_t, alg_type::std_fn>/3000/3/1/1 10.723 7.25
bm_includes<int8_t, alg_type::std_fn>/3000/22/1/1 8.19 5.333
bm_includes<int8_t, alg_type::std_fn>/3000/105/1/1 5.111 2.889
bm_includes<int8_t, alg_type::std_fn>/3000/1504/1/1 1.347 1.316
bm_includes<int8_t, alg_type::std_fn>/3000/2750/1/1 1.024 1.182
bm_includes<int8_t, alg_type::std_fn>/300/3/1/1 7.132 5.2
bm_includes<int8_t, alg_type::std_fn>/300/22/1/1 3.394 2.223
bm_includes<int8_t, alg_type::std_fn>/300/105/1/1 1.571 1.143
bm_includes<int8_t, alg_type::std_fn>/300/290/1/1 0.923 1.094
bm_includes<int8_t, alg_type::std_fn>/3000/3/1/0 11.087 7.092
bm_includes<int8_t, alg_type::std_fn>/3000/22/1/0 10.366 6.707
bm_includes<int8_t, alg_type::std_fn>/3000/105/1/0 6.512 4.18
bm_includes<int8_t, alg_type::std_fn>/3000/1504/1/0 1.737 1.522
bm_includes<int8_t, alg_type::std_fn>/3000/2750/1/0 1.055 1.14
bm_includes<int8_t, alg_type::std_fn>/300/3/1/0 7.5 5.325
bm_includes<int8_t, alg_type::std_fn>/300/22/1/0 4.683 2.946
bm_includes<int8_t, alg_type::std_fn>/300/105/1/0 1.831 1.259
bm_includes<int8_t, alg_type::std_fn>/300/290/1/0 1.007 1.188
bm_includes<int8_t, alg_type::std_fn>/3000/3/2/1 9.773 6.111
bm_includes<int8_t, alg_type::std_fn>/3000/22/2/1 6.519 3.977
bm_includes<int8_t, alg_type::std_fn>/3000/105/2/1 2.481 1.222
bm_includes<int8_t, alg_type::std_fn>/3000/1504/2/1 1.132 0.89
bm_includes<int8_t, alg_type::std_fn>/3000/2750/2/1 1.036 1.505
bm_includes<int8_t, alg_type::std_fn>/300/3/2/1 5.789 3.378
bm_includes<int8_t, alg_type::std_fn>/300/22/2/1 1.333 0.709
bm_includes<int8_t, alg_type::std_fn>/300/105/2/1 1.077 0.858
bm_includes<int8_t, alg_type::std_fn>/300/290/2/1 0.978 1.288
bm_includes<int8_t, alg_type::std_fn>/3000/3/2/0 10.75 7.392
bm_includes<int8_t, alg_type::std_fn>/3000/22/2/0 6.558 3.333
bm_includes<int8_t, alg_type::std_fn>/3000/105/2/0 2.556 1.345
bm_includes<int8_t, alg_type::std_fn>/3000/1504/2/0 1.171 0.871
bm_includes<int8_t, alg_type::std_fn>/3000/2750/2/0 1.014 1.38
bm_includes<int8_t, alg_type::std_fn>/300/3/2/0 5.568 3.299
bm_includes<int8_t, alg_type::std_fn>/300/22/2/0 1.342 0.664
bm_includes<int8_t, alg_type::std_fn>/300/105/2/0 1.073 0.879
bm_includes<int8_t, alg_type::std_fn>/300/290/2/0 1.065 1.389
bm_includes<int8_t, alg_type::std_fn>/3000/3/3/1 10 6.173
bm_includes<int8_t, alg_type::std_fn>/3000/22/3/1 7.072 3.923
bm_includes<int8_t, alg_type::std_fn>/3000/105/3/1 3.02 1.353
bm_includes<int8_t, alg_type::std_fn>/3000/1504/3/1 1.13 0.873
bm_includes<int8_t, alg_type::std_fn>/3000/2750/3/1 1.014 1.286
bm_includes<int8_t, alg_type::std_fn>/300/3/3/1 6.15 3.693
bm_includes<int8_t, alg_type::std_fn>/300/22/3/1 1.46 0.766
bm_includes<int8_t, alg_type::std_fn>/300/105/3/1 1.077 0.851
bm_includes<int8_t, alg_type::std_fn>/300/290/3/1 0.991 1.259
bm_includes<int8_t, alg_type::std_fn>/3000/3/3/0 8.936 6.217
bm_includes<int8_t, alg_type::std_fn>/3000/22/3/0 7 4.286
bm_includes<int8_t, alg_type::std_fn>/3000/105/3/0 3.12 1.567
bm_includes<int8_t, alg_type::std_fn>/3000/1504/3/0 1.122 0.837
bm_includes<int8_t, alg_type::std_fn>/3000/2750/3/0 1 1.313
bm_includes<int8_t, alg_type::std_fn>/300/3/3/0 5.909 3.628
bm_includes<int8_t, alg_type::std_fn>/300/22/3/0 1.544 0.718
bm_includes<int8_t, alg_type::std_fn>/300/105/3/0 1.116 0.889
bm_includes<int8_t, alg_type::std_fn>/300/290/3/0 0.986 1.277
bm_includes<int16_t, alg_type::std_fn>/3000/3/0/1 6.5 3.625
bm_includes<int16_t, alg_type::std_fn>/3000/22/0/1 6.099 3.511
bm_includes<int16_t, alg_type::std_fn>/3000/105/0/1 4.72 2.778
bm_includes<int16_t, alg_type::std_fn>/3000/1504/0/1 1.46 1.045
bm_includes<int16_t, alg_type::std_fn>/3000/2750/0/1 1.083 0.889
bm_includes<int16_t, alg_type::std_fn>/300/3/0/1 5.972 3.415
bm_includes<int16_t, alg_type::std_fn>/300/22/0/1 3.684 2.319
bm_includes<int16_t, alg_type::std_fn>/300/105/0/1 1.752 1.304
bm_includes<int16_t, alg_type::std_fn>/300/290/0/1 0.978 0.883
bm_includes<int16_t, alg_type::std_fn>/3000/3/0/0 6.512 3.709
bm_includes<int16_t, alg_type::std_fn>/3000/22/0/0 6.37 3.625
bm_includes<int16_t, alg_type::std_fn>/3000/105/0/0 5.455 3.293
bm_includes<int16_t, alg_type::std_fn>/3000/1504/0/0 1.75 1.19
bm_includes<int16_t, alg_type::std_fn>/3000/2750/0/0 1.043 0.87
bm_includes<int16_t, alg_type::std_fn>/300/3/0/0 5.455 3.527
bm_includes<int16_t, alg_type::std_fn>/300/22/0/0 4.889 2.756
bm_includes<int16_t, alg_type::std_fn>/300/105/0/0 2.414 1.494
bm_includes<int16_t, alg_type::std_fn>/300/290/0/0 0.913 0.876
bm_includes<int16_t, alg_type::std_fn>/3000/3/1/1 6.515 3.625
bm_includes<int16_t, alg_type::std_fn>/3000/22/1/1 5.455 3.157
bm_includes<int16_t, alg_type::std_fn>/3000/105/1/1 3.566 2.086
bm_includes<int16_t, alg_type::std_fn>/3000/1504/1/1 1.344 1.052
bm_includes<int16_t, alg_type::std_fn>/3000/2750/1/1 1.022 0.917
bm_includes<int16_t, alg_type::std_fn>/300/3/1/1 5.574 3.32
bm_includes<int16_t, alg_type::std_fn>/300/22/1/1 2.486 1.577
bm_includes<int16_t, alg_type::std_fn>/300/105/1/1 1.05 1
bm_includes<int16_t, alg_type::std_fn>/300/290/1/1 0.964 0.923
bm_includes<int16_t, alg_type::std_fn>/3000/3/1/0 6.515 3.709
bm_includes<int16_t, alg_type::std_fn>/3000/22/1/0 6.147 3.529
bm_includes<int16_t, alg_type::std_fn>/3000/105/1/0 4.314 2.597
bm_includes<int16_t, alg_type::std_fn>/3000/1504/1/0 1.643 1.189
bm_includes<int16_t, alg_type::std_fn>/3000/2750/1/0 1.184 0.911
bm_includes<int16_t, alg_type::std_fn>/300/3/1/0 5.833 3.388
bm_includes<int16_t, alg_type::std_fn>/300/22/1/0 3.755 2.391
bm_includes<int16_t, alg_type::std_fn>/300/105/1/0 1.255 1
bm_includes<int16_t, alg_type::std_fn>/300/290/1/0 0.914 0.896
bm_includes<int16_t, alg_type::std_fn>/3000/3/2/1 5.749 3.49
bm_includes<int16_t, alg_type::std_fn>/3000/22/2/1 4.889 2.455
bm_includes<int16_t, alg_type::std_fn>/3000/105/2/1 2.43 1.162
bm_includes<int16_t, alg_type::std_fn>/3000/1504/2/1 0.737 0.644
bm_includes<int16_t, alg_type::std_fn>/3000/2750/2/1 0.918 0.903
bm_includes<int16_t, alg_type::std_fn>/300/3/2/1 4.848 2.857
bm_includes<int16_t, alg_type::std_fn>/300/22/2/1 1.512 0.76
bm_includes<int16_t, alg_type::std_fn>/300/105/2/1 0.719 0.585
bm_includes<int16_t, alg_type::std_fn>/300/290/2/1 0.883 1.122
bm_includes<int16_t, alg_type::std_fn>/3000/3/2/0 5.375 3.295
bm_includes<int16_t, alg_type::std_fn>/3000/22/2/0 5.009 2.469
bm_includes<int16_t, alg_type::std_fn>/3000/105/2/0 2.362 1.123
bm_includes<int16_t, alg_type::std_fn>/3000/1504/2/0 0.762 0.622
bm_includes<int16_t, alg_type::std_fn>/3000/2750/2/0 0.865 0.918
bm_includes<int16_t, alg_type::std_fn>/300/3/2/0 4.799 2.542
bm_includes<int16_t, alg_type::std_fn>/300/22/2/0 1.582 0.827
bm_includes<int16_t, alg_type::std_fn>/300/105/2/0 0.719 0.595
bm_includes<int16_t, alg_type::std_fn>/300/290/2/0 0.918 0.939
bm_includes<int16_t, alg_type::std_fn>/3000/3/3/1 5.789 3.445
bm_includes<int16_t, alg_type::std_fn>/3000/22/3/1 4.146 2.24
bm_includes<int16_t, alg_type::std_fn>/3000/105/3/1 3.088 1.38
bm_includes<int16_t, alg_type::std_fn>/3000/1504/3/1 0.937 0.896
bm_includes<int16_t, alg_type::std_fn>/3000/2750/3/1 0.923 1.169
bm_includes<int16_t, alg_type::std_fn>/300/3/3/1 4.915 3.021
bm_includes<int16_t, alg_type::std_fn>/300/22/3/1 1.83 0.835
bm_includes<int16_t, alg_type::std_fn>/300/105/3/1 0.936 0.781
bm_includes<int16_t, alg_type::std_fn>/300/290/3/1 0.923 1.023
bm_includes<int16_t, alg_type::std_fn>/3000/3/3/0 4.952 3.352
bm_includes<int16_t, alg_type::std_fn>/3000/22/3/0 4.211 2.413
bm_includes<int16_t, alg_type::std_fn>/3000/105/3/0 3.116 1.355
bm_includes<int16_t, alg_type::std_fn>/3000/1504/3/0 0.897 0.917
bm_includes<int16_t, alg_type::std_fn>/3000/2750/3/0 0.941 1.195
bm_includes<int16_t, alg_type::std_fn>/300/3/3/0 5.114 2.907
bm_includes<int16_t, alg_type::std_fn>/300/22/3/0 1.736 0.878
bm_includes<int16_t, alg_type::std_fn>/300/105/3/0 0.855 0.682
bm_includes<int16_t, alg_type::std_fn>/300/290/3/0 0.952 1.071
bm_includes<int32_t, alg_type::std_fn>/3000/3/0/1 3.583 2.023
bm_includes<int32_t, alg_type::std_fn>/3000/22/0/1 3.449 2.022
bm_includes<int32_t, alg_type::std_fn>/3000/105/0/1 2.857 1.87
bm_includes<int32_t, alg_type::std_fn>/3000/1504/0/1 1.125 1.084
bm_includes<int32_t, alg_type::std_fn>/3000/2750/0/1 0.882 1.017
bm_includes<int32_t, alg_type::std_fn>/300/3/0/1 2.174 1.364
bm_includes<int32_t, alg_type::std_fn>/300/22/0/1 2.1 1.346
bm_includes<int32_t, alg_type::std_fn>/300/105/0/1 1.256 1.051
bm_includes<int32_t, alg_type::std_fn>/300/290/0/1 0.839 0.984
bm_includes<int32_t, alg_type::std_fn>/3000/3/0/0 3.665 2.029
bm_includes<int32_t, alg_type::std_fn>/3000/22/0/0 3.505 1.875
bm_includes<int32_t, alg_type::std_fn>/3000/105/0/0 3.111 1.809
bm_includes<int32_t, alg_type::std_fn>/3000/1504/0/0 1.32 1.071
bm_includes<int32_t, alg_type::std_fn>/3000/2750/0/0 0.865 0.915
bm_includes<int32_t, alg_type::std_fn>/300/3/0/0 2.178 1.333
bm_includes<int32_t, alg_type::std_fn>/300/22/0/0 2.453 1.319
bm_includes<int32_t, alg_type::std_fn>/300/105/0/0 1.602 1.35
bm_includes<int32_t, alg_type::std_fn>/300/290/0/0 0.786 0.904
bm_includes<int32_t, alg_type::std_fn>/3000/3/1/1 3.613 1.944
bm_includes<int32_t, alg_type::std_fn>/3000/22/1/1 3.333 2.02
bm_includes<int32_t, alg_type::std_fn>/3000/105/1/1 2.98 1.605
bm_includes<int32_t, alg_type::std_fn>/3000/1504/1/1 1.077 1
bm_includes<int32_t, alg_type::std_fn>/3000/2750/1/1 0.768 1
bm_includes<int32_t, alg_type::std_fn>/300/3/1/1 2.345 1.516
bm_includes<int32_t, alg_type::std_fn>/300/22/1/1 1.956 1.047
bm_includes<int32_t, alg_type::std_fn>/300/105/1/1 0.784 0.727
bm_includes<int32_t, alg_type::std_fn>/300/290/1/1 0.748 1
bm_includes<int32_t, alg_type::std_fn>/3000/3/1/0 3.583 1.893
bm_includes<int32_t, alg_type::std_fn>/3000/22/1/0 3.449 2.022
bm_includes<int32_t, alg_type::std_fn>/3000/105/1/0 2.792 1.739
bm_includes<int32_t, alg_type::std_fn>/3000/1504/1/0 1.35 1.141
bm_includes<int32_t, alg_type::std_fn>/3000/2750/1/0 0.885 1.024
bm_includes<int32_t, alg_type::std_fn>/300/3/1/0 2.333 1.259
bm_includes<int32_t, alg_type::std_fn>/300/22/1/0 2.631 1.243
bm_includes<int32_t, alg_type::std_fn>/300/105/1/0 0.962 0.804
bm_includes<int32_t, alg_type::std_fn>/300/290/1/0 0.768 0.892
bm_includes<int32_t, alg_type::std_fn>/3000/3/2/1 3.349 1.786
bm_includes<int32_t, alg_type::std_fn>/3000/22/2/1 2.306 1.47
bm_includes<int32_t, alg_type::std_fn>/3000/105/2/1 2.192 1.288
bm_includes<int32_t, alg_type::std_fn>/3000/1504/2/1 0.5 0.41
bm_includes<int32_t, alg_type::std_fn>/3000/2750/2/1 0.804 0.676
bm_includes<int32_t, alg_type::std_fn>/300/3/2/1 3.345 1.867
bm_includes<int32_t, alg_type::std_fn>/300/22/2/1 1.512 0.85
bm_includes<int32_t, alg_type::std_fn>/300/105/2/1 0.491 0.382
bm_includes<int32_t, alg_type::std_fn>/300/290/2/1 0.766 1.071
bm_includes<int32_t, alg_type::std_fn>/3000/3/2/0 3.333 1.722
bm_includes<int32_t, alg_type::std_fn>/3000/22/2/0 2.5 1.593
bm_includes<int32_t, alg_type::std_fn>/3000/105/2/0 2.207 1.369
bm_includes<int32_t, alg_type::std_fn>/3000/1504/2/0 0.5 0.416
bm_includes<int32_t, alg_type::std_fn>/3000/2750/2/0 0.792 0.875
bm_includes<int32_t, alg_type::std_fn>/300/3/2/0 3.636 1.975
bm_includes<int32_t, alg_type::std_fn>/300/22/2/0 1.605 0.809
bm_includes<int32_t, alg_type::std_fn>/300/105/2/0 0.472 0.385
bm_includes<int32_t, alg_type::std_fn>/300/290/2/0 0.784 1.003
bm_includes<int32_t, alg_type::std_fn>/3000/3/3/1 3.417 1.806
bm_includes<int32_t, alg_type::std_fn>/3000/22/3/1 2.623 1.467
bm_includes<int32_t, alg_type::std_fn>/3000/105/3/1 2.8 1.343
bm_includes<int32_t, alg_type::std_fn>/3000/1504/3/1 0.706 0.689
bm_includes<int32_t, alg_type::std_fn>/3000/2750/3/1 0.82 1.063
bm_includes<int32_t, alg_type::std_fn>/300/3/3/1 2.884 1.35
bm_includes<int32_t, alg_type::std_fn>/300/22/3/1 1.828 0.98
bm_includes<int32_t, alg_type::std_fn>/300/105/3/1 0.813 0.642
bm_includes<int32_t, alg_type::std_fn>/300/290/3/1 0.675 0.957
bm_includes<int32_t, alg_type::std_fn>/3000/3/3/0 3.273 1.816
bm_includes<int32_t, alg_type::std_fn>/3000/22/3/0 2.67 1.643
bm_includes<int32_t, alg_type::std_fn>/3000/105/3/0 2.881 1.165
bm_includes<int32_t, alg_type::std_fn>/3000/1504/3/0 0.675 0.681
bm_includes<int32_t, alg_type::std_fn>/3000/2750/3/0 0.821 1.059
bm_includes<int32_t, alg_type::std_fn>/300/3/3/0 3.704 2.03
bm_includes<int32_t, alg_type::std_fn>/300/22/3/0 1.702 0.822
bm_includes<int32_t, alg_type::std_fn>/300/105/3/0 0.709 0.565
bm_includes<int32_t, alg_type::std_fn>/300/290/3/0 0.781 0.978
bm_includes<int64_t, alg_type::std_fn>/3000/3/0/1 1.911 0.967
bm_includes<int64_t, alg_type::std_fn>/3000/22/0/1 1.891 0.957
bm_includes<int64_t, alg_type::std_fn>/3000/105/0/1 1.674 0.919
bm_includes<int64_t, alg_type::std_fn>/3000/1504/0/1 0.9 0.69
bm_includes<int64_t, alg_type::std_fn>/3000/2750/0/1 0.782 0.686
bm_includes<int64_t, alg_type::std_fn>/300/3/0/1 1.47 0.8
bm_includes<int64_t, alg_type::std_fn>/300/22/0/1 1.254 0.8
bm_includes<int64_t, alg_type::std_fn>/300/105/0/1 0.873 0.638
bm_includes<int64_t, alg_type::std_fn>/300/290/0/1 0.543 0.75
bm_includes<int64_t, alg_type::std_fn>/3000/3/0/0 1.911 0.997
bm_includes<int64_t, alg_type::std_fn>/3000/22/0/0 1.891 0.967
bm_includes<int64_t, alg_type::std_fn>/3000/105/0/0 1.759 1.007
bm_includes<int64_t, alg_type::std_fn>/3000/1504/0/0 1.102 0.722
bm_includes<int64_t, alg_type::std_fn>/3000/2750/0/0 0.82 0.638
bm_includes<int64_t, alg_type::std_fn>/300/3/0/0 1.5 0.715
bm_includes<int64_t, alg_type::std_fn>/300/22/0/0 1.309 0.767
bm_includes<int64_t, alg_type::std_fn>/300/105/0/0 0.952 0.781
bm_includes<int64_t, alg_type::std_fn>/300/290/0/0 0.587 0.726
bm_includes<int64_t, alg_type::std_fn>/3000/3/1/1 1.926 0.967
bm_includes<int64_t, alg_type::std_fn>/3000/22/1/1 1.814 0.957
bm_includes<int64_t, alg_type::std_fn>/3000/105/1/1 1.533 0.896
bm_includes<int64_t, alg_type::std_fn>/3000/1504/1/1 0.841 0.688
bm_includes<int64_t, alg_type::std_fn>/3000/2750/1/1 0.699 0.708
bm_includes<int64_t, alg_type::std_fn>/300/3/1/1 1.505 0.7
bm_includes<int64_t, alg_type::std_fn>/300/22/1/1 1.27 0.758
bm_includes<int64_t, alg_type::std_fn>/300/105/1/1 0.562 0.46
bm_includes<int64_t, alg_type::std_fn>/300/290/1/1 0.722 0.957
bm_includes<int64_t, alg_type::std_fn>/3000/3/1/0 1.911 0.957
bm_includes<int64_t, alg_type::std_fn>/3000/22/1/0 1.891 0.924
bm_includes<int64_t, alg_type::std_fn>/3000/105/1/0 1.711 0.943
bm_includes<int64_t, alg_type::std_fn>/3000/1504/1/0 1.059 0.739
bm_includes<int64_t, alg_type::std_fn>/3000/2750/1/0 0.766 0.694
bm_includes<int64_t, alg_type::std_fn>/300/3/1/0 1.47 0.738
bm_includes<int64_t, alg_type::std_fn>/300/22/1/0 1.364 0.678
bm_includes<int64_t, alg_type::std_fn>/300/105/1/0 0.583 0.476
bm_includes<int64_t, alg_type::std_fn>/300/290/1/0 0.709 0.782
bm_includes<int64_t, alg_type::std_fn>/3000/3/2/1 1.87 0.956
bm_includes<int64_t, alg_type::std_fn>/3000/22/2/1 1.857 0.838
bm_includes<int64_t, alg_type::std_fn>/3000/105/2/1 1.625 0.756
bm_includes<int64_t, alg_type::std_fn>/3000/1504/2/1 0.329 0.271
bm_includes<int64_t, alg_type::std_fn>/3000/2750/2/1 0.723 0.706
bm_includes<int64_t, alg_type::std_fn>/300/3/2/1 1.607 0.7
bm_includes<int64_t, alg_type::std_fn>/300/22/2/1 1.36 0.681
bm_includes<int64_t, alg_type::std_fn>/300/105/2/1 0.489 0.4
bm_includes<int64_t, alg_type::std_fn>/300/290/2/1 0.632 0.717
bm_includes<int64_t, alg_type::std_fn>/3000/3/2/0 1.897 0.935
bm_includes<int64_t, alg_type::std_fn>/3000/22/2/0 1.76 0.793
bm_includes<int64_t, alg_type::std_fn>/3000/105/2/0 1.83 0.753
bm_includes<int64_t, alg_type::std_fn>/3000/1504/2/0 0.336 0.256
bm_includes<int64_t, alg_type::std_fn>/3000/2750/2/0 0.658 0.702
bm_includes<int64_t, alg_type::std_fn>/300/3/2/0 1.6 0.667
bm_includes<int64_t, alg_type::std_fn>/300/22/2/0 1.443 0.717
bm_includes<int64_t, alg_type::std_fn>/300/105/2/0 0.493 0.393
bm_includes<int64_t, alg_type::std_fn>/300/290/2/0 0.624 0.681
bm_includes<int64_t, alg_type::std_fn>/3000/3/3/1 1.892 0.969
bm_includes<int64_t, alg_type::std_fn>/3000/22/3/1 1.831 0.828
bm_includes<int64_t, alg_type::std_fn>/3000/105/3/1 1.558 0.587
bm_includes<int64_t, alg_type::std_fn>/3000/1504/3/1 0.671 0.669
bm_includes<int64_t, alg_type::std_fn>/3000/2750/3/1 0.697 0.913
bm_includes<int64_t, alg_type::std_fn>/300/3/3/1 1.438 0.671
bm_includes<int64_t, alg_type::std_fn>/300/22/3/1 1.63 0.725
bm_includes<int64_t, alg_type::std_fn>/300/105/3/1 0.855 0.685
bm_includes<int64_t, alg_type::std_fn>/300/290/3/1 0.627 0.761
bm_includes<int64_t, alg_type::std_fn>/3000/3/3/0 1.87 0.92
bm_includes<int64_t, alg_type::std_fn>/3000/22/3/0 1.702 0.787
bm_includes<int64_t, alg_type::std_fn>/3000/105/3/0 1.344 0.61
bm_includes<int64_t, alg_type::std_fn>/3000/1504/3/0 0.629 0.657
bm_includes<int64_t, alg_type::std_fn>/3000/2750/3/0 0.685 0.9
bm_includes<int64_t, alg_type::std_fn>/300/3/3/0 1.451 0.606
bm_includes<int64_t, alg_type::std_fn>/300/22/3/0 1.536 0.72
bm_includes<int64_t, alg_type::std_fn>/300/105/3/0 0.745 0.639
bm_includes<int64_t, alg_type::std_fn>/300/290/3/0 0.624 0.908
bm_includes<int8_t, alg_type::rng>/3000/3/0/1 11.064 6.787
bm_includes<int8_t, alg_type::rng>/3000/22/0/1 9.059 5.625
bm_includes<int8_t, alg_type::rng>/3000/105/0/1 6.286 3.902
bm_includes<int8_t, alg_type::rng>/3000/1504/0/1 1.439 1.34
bm_includes<int8_t, alg_type::rng>/3000/2750/0/1 1.068 0.935
bm_includes<int8_t, alg_type::rng>/300/3/0/1 8.546 5.31
bm_includes<int8_t, alg_type::rng>/300/22/0/1 4.083 2.889
bm_includes<int8_t, alg_type::rng>/300/105/0/1 1.718 1.335
bm_includes<int8_t, alg_type::rng>/300/290/0/1 0.962 0.902
bm_includes<int8_t, alg_type::rng>/3000/3/0/0 10.957 7
bm_includes<int8_t, alg_type::rng>/3000/22/0/0 9.692 6.283
bm_includes<int8_t, alg_type::rng>/3000/105/0/0 8.372 5
bm_includes<int8_t, alg_type::rng>/3000/1504/0/0 1.812 1.261
bm_includes<int8_t, alg_type::rng>/3000/2750/0/0 1.085 0.87
bm_includes<int8_t, alg_type::rng>/300/3/0/0 9.333 5.973
bm_includes<int8_t, alg_type::rng>/300/22/0/0 5.818 3.29
bm_includes<int8_t, alg_type::rng>/300/105/0/0 2.358 1.678
bm_includes<int8_t, alg_type::rng>/300/290/0/0 0.979 0.979
bm_includes<int8_t, alg_type::rng>/3000/3/1/1 10.723 6.787
bm_includes<int8_t, alg_type::rng>/3000/22/1/1 8.199 5.114
bm_includes<int8_t, alg_type::rng>/3000/105/1/1 5 2.94
bm_includes<int8_t, alg_type::rng>/3000/1504/1/1 1.429 1.088
bm_includes<int8_t, alg_type::rng>/3000/2750/1/1 1.067 0.938
bm_includes<int8_t, alg_type::rng>/300/3/1/1 7.937 4.533
bm_includes<int8_t, alg_type::rng>/300/22/1/1 3.616 2.172
bm_includes<int8_t, alg_type::rng>/300/105/1/1 1.495 1.169
bm_includes<int8_t, alg_type::rng>/300/290/1/1 1.007 0.936
bm_includes<int8_t, alg_type::rng>/3000/3/1/0 11.217 6.787
bm_includes<int8_t, alg_type::rng>/3000/22/1/0 10.118 6.293
bm_includes<int8_t, alg_type::rng>/3000/105/1/0 6.746 3.953
bm_includes<int8_t, alg_type::rng>/3000/1504/1/0 1.722 1.247
bm_includes<int8_t, alg_type::rng>/3000/2750/1/0 1.116 0.961
bm_includes<int8_t, alg_type::rng>/300/3/1/0 8.167 5.06
bm_includes<int8_t, alg_type::rng>/300/22/1/0 4.667 2.834
bm_includes<int8_t, alg_type::rng>/300/105/1/0 1.631 1.308
bm_includes<int8_t, alg_type::rng>/300/290/1/0 1.05 1
bm_includes<int8_t, alg_type::rng>/3000/3/2/1 9.773 6.111
bm_includes<int8_t, alg_type::rng>/3000/22/2/1 7.273 3.256
bm_includes<int8_t, alg_type::rng>/3000/105/2/1 2.823 1.068
bm_includes<int8_t, alg_type::rng>/3000/1504/2/1 1.022 0.833
bm_includes<int8_t, alg_type::rng>/3000/2750/2/1 1.059 1.408
bm_includes<int8_t, alg_type::rng>/300/3/2/1 6.61 2.749
bm_includes<int8_t, alg_type::rng>/300/22/2/1 1.43 0.58
bm_includes<int8_t, alg_type::rng>/300/105/2/1 1.023 0.846
bm_includes<int8_t, alg_type::rng>/300/290/2/1 1.043 1.144
bm_includes<int8_t, alg_type::rng>/3000/3/2/0 10.488 6.366
bm_includes<int8_t, alg_type::rng>/3000/22/2/0 6.984 3.129
bm_includes<int8_t, alg_type::rng>/3000/105/2/0 2.671 1.093
bm_includes<int8_t, alg_type::rng>/3000/1504/2/0 0.988 0.815
bm_includes<int8_t, alg_type::rng>/3000/2750/2/0 0.957 1.318
bm_includes<int8_t, alg_type::rng>/300/3/2/0 5.874 2.778
bm_includes<int8_t, alg_type::rng>/300/22/2/0 1.493 0.664
bm_includes<int8_t, alg_type::rng>/300/105/2/0 0.983 0.836
bm_includes<int8_t, alg_type::rng>/300/290/2/0 1.021 1.216
bm_includes<int8_t, alg_type::rng>/3000/3/3/1 10 5.816
bm_includes<int8_t, alg_type::rng>/3000/22/3/1 7.212 3.365
bm_includes<int8_t, alg_type::rng>/3000/105/3/1 3.52 1.353
bm_includes<int8_t, alg_type::rng>/3000/1504/3/1 1.051 0.853
bm_includes<int8_t, alg_type::rng>/3000/2750/3/1 1.036 1.196
bm_includes<int8_t, alg_type::rng>/300/3/3/1 6.685 3.188
bm_includes<int8_t, alg_type::rng>/300/22/3/1 1.667 0.732
bm_includes<int8_t, alg_type::rng>/300/105/3/1 0.977 0.866
bm_includes<int8_t, alg_type::rng>/300/290/3/1 0.987 1.116
bm_includes<int8_t, alg_type::rng>/3000/3/3/0 8.974 5.75
bm_includes<int8_t, alg_type::rng>/3000/22/3/0 7.833 3.447
bm_includes<int8_t, alg_type::rng>/3000/105/3/0 3.556 1.364
bm_includes<int8_t, alg_type::rng>/3000/1504/3/0 0.976 0.849
bm_includes<int8_t, alg_type::rng>/3000/2750/3/0 0.978 1.17
bm_includes<int8_t, alg_type::rng>/300/3/3/0 7.029 3.14
bm_includes<int8_t, alg_type::rng>/300/22/3/0 1.683 0.749
bm_includes<int8_t, alg_type::rng>/300/105/3/0 1.063 0.928
bm_includes<int8_t, alg_type::rng>/300/290/3/0 0.958 1.092
bm_includes<int16_t, alg_type::rng>/3000/3/0/1 6.566 3.68
bm_includes<int16_t, alg_type::rng>/3000/22/0/1 6.019 3.492
bm_includes<int16_t, alg_type::rng>/3000/105/0/1 4.49 2.791
bm_includes<int16_t, alg_type::rng>/3000/1504/0/1 1.229 1.068
bm_includes<int16_t, alg_type::rng>/3000/2750/0/1 0.957 0.965
bm_includes<int16_t, alg_type::rng>/300/3/0/1 5.952 2.851
bm_includes<int16_t, alg_type::rng>/300/22/0/1 3.5 2.056
bm_includes<int16_t, alg_type::rng>/300/105/0/1 1.685 1.342
bm_includes<int16_t, alg_type::rng>/300/290/0/1 0.956 1
bm_includes<int16_t, alg_type::rng>/3000/3/0/0 6.515 3.709
bm_includes<int16_t, alg_type::rng>/3000/22/0/0 6.28 3.625
bm_includes<int16_t, alg_type::rng>/3000/105/0/0 5.497 3.248
bm_includes<int16_t, alg_type::rng>/3000/1504/0/0 1.5 1.145
bm_includes<int16_t, alg_type::rng>/3000/2750/0/0 1.037 0.966
bm_includes<int16_t, alg_type::rng>/300/3/0/0 6.074 2.993
bm_includes<int16_t, alg_type::rng>/300/22/0/0 4.558 2.327
bm_includes<int16_t, alg_type::rng>/300/105/0/0 2.178 1.607
bm_includes<int16_t, alg_type::rng>/300/290/0/0 0.994 0.932
bm_includes<int16_t, alg_type::rng>/3000/3/1/1 6.718 3.544
bm_includes<int16_t, alg_type::rng>/3000/22/1/1 5.455 3.125
bm_includes<int16_t, alg_type::rng>/3000/105/1/1 3.535 2.096
bm_includes<int16_t, alg_type::rng>/3000/1504/1/1 1.209 1.075
bm_includes<int16_t, alg_type::rng>/3000/2750/1/1 0.955 0.936
bm_includes<int16_t, alg_type::rng>/300/3/1/1 5.444 2.638
bm_includes<int16_t, alg_type::rng>/300/22/1/1 2.609 1.439
bm_includes<int16_t, alg_type::rng>/300/105/1/1 1.345 0.956
bm_includes<int16_t, alg_type::rng>/300/290/1/1 0.939 0.944
bm_includes<int16_t, alg_type::rng>/3000/3/1/0 6.515 3.798
bm_includes<int16_t, alg_type::rng>/3000/22/1/0 6.143 3.452
bm_includes<int16_t, alg_type::rng>/3000/105/1/0 4.513 2.527
bm_includes<int16_t, alg_type::rng>/3000/1504/1/0 1.571 1.189
bm_includes<int16_t, alg_type::rng>/3000/2750/1/0 1.022 0.904
bm_includes<int16_t, alg_type::rng>/300/3/1/0 5.833 2.884
bm_includes<int16_t, alg_type::rng>/300/22/1/0 3.979 2.032
bm_includes<int16_t, alg_type::rng>/300/105/1/0 1.527 0.982
bm_includes<int16_t, alg_type::rng>/300/290/1/0 0.857 0.935
bm_includes<int16_t, alg_type::rng>/3000/3/2/1 5.718 3.492
bm_includes<int16_t, alg_type::rng>/3000/22/2/1 5.318 2.345
bm_includes<int16_t, alg_type::rng>/3000/105/2/1 2.545 1.187
bm_includes<int16_t, alg_type::rng>/3000/1504/2/1 0.922 0.738
bm_includes<int16_t, alg_type::rng>/3000/2750/2/1 1 0.884
bm_includes<int16_t, alg_type::rng>/300/3/2/1 5.576 2.446
bm_includes<int16_t, alg_type::rng>/300/22/2/1 1.526 0.76
bm_includes<int16_t, alg_type::rng>/300/105/2/1 0.862 0.585
bm_includes<int16_t, alg_type::rng>/300/290/2/1 0.933 0.906
bm_includes<int16_t, alg_type::rng>/3000/3/2/0 5.331 3.372
bm_includes<int16_t, alg_type::rng>/3000/22/2/0 5.635 2.433
bm_includes<int16_t, alg_type::rng>/3000/105/2/0 2.519 1.148
bm_includes<int16_t, alg_type::rng>/3000/1504/2/0 0.904 0.654
bm_includes<int16_t, alg_type::rng>/3000/2750/2/0 1 0.897
bm_includes<int16_t, alg_type::rng>/300/3/2/0 5.568 2.471
bm_includes<int16_t, alg_type::rng>/300/22/2/0 1.639 0.78
bm_includes<int16_t, alg_type::rng>/300/105/2/0 0.873 0.582
bm_includes<int16_t, alg_type::rng>/300/290/2/0 0.977 1.348
bm_includes<int16_t, alg_type::rng>/3000/3/3/1 5.885 3.417
bm_includes<int16_t, alg_type::rng>/3000/22/3/1 4.437 2.234
bm_includes<int16_t, alg_type::rng>/3000/105/3/1 3.456 1.35
bm_includes<int16_t, alg_type::rng>/3000/1504/3/1 1.045 0.916
bm_includes<int16_t, alg_type::rng>/3000/2750/3/1 1 1.47
bm_includes<int16_t, alg_type::rng>/300/3/3/1 5.238 2.46
bm_includes<int16_t, alg_type::rng>/300/22/3/1 1.75 0.855
bm_includes<int16_t, alg_type::rng>/300/105/3/1 0.985 0.769
bm_includes<int16_t, alg_type::rng>/300/290/3/1 1.019 1.224
bm_includes<int16_t, alg_type::rng>/3000/3/3/0 5.083 3.286
bm_includes<int16_t, alg_type::rng>/3000/22/3/0 4.363 2.468
bm_includes<int16_t, alg_type::rng>/3000/105/3/0 3.333 1.355
bm_includes<int16_t, alg_type::rng>/3000/1504/3/0 1 0.918
bm_includes<int16_t, alg_type::rng>/3000/2750/3/0 1.082 1.316
bm_includes<int16_t, alg_type::rng>/300/3/3/0 4.778 2.496
bm_includes<int16_t, alg_type::rng>/300/22/3/0 1.79 0.92
bm_includes<int16_t, alg_type::rng>/300/105/3/0 0.9 0.699
bm_includes<int16_t, alg_type::rng>/300/290/3/0 0.916 2.245
bm_includes<int32_t, alg_type::rng>/3000/3/0/1 3.583 1.827
bm_includes<int32_t, alg_type::rng>/3000/22/0/1 3.613 1.774
bm_includes<int32_t, alg_type::rng>/3000/105/0/1 2.87 1.612
bm_includes<int32_t, alg_type::rng>/3000/1504/0/1 1.139 0.816
bm_includes<int32_t, alg_type::rng>/3000/2750/0/1 0.872 0.769
bm_includes<int32_t, alg_type::rng>/300/3/0/1 1.978 1.045
bm_includes<int32_t, alg_type::rng>/300/22/0/1 1.867 1.122
bm_includes<int32_t, alg_type::rng>/300/105/0/1 1.118 0.913
bm_includes<int32_t, alg_type::rng>/300/290/0/1 0.876 0.749
bm_includes<int32_t, alg_type::rng>/3000/3/0/0 3.622 1.855
bm_includes<int32_t, alg_type::rng>/3000/22/0/0 3.529 1.792
bm_includes<int32_t, alg_type::rng>/3000/105/0/0 3.182 1.727
bm_includes<int32_t, alg_type::rng>/3000/1504/0/0 1.286 1.07
bm_includes<int32_t, alg_type::rng>/3000/2750/0/0 0.887 0.987
bm_includes<int32_t, alg_type::rng>/300/3/0/0 1.957 1.069
bm_includes<int32_t, alg_type::rng>/300/22/0/0 2.256 1.004
bm_includes<int32_t, alg_type::rng>/300/105/0/0 1.473 1.244
bm_includes<int32_t, alg_type::rng>/300/290/0/0 0.804 0.8
bm_includes<int32_t, alg_type::rng>/3000/3/1/1 3.424 1.812
bm_includes<int32_t, alg_type::rng>/3000/22/1/1 3.229 1.705
bm_includes<int32_t, alg_type::rng>/3000/105/1/1 2.323 1.32
bm_includes<int32_t, alg_type::rng>/3000/1504/1/1 1.15 0.871
bm_includes<int32_t, alg_type::rng>/3000/2750/1/1 0.911 1.16
bm_includes<int32_t, alg_type::rng>/300/3/1/1 2.097 1.148
bm_includes<int32_t, alg_type::rng>/300/22/1/1 1.712 0.969
bm_includes<int32_t, alg_type::rng>/300/105/1/1 0.727 0.744
bm_includes<int32_t, alg_type::rng>/300/290/1/1 0.82 1.214
bm_includes<int32_t, alg_type::rng>/3000/3/1/0 3.5 1.812
bm_includes<int32_t, alg_type::rng>/3000/22/1/0 3.447 1.773
bm_includes<int32_t, alg_type::rng>/3000/105/1/0 2.745 1.516
bm_includes<int32_t, alg_type::rng>/3000/1504/1/0 1.346 1.071
bm_includes<int32_t, alg_type::rng>/3000/2750/1/0 0.889 0.896
bm_includes<int32_t, alg_type::rng>/300/3/1/0 2.143 1.057
bm_includes<int32_t, alg_type::rng>/300/22/1/0 2.36 1.244
bm_includes<int32_t, alg_type::rng>/300/105/1/0 0.888 0.729
bm_includes<int32_t, alg_type::rng>/300/290/1/0 0.785 0.875
bm_includes<int32_t, alg_type::rng>/3000/3/2/1 3.295 1.734
bm_includes<int32_t, alg_type::rng>/3000/22/2/1 2.457 1.29
bm_includes<int32_t, alg_type::rng>/3000/105/2/1 2.218 1.138
bm_includes<int32_t, alg_type::rng>/3000/1504/2/1 0.5 0.391
bm_includes<int32_t, alg_type::rng>/3000/2750/2/1 0.82 0.725
bm_includes<int32_t, alg_type::rng>/300/3/2/1 2.956 1.535
bm_includes<int32_t, alg_type::rng>/300/22/2/1 1.512 0.775
bm_includes<int32_t, alg_type::rng>/300/105/2/1 0.469 0.382
bm_includes<int32_t, alg_type::rng>/300/290/2/1 0.847 0.856
bm_includes<int32_t, alg_type::rng>/3000/3/2/0 3.182 1.669
bm_includes<int32_t, alg_type::rng>/3000/22/2/0 2.429 1.263
bm_includes<int32_t, alg_type::rng>/3000/105/2/0 2.159 1.082
bm_includes<int32_t, alg_type::rng>/3000/1504/2/0 0.5 0.395
bm_includes<int32_t, alg_type::rng>/3000/2750/2/0 0.838 0.754
bm_includes<int32_t, alg_type::rng>/300/3/2/0 3.182 1.684
bm_includes<int32_t, alg_type::rng>/300/22/2/0 1.567 0.761
bm_includes<int32_t, alg_type::rng>/300/105/2/0 0.462 0.383
bm_includes<int32_t, alg_type::rng>/300/290/2/0 0.787 0.952
bm_includes<int32_t, alg_type::rng>/3000/3/3/1 3.348 1.804
bm_includes<int32_t, alg_type::rng>/3000/22/3/1 2.4 1.214
bm_includes<int32_t, alg_type::rng>/3000/105/3/1 2.447 1.11
bm_includes<int32_t, alg_type::rng>/3000/1504/3/1 0.698 0.706
bm_includes<int32_t, alg_type::rng>/3000/2750/3/1 0.856 1
bm_includes<int32_t, alg_type::rng>/300/3/3/1 2.775 1.194
bm_includes<int32_t, alg_type::rng>/300/22/3/1 1.589 0.875
bm_includes<int32_t, alg_type::rng>/300/105/3/1 0.811 0.657
bm_includes<int32_t, alg_type::rng>/300/290/3/1 0.804 0.76
bm_includes<int32_t, alg_type::rng>/3000/3/3/0 3.141 1.637
bm_includes<int32_t, alg_type::rng>/3000/22/3/0 2.532 1.296
bm_includes<int32_t, alg_type::rng>/3000/105/3/0 2.36 1.124
bm_includes<int32_t, alg_type::rng>/3000/1504/3/0 0.682 0.682
bm_includes<int32_t, alg_type::rng>/3000/2750/3/0 0.83 0.894
bm_includes<int32_t, alg_type::rng>/300/3/3/0 2.95 1.689
bm_includes<int32_t, alg_type::rng>/300/22/3/0 1.532 0.8
bm_includes<int32_t, alg_type::rng>/300/105/3/0 0.71 0.58
bm_includes<int32_t, alg_type::rng>/300/290/3/0 0.875 0.833
bm_includes<int64_t, alg_type::rng>/3000/3/0/1 1.911 0.936
bm_includes<int64_t, alg_type::rng>/3000/22/0/1 1.849 0.968
bm_includes<int64_t, alg_type::rng>/3000/105/0/1 1.692 0.893
bm_includes<int64_t, alg_type::rng>/3000/1504/0/1 0.921 0.714
bm_includes<int64_t, alg_type::rng>/3000/2750/0/1 0.716 0.667
bm_includes<int64_t, alg_type::rng>/300/3/0/1 1.441 0.675
bm_includes<int64_t, alg_type::rng>/300/22/0/1 1.283 0.681
bm_includes<int64_t, alg_type::rng>/300/105/0/1 0.874 0.717
bm_includes<int64_t, alg_type::rng>/300/290/0/1 0.713 0.673
bm_includes<int64_t, alg_type::rng>/3000/3/0/0 1.955 0.967
bm_includes<int64_t, alg_type::rng>/3000/22/0/0 1.911 0.967
bm_includes<int64_t, alg_type::rng>/3000/105/0/0 1.814 0.947
bm_includes<int64_t, alg_type::rng>/3000/1504/0/0 0.977 0.76
bm_includes<int64_t, alg_type::rng>/3000/2750/0/0 0.637 0.715
bm_includes<int64_t, alg_type::rng>/300/3/0/0 1.435 0.689
bm_includes<int64_t, alg_type::rng>/300/22/0/0 1.34 0.679
bm_includes<int64_t, alg_type::rng>/300/105/0/0 0.957 0.65
bm_includes<int64_t, alg_type::rng>/300/290/0/0 0.614 0.727
bm_includes<int64_t, alg_type::rng>/3000/3/1/1 1.911 0.967
bm_includes<int64_t, alg_type::rng>/3000/22/1/1 1.8 0.926
bm_includes<int64_t, alg_type::rng>/3000/105/1/1 1.522 0.871
bm_includes<int64_t, alg_type::rng>/3000/1504/1/1 0.833 0.7
bm_includes<int64_t, alg_type::rng>/3000/2750/1/1 0.667 0.607
bm_includes<int64_t, alg_type::rng>/300/3/1/1 1.471 0.699
bm_includes<int64_t, alg_type::rng>/300/22/1/1 1.246 0.727
bm_includes<int64_t, alg_type::rng>/300/105/1/1 0.647 0.46
bm_includes<int64_t, alg_type::rng>/300/290/1/1 0.608 0.794
bm_includes<int64_t, alg_type::rng>/3000/3/1/0 1.932 0.945
bm_includes<int64_t, alg_type::rng>/3000/22/1/0 1.864 0.968
bm_includes<int64_t, alg_type::rng>/3000/105/1/0 1.694 0.918
bm_includes<int64_t, alg_type::rng>/3000/1504/1/0 0.896 0.713
bm_includes<int64_t, alg_type::rng>/3000/2750/1/0 0.715 0.773
bm_includes<int64_t, alg_type::rng>/300/3/1/0 1.475 0.689
bm_includes<int64_t, alg_type::rng>/300/22/1/0 1.333 0.667
bm_includes<int64_t, alg_type::rng>/300/105/1/0 0.683 0.448
bm_includes<int64_t, alg_type::rng>/300/290/1/0 0.652 0.667
bm_includes<int64_t, alg_type::rng>/3000/3/2/1 1.96 0.96
bm_includes<int64_t, alg_type::rng>/3000/22/2/1 1.857 0.838
bm_includes<int64_t, alg_type::rng>/3000/105/2/1 1.634 0.784
bm_includes<int64_t, alg_type::rng>/3000/1504/2/1 0.411 0.27
bm_includes<int64_t, alg_type::rng>/3000/2750/2/1 0.735 0.733
bm_includes<int64_t, alg_type::rng>/300/3/2/1 1.625 0.703
bm_includes<int64_t, alg_type::rng>/300/22/2/1 1.459 0.684
bm_includes<int64_t, alg_type::rng>/300/105/2/1 0.557 0.407
bm_includes<int64_t, alg_type::rng>/300/290/2/1 0.739 0.661
bm_includes<int64_t, alg_type::rng>/3000/3/2/0 1.943 0.926
bm_includes<int64_t, alg_type::rng>/3000/22/2/0 1.75 0.802
bm_includes<int64_t, alg_type::rng>/3000/105/2/0 1.631 0.775
bm_includes<int64_t, alg_type::rng>/3000/1504/2/0 0.416 0.275
bm_includes<int64_t, alg_type::rng>/3000/2750/2/0 0.75 0.718
bm_includes<int64_t, alg_type::rng>/300/3/2/0 1.6 0.675
bm_includes<int64_t, alg_type::rng>/300/22/2/0 1.491 0.717
bm_includes<int64_t, alg_type::rng>/300/105/2/0 0.559 0.393
bm_includes<int64_t, alg_type::rng>/300/290/2/0 0.705 0.659
bm_includes<int64_t, alg_type::rng>/3000/3/3/1 1.919 0.946
bm_includes<int64_t, alg_type::rng>/3000/22/3/1 1.829 0.828
bm_includes<int64_t, alg_type::rng>/3000/105/3/1 1.53 0.605
bm_includes<int64_t, alg_type::rng>/3000/1504/3/1 0.737 0.657
bm_includes<int64_t, alg_type::rng>/3000/2750/3/1 0.675 0.776
bm_includes<int64_t, alg_type::rng>/300/3/3/1 1.406 0.625
bm_includes<int64_t, alg_type::rng>/300/22/3/1 1.477 0.742
bm_includes<int64_t, alg_type::rng>/300/105/3/1 0.912 0.717
bm_includes<int64_t, alg_type::rng>/300/290/3/1 0.691 0.728
bm_includes<int64_t, alg_type::rng>/3000/3/3/0 1.87 0.942
bm_includes<int64_t, alg_type::rng>/3000/22/3/0 1.75 0.8
bm_includes<int64_t, alg_type::rng>/3000/105/3/0 1.398 0.585
bm_includes<int64_t, alg_type::rng>/3000/1504/3/0 0.713 0.625
bm_includes<int64_t, alg_type::rng>/3000/2750/3/0 0.636 0.745
bm_includes<int64_t, alg_type::rng>/300/3/3/0 1.308 0.591
bm_includes<int64_t, alg_type::rng>/300/22/3/0 1.373 0.732
bm_includes<int64_t, alg_type::rng>/300/105/3/0 0.838 0.639
bm_includes<int64_t, alg_type::rng>/300/290/3/0 0.7 0.684
 
@AlexGuteniev

Copy link
Copy Markdown
Contributor

We didn't target Clang performance much in the past. We didn't build and run benchmark for Clang until #5533. I intended #5533 as a preparation for #5591 (the 6-byte color case in mismatch that can be vectorized only for Clang due to MSVC lacking the ability to detect such case). Whereas #5590 was later than that, Clang numbers weren't obtained.

Sure, the Clang numbers can be collected now. We can build with set CXXFLAGS=/D_USE_STD_VECTOR_ALGORITHMS=0 to revert to pre-vectorized state. This is a bit time consuming for the particular benchmark as there are a lot of cases (for a reason, it is an attempt to represent the variety of subset/"needle" distribution). But I can do that if needed.

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) added performance Must go faster ARM64 Related to the ARM64 architecture labels Feb 5, 2026
Comment thread stl/src/vector_algorithms.cpp Outdated
@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) moved this from Initial Review to Ready To Merge in STL Code Reviews Feb 6, 2026
@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) moved this from Ready To Merge to Merging in STL Code Reviews Feb 9, 2026
@StephanTLavavej

Copy link
Copy Markdown
Member

I'm mirroring this to the MSVC-internal repo. Please notify me if any further changes are pushed, otherwise no action is required.

@StephanTLavavej
Stephan T. Lavavej (StephanTLavavej) merged commit 4e9e747 into microsoft:main Feb 11, 2026
45 checks passed
@github-project-automation github-project-automation Bot moved this from Merging to Done in STL Code Reviews Feb 11, 2026
@StephanTLavavej

Copy link
Copy Markdown
Member

📈 🚀 🦾

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

Labels

ARM64 Related to the ARM64 architecture performance Must go faster

3 participants