Skip to content

Add Neon implementation of includes#6076

Open
hazzlim wants to merge 2 commits intomicrosoft:mainfrom
hazzlim:includes-neon-pr
Open

Add Neon implementation of includes#6076
hazzlim wants to merge 2 commits intomicrosoft:mainfrom
hazzlim:includes-neon-pr

Conversation

@hazzlim
Copy link
Contributor

@hazzlim hazzlim commented Feb 5, 2026

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 hazzlim requested a review from a team as a code owner February 5, 2026 17:02
@github-project-automation github-project-automation bot moved this to Initial Review in STL Code Reviews Feb 5, 2026
@hazzlim
Copy link
Contributor Author

hazzlim commented Feb 5, 2026

⏱️ 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
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 StephanTLavavej self-assigned this Feb 5, 2026
@StephanTLavavej StephanTLavavej added performance Must go faster ARM64 Related to the ARM64 architecture labels Feb 5, 2026
@StephanTLavavej StephanTLavavej removed their assignment Feb 6, 2026
@StephanTLavavej StephanTLavavej moved this from Initial Review to Ready To Merge in STL Code Reviews Feb 6, 2026
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

Projects

Status: Ready To Merge

Development

Successfully merging this pull request may close these issues.

3 participants