[libcxx-commits] [libcxx] [libc++] std::cmp_less and other integer comparison functions could be improved (PR #151332)

via libcxx-commits libcxx-commits at lists.llvm.org
Mon Sep 15 21:51:32 PDT 2025


kisuhorikka wrote:

| --------------------------------------------------------------------
| Benchmark                          Time             CPU   Iterations
| --------------------------------------------------------------------
| BM_CmpEqual_schar_schar        0.221 ns        0.221 ns   3170066917
| BM_CmpEqual_schar_uchar        0.232 ns        0.232 ns   3025025997
| BM_CmpEqual_schar_short        0.280 ns        0.280 ns   2507488723
| BM_CmpEqual_schar_ushort       0.361 ns        0.361 ns   2086768552
| BM_CmpEqual_schar_int          0.220 ns        0.220 ns   3123871432
| BM_CmpEqual_schar_uint         0.233 ns        0.233 ns   3023305113
| BM_CmpEqual_uchar_schar        0.221 ns        0.221 ns   3180711887
| BM_CmpEqual_uchar_uchar        0.220 ns        0.220 ns   3177773411
| BM_CmpEqual_uchar_short        0.221 ns        0.221 ns   3178208863
| BM_CmpEqual_uchar_ushort       0.295 ns        0.295 ns   2331090257
| BM_CmpEqual_uchar_int          0.221 ns        0.221 ns   3156844998
| BM_CmpEqual_uchar_uint         0.220 ns        0.220 ns   3169867220
| BM_CmpEqual_short_schar        0.662 ns        0.662 ns   1057277878
| BM_CmpEqual_short_uchar        0.232 ns        0.232 ns   3019119818
| BM_CmpEqual_short_short        0.222 ns        0.222 ns   3171932178
| BM_CmpEqual_short_ushort       0.282 ns        0.282 ns   2495630490
| BM_CmpEqual_short_int          0.221 ns        0.221 ns   3165298446
| BM_CmpEqual_short_uint         0.368 ns        0.368 ns   2151247764
| BM_CmpEqual_ushort_schar       0.280 ns        0.280 ns   2503964124
| BM_CmpEqual_ushort_uchar       0.221 ns        0.221 ns   3164632430
| BM_CmpEqual_ushort_short       0.281 ns        0.281 ns   2502613193
| BM_CmpEqual_ushort_ushort      0.221 ns        0.221 ns   3164295092
| BM_CmpEqual_ushort_int         0.221 ns        0.221 ns   3170047435
| BM_CmpEqual_ushort_uint        0.222 ns        0.222 ns   3172795286
| BM_CmpEqual_int_schar          0.221 ns        0.221 ns   3170067649
| BM_CmpEqual_int_uchar          0.221 ns        0.221 ns   3162764124
| BM_CmpEqual_int_short          0.222 ns        0.222 ns   3149384461
| BM_CmpEqual_int_ushort         0.221 ns        0.221 ns   3170863296
| BM_CmpEqual_int_int            0.221 ns        0.221 ns   3173623511
| BM_CmpEqual_int_uint           0.349 ns        0.349 ns   2074548798
| BM_CmpEqual_uint_schar         0.221 ns        0.221 ns   3172609898
| BM_CmpEqual_uint_uchar         0.221 ns        0.221 ns   3167865061
| BM_CmpEqual_uint_short         0.221 ns        0.221 ns   3166421901
| BM_CmpEqual_uint_ushort        0.221 ns        0.221 ns   3154601627
| BM_CmpEqual_uint_int           0.222 ns        0.222 ns   3170922460
| BM_CmpEqual_uint_uint          0.221 ns        0.221 ns   3178919527
| BM_CmpLess_schar_schar         0.220 ns        0.220 ns   3166946919
| BM_CmpLess_schar_uchar         0.328 ns        0.328 ns   1989530669
| BM_CmpLess_schar_short         0.280 ns        0.280 ns   2481635006
| BM_CmpLess_schar_ushort        0.280 ns        0.280 ns   2494961754
| BM_CmpLess_schar_int           0.221 ns        0.221 ns   3170387379
| BM_CmpLess_schar_uint          0.232 ns        0.232 ns   3020929987
| BM_CmpLess_uchar_schar         0.339 ns        0.339 ns   2301816456
| BM_CmpLess_uchar_uchar         0.221 ns        0.221 ns   3168381752
| BM_CmpLess_uchar_short         0.221 ns        0.221 ns   3172130050
| BM_CmpLess_uchar_ushort        0.226 ns        0.226 ns   3177268420
| BM_CmpLess_uchar_int           0.221 ns        0.221 ns   3171207495
| BM_CmpLess_uchar_uint          0.221 ns        0.221 ns   3175834030
| BM_CmpLess_short_schar         0.663 ns        0.663 ns   1047532663
| BM_CmpLess_short_uchar         0.301 ns        0.301 ns   2210991543
| BM_CmpLess_short_short         0.220 ns        0.220 ns   3178165314
| BM_CmpLess_short_ushort        0.280 ns        0.280 ns   2502057388
| BM_CmpLess_short_int           0.223 ns        0.223 ns   3163647242
| BM_CmpLess_short_uint          0.233 ns        0.233 ns   3015274874
| BM_CmpLess_ushort_schar        0.280 ns        0.280 ns   2494740988
| BM_CmpLess_ushort_uchar        0.316 ns        0.316 ns   2124921107
| BM_CmpLess_ushort_short        0.280 ns        0.280 ns   2503617728
| BM_CmpLess_ushort_ushort       0.221 ns        0.221 ns   3166649427
| BM_CmpLess_ushort_int          0.221 ns        0.221 ns   3109921684
| BM_CmpLess_ushort_uint         0.221 ns        0.221 ns   3173252017
| BM_CmpLess_int_schar           0.222 ns        0.222 ns   3164772816
| BM_CmpLess_int_uchar           0.221 ns        0.221 ns   3141461765
| BM_CmpLess_int_short           0.221 ns        0.221 ns   3165358991
| BM_CmpLess_int_ushort          0.221 ns        0.221 ns   3172701309
| BM_CmpLess_int_int             0.222 ns        0.222 ns   3152883866
| BM_CmpLess_int_uint            0.232 ns        0.232 ns   2991786154
| BM_CmpLess_uint_schar          0.221 ns        0.221 ns   3174540447
| BM_CmpLess_uint_uchar          0.221 ns        0.220 ns   3177358990
| BM_CmpLess_uint_short          0.300 ns        0.300 ns   2362252788
| BM_CmpLess_uint_ushort         0.221 ns        0.221 ns   3178372133
| BM_CmpLess_uint_int            0.221 ns        0.221 ns   3177162541
| BM_CmpLess_uint_uint           0.221 ns        0.221 ns   3177473622
`-----------------------------
.---command stderr------------
| 2025-09-09T20:03:38+08:00
| Running /home/kisuhorikka/Source/llvm-project/build/libcxx/test/benchmarks/utility/Output/cmp.bench.cpp.dir/t.tmp.exe
| Run on (16 X 2304 MHz CPU s)
| CPU Caches:
|   L1 Data 48 KiB (x8)
|   L1 Instruction 32 KiB (x8)
|   L2 Unified 1280 KiB (x8)
|   L3 Unified 24576 KiB (x1)
| Load Average: 0.12, 0.25, 0.30
`-----------------------------

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


More information about the libcxx-commits mailing list