[libcxx-commits] [PATCH] D147089: [libc++] Add assertions for potential OOB reads in std::sort
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Apr 19 14:22:49 PDT 2023
ldionne added a comment.
In D147089#4253128 <https://reviews.llvm.org/D147089#4253128>, @Mordante wrote:
> Thanks for working on this. Does it resolve https://github.com/llvm/llvm-project/issues/61663 ?
It does not address that bug. That bug was about statically diagnosing that we don't have a strict-weak order when we can do that easily.
In D147089#4258842 <https://reviews.llvm.org/D147089#4258842>, @EricWF wrote:
> Have we done any benchmarking on this? I know the optimizer can be quite sensitive to the exact formulation of the loop.
Before the change:
Run on (20 X 24 MHz CPU s)
CPU Caches:
L1 Data 64 KiB (x20)
L1 Instruction 128 KiB (x20)
L2 Unified 4096 KiB (x10)
Load Average: 4.65, 4.07, 4.41 (BEFORE CHANGE)
Load Average: 5.55, 5.82, 5.54 (AFTER CHANGE)
BEFORE AFTER
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations Time CPU Iterations
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_Sort_uint32_Random_1 2.54 ns 2.54 ns 276824064 2.52 ns 2.52 ns 276561920
BM_Sort_uint32_Random_4 0.888 ns 0.888 ns 784596992 0.901 ns 0.901 ns 772014080
BM_Sort_uint32_Random_16 7.28 ns 7.28 ns 96206848 7.31 ns 7.31 ns 96206848
BM_Sort_uint32_Random_64 10.8 ns 10.8 ns 64487424 11.2 ns 11.2 ns 62652416
BM_Sort_uint32_Random_256 13.1 ns 13.1 ns 53477376 13.6 ns 13.6 ns 51642368
BM_Sort_uint32_Random_1024 14.7 ns 14.7 ns 47710208 15.3 ns 15.3 ns 45613056
BM_Sort_uint32_Random_16384 17.7 ns 17.7 ns 40108032 20.2 ns 19.3 ns 36962304
BM_Sort_uint32_Random_262144 20.6 ns 20.6 ns 34603008 21.0 ns 21.0 ns 33554432
BM_Sort_uint32_Ascending_1 2.53 ns 2.53 ns 277348352 2.53 ns 2.53 ns 276299776
BM_Sort_uint32_Ascending_4 0.892 ns 0.892 ns 786694144 0.902 ns 0.902 ns 776470528
BM_Sort_uint32_Ascending_16 0.510 ns 0.510 ns 1000079360 0.510 ns 0.510 ns 1000079360
BM_Sort_uint32_Ascending_64 1.05 ns 1.05 ns 667418624 1.06 ns 1.06 ns 661389312
BM_Sort_uint32_Ascending_256 1.12 ns 1.12 ns 618659840 1.11 ns 1.11 ns 624689152
BM_Sort_uint32_Ascending_1024 0.993 ns 0.993 ns 705429504 0.993 ns 0.993 ns 705691648
BM_Sort_uint32_Ascending_16384 0.948 ns 0.948 ns 744226816 0.941 ns 0.940 ns 741081088
BM_Sort_uint32_Ascending_262144 0.938 ns 0.938 ns 746586112 0.937 ns 0.937 ns 747896832
BM_Sort_uint32_Descending_1 2.53 ns 2.53 ns 277086208 2.53 ns 2.52 ns 277872640
BM_Sort_uint32_Descending_4 0.893 ns 0.893 ns 785645568 0.901 ns 0.901 ns 774897664
BM_Sort_uint32_Descending_16 3.48 ns 3.48 ns 200540160 3.45 ns 3.45 ns 203423744
BM_Sort_uint32_Descending_64 2.03 ns 2.03 ns 346292224 2.00 ns 2.00 ns 351010816
BM_Sort_uint32_Descending_256 1.85 ns 1.85 ns 378798080 1.85 ns 1.85 ns 380370944
BM_Sort_uint32_Descending_1024 1.87 ns 1.87 ns 374865920 1.86 ns 1.86 ns 376700928
BM_Sort_uint32_Descending_16384 1.73 ns 1.73 ns 405536768 1.72 ns 1.72 ns 405274624
BM_Sort_uint32_Descending_262144 1.72 ns 1.72 ns 406323200 1.73 ns 1.73 ns 407896064
BM_Sort_uint32_SingleElement_1 2.54 ns 2.54 ns 276824064 2.85 ns 2.85 ns 246153216
BM_Sort_uint32_SingleElement_4 0.892 ns 0.892 ns 781451264 0.905 ns 0.905 ns 775946240
BM_Sort_uint32_SingleElement_16 0.509 ns 0.510 ns 1000079360 0.530 ns 0.530 ns 1000079360
BM_Sort_uint32_SingleElement_64 1.27 ns 1.27 ns 554958848 1.30 ns 1.30 ns 537395200
BM_Sort_uint32_SingleElement_256 1.34 ns 1.34 ns 520880128 1.34 ns 1.34 ns 522452992
BM_Sort_uint32_SingleElement_1024 1.28 ns 1.27 ns 550764544 1.27 ns 1.27 ns 551288832
BM_Sort_uint32_SingleElement_16384 1.25 ns 1.25 ns 556531712 1.25 ns 1.25 ns 554696704
BM_Sort_uint32_SingleElement_262144 1.25 ns 1.25 ns 559939584 1.25 ns 1.25 ns 560726016
BM_Sort_uint32_PipeOrgan_1 2.54 ns 2.54 ns 274989056 2.52 ns 2.52 ns 277086208
BM_Sort_uint32_PipeOrgan_4 0.892 ns 0.892 ns 786694144 0.900 ns 0.900 ns 772800512
BM_Sort_uint32_PipeOrgan_16 1.45 ns 1.45 ns 477102080 1.40 ns 1.40 ns 498597888
BM_Sort_uint32_PipeOrgan_64 2.53 ns 2.53 ns 276561920 2.51 ns 2.51 ns 277872640
BM_Sort_uint32_PipeOrgan_256 2.01 ns 2.01 ns 347340800 2.00 ns 2.00 ns 348651520
BM_Sort_uint32_PipeOrgan_1024 3.45 ns 3.45 ns 202899456 3.55 ns 3.55 ns 197656576
BM_Sort_uint32_PipeOrgan_16384 4.29 ns 4.29 ns 163053568 4.36 ns 4.36 ns 160956416
BM_Sort_uint32_PipeOrgan_262144 4.92 ns 4.92 ns 142082048 5.01 ns 5.01 ns 139984896
BM_Sort_uint32_QuickSortAdversary_1 2.53 ns 2.53 ns 270794752 2.52 ns 2.52 ns 276299776
BM_Sort_uint32_QuickSortAdversary_4 0.890 ns 0.890 ns 786169856 0.902 ns 0.901 ns 770703360
BM_Sort_uint32_QuickSortAdversary_16 0.513 ns 0.513 ns 1000079360 0.511 ns 0.511 ns 1000079360
BM_Sort_uint32_QuickSortAdversary_64 11.0 ns 11.0 ns 63963136 11.2 ns 11.2 ns 62390272
BM_Sort_uint32_QuickSortAdversary_256 15.2 ns 15.2 ns 46137344 15.6 ns 15.6 ns 45350912
BM_Sort_uint32_QuickSortAdversary_1024 22.0 ns 22.0 ns 31981568 21.7 ns 21.7 ns 32505856
BM_Sort_uint32_QuickSortAdversary_16384 34.6 ns 34.6 ns 20447232 34.7 ns 34.7 ns 20447232
BM_Sort_uint32_QuickSortAdversary_262144 48.0 ns 48.0 ns 14942208 47.5 ns 47.5 ns 14942208
BM_Sort_uint64_Random_1 2.53 ns 2.53 ns 274202624 2.53 ns 2.53 ns 278134784
BM_Sort_uint64_Random_4 0.929 ns 0.929 ns 757334016 0.944 ns 0.944 ns 749469696
BM_Sort_uint64_Random_16 7.28 ns 7.28 ns 96206848 7.27 ns 7.27 ns 96206848
BM_Sort_uint64_Random_64 10.8 ns 10.8 ns 65011712 11.2 ns 11.2 ns 62652416
BM_Sort_uint64_Random_256 13.0 ns 13.0 ns 54001664 13.5 ns 13.5 ns 52166656
BM_Sort_uint64_Random_1024 14.5 ns 14.5 ns 47972352 15.0 ns 15.0 ns 46923776
BM_Sort_uint64_Random_16384 17.1 ns 17.1 ns 41156608 17.5 ns 17.5 ns 40108032
BM_Sort_uint64_Random_262144 19.8 ns 19.8 ns 34865152 20.4 ns 20.4 ns 34340864
BM_Sort_uint64_Ascending_1 2.54 ns 2.54 ns 277086208 2.52 ns 2.52 ns 277348352
BM_Sort_uint64_Ascending_4 0.913 ns 0.913 ns 768081920 0.920 ns 0.919 ns 763101184
BM_Sort_uint64_Ascending_16 0.510 ns 0.510 ns 1000079360 0.512 ns 0.512 ns 1000079360
BM_Sort_uint64_Ascending_64 1.06 ns 1.06 ns 663486464 1.06 ns 1.06 ns 655622144
BM_Sort_uint64_Ascending_256 1.11 ns 1.11 ns 621543424 1.10 ns 1.10 ns 638058496
BM_Sort_uint64_Ascending_1024 1.01 ns 1.01 ns 700973056 0.998 ns 0.998 ns 701235200
BM_Sort_uint64_Ascending_16384 0.948 ns 0.948 ns 738983936 0.945 ns 0.945 ns 743702528
BM_Sort_uint64_Ascending_262144 0.939 ns 0.939 ns 746061824 0.937 ns 0.937 ns 747372544
BM_Sort_uint64_Descending_1 2.54 ns 2.54 ns 277086208 2.52 ns 2.52 ns 277348352
BM_Sort_uint64_Descending_4 0.921 ns 0.921 ns 766246912 0.931 ns 0.931 ns 738721792
BM_Sort_uint64_Descending_16 3.45 ns 3.45 ns 202899456 3.46 ns 3.46 ns 200802304
BM_Sort_uint64_Descending_64 2.04 ns 2.04 ns 341049344 2.07 ns 2.07 ns 338427904
BM_Sort_uint64_Descending_256 1.82 ns 1.82 ns 385089536 1.83 ns 1.83 ns 384303104
BM_Sort_uint64_Descending_1024 1.85 ns 1.85 ns 378798080 1.86 ns 1.86 ns 378535936
BM_Sort_uint64_Descending_16384 1.69 ns 1.69 ns 413925376 1.69 ns 1.69 ns 412090368
BM_Sort_uint64_Descending_262144 1.69 ns 1.69 ns 411041792 1.68 ns 1.68 ns 416022528
BM_Sort_uint64_SingleElement_1 2.53 ns 2.53 ns 276561920 2.53 ns 2.53 ns 276824064
BM_Sort_uint64_SingleElement_4 0.910 ns 0.910 ns 768081920 0.924 ns 0.924 ns 757596160
BM_Sort_uint64_SingleElement_16 0.510 ns 0.510 ns 1000079360 0.512 ns 0.512 ns 1000079360
BM_Sort_uint64_SingleElement_64 1.28 ns 1.28 ns 547094528 1.28 ns 1.28 ns 547618816
BM_Sort_uint64_SingleElement_256 1.35 ns 1.35 ns 520617984 1.34 ns 1.34 ns 521928704
BM_Sort_uint64_SingleElement_1024 1.28 ns 1.28 ns 549453824 1.86 ns 1.42 ns 541589504
BM_Sort_uint64_SingleElement_16384 1.25 ns 1.25 ns 559415296 1.25 ns 1.25 ns 556007424
BM_Sort_uint64_SingleElement_262144 1.25 ns 1.25 ns 560201728 1.25 ns 1.25 ns 560463872
BM_Sort_uint64_PipeOrgan_1 2.54 ns 2.54 ns 276299776 2.52 ns 2.52 ns 274726912
BM_Sort_uint64_PipeOrgan_4 0.911 ns 0.911 ns 760217600 0.929 ns 0.929 ns 746586112
BM_Sort_uint64_PipeOrgan_16 1.45 ns 1.45 ns 484179968 1.41 ns 1.41 ns 496500736
BM_Sort_uint64_PipeOrgan_64 2.53 ns 2.53 ns 276824064 2.51 ns 2.51 ns 278396928
BM_Sort_uint64_PipeOrgan_256 2.00 ns 2.00 ns 351535104 1.98 ns 1.98 ns 354418688
BM_Sort_uint64_PipeOrgan_1024 3.44 ns 3.44 ns 201326592 3.53 ns 3.53 ns 197132288
BM_Sort_uint64_PipeOrgan_16384 4.28 ns 4.28 ns 164364288 4.35 ns 4.35 ns 160694272
BM_Sort_uint64_PipeOrgan_262144 4.90 ns 4.90 ns 142606336 4.99 ns 4.99 ns 140509184
BM_Sort_uint64_QuickSortAdversary_1 2.53 ns 2.53 ns 276824064 2.53 ns 2.53 ns 275775488
BM_Sort_uint64_QuickSortAdversary_4 0.912 ns 0.912 ns 759955456 0.920 ns 0.920 ns 760479744
BM_Sort_uint64_QuickSortAdversary_16 0.511 ns 0.511 ns 1000079360 0.515 ns 0.515 ns 1000079360
BM_Sort_uint64_QuickSortAdversary_64 11.2 ns 11.2 ns 62652416 11.2 ns 11.2 ns 62652416
BM_Sort_uint64_QuickSortAdversary_256 15.2 ns 15.2 ns 46661632 15.4 ns 15.4 ns 45875200
BM_Sort_uint64_QuickSortAdversary_1024 21.7 ns 21.7 ns 32505856 21.8 ns 21.8 ns 32243712
BM_Sort_uint64_QuickSortAdversary_16384 34.6 ns 34.6 ns 20447232 35.0 ns 35.0 ns 20185088
BM_Sort_uint64_QuickSortAdversary_262144 47.6 ns 47.6 ns 14942208 49.4 ns 49.4 ns 14417920
BM_Sort_pair<uint32, uint32>_Random_1 2.31 ns 2.31 ns 304873472 2.31 ns 2.30 ns 302252032
BM_Sort_pair<uint32, uint32>_Random_4 4.74 ns 4.74 ns 147587072 4.72 ns 4.72 ns 147587072
BM_Sort_pair<uint32, uint32>_Random_16 10.4 ns 10.4 ns 67895296 10.2 ns 10.2 ns 69468160
BM_Sort_pair<uint32, uint32>_Random_64 18.6 ns 18.6 ns 38010880 18.8 ns 18.8 ns 37224448
BM_Sort_pair<uint32, uint32>_Random_256 25.7 ns 25.7 ns 27262976 26.0 ns 26.0 ns 27000832
BM_Sort_pair<uint32, uint32>_Random_1024 32.8 ns 32.8 ns 21233664 33.3 ns 33.3 ns 21233664
BM_Sort_pair<uint32, uint32>_Random_16384 46.9 ns 46.9 ns 15204352 47.1 ns 47.1 ns 14942208
BM_Sort_pair<uint32, uint32>_Random_262144 59.2 ns 59.2 ns 12058624 61.1 ns 61.1 ns 11796480
BM_Sort_pair<uint32, uint32>_Ascending_1 2.30 ns 2.30 ns 303562752 2.29 ns 2.29 ns 299892736
BM_Sort_pair<uint32, uint32>_Ascending_4 1.12 ns 1.12 ns 624164864 1.12 ns 1.12 ns 628097024
BM_Sort_pair<uint32, uint32>_Ascending_16 0.908 ns 0.908 ns 768081920 0.913 ns 0.913 ns 770965504
BM_Sort_pair<uint32, uint32>_Ascending_64 1.30 ns 1.30 ns 538443776 1.30 ns 1.30 ns 538443776
BM_Sort_pair<uint32, uint32>_Ascending_256 1.38 ns 1.38 ns 509870080 1.39 ns 1.39 ns 501219328
BM_Sort_pair<uint32, uint32>_Ascending_1024 1.26 ns 1.26 ns 554958848 1.26 ns 1.26 ns 553385984
BM_Sort_pair<uint32, uint32>_Ascending_16384 1.16 ns 1.16 ns 602144768 1.16 ns 1.16 ns 603455488
BM_Sort_pair<uint32, uint32>_Ascending_262144 1.16 ns 1.16 ns 605290496 1.16 ns 1.16 ns 602931200
BM_Sort_pair<uint32, uint32>_Descending_1 2.30 ns 2.30 ns 305135616 2.29 ns 2.29 ns 305659904
BM_Sort_pair<uint32, uint32>_Descending_4 1.67 ns 1.67 ns 419692544 1.68 ns 1.68 ns 421789696
BM_Sort_pair<uint32, uint32>_Descending_16 5.33 ns 5.33 ns 131596288 5.55 ns 5.55 ns 125566976
BM_Sort_pair<uint32, uint32>_Descending_64 2.81 ns 2.81 ns 249036800 2.79 ns 2.79 ns 250871808
BM_Sort_pair<uint32, uint32>_Descending_256 2.49 ns 2.49 ns 281804800 2.51 ns 2.51 ns 278659072
BM_Sort_pair<uint32, uint32>_Descending_1024 2.39 ns 2.39 ns 292028416 2.38 ns 2.38 ns 293601280
BM_Sort_pair<uint32, uint32>_Descending_16384 2.26 ns 2.26 ns 309592064 2.26 ns 2.26 ns 310116352
BM_Sort_pair<uint32, uint32>_Descending_262144 2.27 ns 2.27 ns 308281344 2.29 ns 2.29 ns 308805632
BM_Sort_pair<uint32, uint32>_SingleElement_1 2.30 ns 2.30 ns 305922048 2.29 ns 2.29 ns 305659904
BM_Sort_pair<uint32, uint32>_SingleElement_4 1.21 ns 1.21 ns 575930368 1.21 ns 1.21 ns 580124672
BM_Sort_pair<uint32, uint32>_SingleElement_16 0.925 ns 0.925 ns 755761152 0.930 ns 0.929 ns 757858304
BM_Sort_pair<uint32, uint32>_SingleElement_64 1.79 ns 1.79 ns 390332416 1.79 ns 1.79 ns 389021696
BM_Sort_pair<uint32, uint32>_SingleElement_256 1.86 ns 1.86 ns 382205952 1.84 ns 1.84 ns 382730240
BM_Sort_pair<uint32, uint32>_SingleElement_1024 1.76 ns 1.76 ns 398983168 1.76 ns 1.76 ns 399769600
BM_Sort_pair<uint32, uint32>_SingleElement_16384 1.70 ns 1.70 ns 410779648 1.72 ns 1.72 ns 409206784
BM_Sort_pair<uint32, uint32>_SingleElement_262144 1.71 ns 1.71 ns 409206784 1.72 ns 1.72 ns 408158208
BM_Sort_pair<uint32, uint32>_PipeOrgan_1 2.31 ns 2.31 ns 305135616 2.29 ns 2.29 ns 305659904
BM_Sort_pair<uint32, uint32>_PipeOrgan_4 1.38 ns 1.38 ns 507510784 1.42 ns 1.42 ns 494403584
BM_Sort_pair<uint32, uint32>_PipeOrgan_16 2.34 ns 2.34 ns 297795584 2.03 ns 2.03 ns 344457216
BM_Sort_pair<uint32, uint32>_PipeOrgan_64 3.33 ns 3.33 ns 212074496 3.53 ns 3.53 ns 198705152
BM_Sort_pair<uint32, uint32>_PipeOrgan_256 2.60 ns 2.60 ns 270794752 2.76 ns 2.76 ns 253231104
BM_Sort_pair<uint32, uint32>_PipeOrgan_1024 4.82 ns 4.82 ns 145227776 4.95 ns 4.95 ns 141295616
BM_Sort_pair<uint32, uint32>_PipeOrgan_16384 5.77 ns 5.77 ns 121634816 5.94 ns 5.94 ns 118751232
BM_Sort_pair<uint32, uint32>_PipeOrgan_262144 6.54 ns 6.54 ns 106954752 6.68 ns 6.68 ns 104333312
BM_Sort_pair<uint32, uint32>_QuickSortAdversary_1 2.30 ns 2.30 ns 304349184 2.29 ns 2.29 ns 304349184
BM_Sort_pair<uint32, uint32>_QuickSortAdversary_4 1.34 ns 1.34 ns 524025856 1.35 ns 1.35 ns 511180800
BM_Sort_pair<uint32, uint32>_QuickSortAdversary_16 2.59 ns 2.59 ns 269221888 2.68 ns 2.68 ns 262406144
BM_Sort_pair<uint32, uint32>_QuickSortAdversary_64 6.19 ns 6.19 ns 112984064 6.34 ns 6.34 ns 110624768
BM_Sort_pair<uint32, uint32>_QuickSortAdversary_256 7.50 ns 7.50 ns 93323264 7.57 ns 7.57 ns 92798976
BM_Sort_pair<uint32, uint32>_QuickSortAdversary_1024 9.38 ns 9.38 ns 73138176 9.42 ns 9.42 ns 74448896
BM_Sort_pair<uint32, uint32>_QuickSortAdversary_16384 16.7 ns 16.7 ns 42729472 16.6 ns 16.6 ns 42205184
BM_Sort_pair<uint32, uint32>_QuickSortAdversary_262144 22.7 ns 22.7 ns 30670848 23.0 ns 23.0 ns 30670848
BM_Sort_tuple<uint32, uint64, uint32>_Random_1 2.50 ns 2.50 ns 282066944 2.48 ns 2.48 ns 282329088
BM_Sort_tuple<uint32, uint64, uint32>_Random_4 5.39 ns 5.39 ns 129761280 5.37 ns 5.37 ns 129761280
BM_Sort_tuple<uint32, uint64, uint32>_Random_16 12.1 ns 12.1 ns 58195968 12.0 ns 12.0 ns 57933824
BM_Sort_tuple<uint32, uint64, uint32>_Random_64 21.1 ns 21.1 ns 33030144 21.7 ns 21.7 ns 31981568
BM_Sort_tuple<uint32, uint64, uint32>_Random_256 28.5 ns 28.5 ns 24641536 29.4 ns 29.4 ns 23855104
BM_Sort_tuple<uint32, uint64, uint32>_Random_1024 35.6 ns 35.6 ns 19660800 36.5 ns 36.5 ns 19136512
BM_Sort_tuple<uint32, uint64, uint32>_Random_16384 49.9 ns 49.9 ns 14155776 50.7 ns 50.7 ns 13893632
BM_Sort_tuple<uint32, uint64, uint32>_Random_262144 63.0 ns 63.0 ns 11272192 66.0 ns 66.0 ns 11010048
BM_Sort_tuple<uint32, uint64, uint32>_Ascending_1 2.48 ns 2.48 ns 282066944 2.48 ns 2.48 ns 282329088
BM_Sort_tuple<uint32, uint64, uint32>_Ascending_4 1.36 ns 1.35 ns 520093696 1.37 ns 1.37 ns 517734400
BM_Sort_tuple<uint32, uint64, uint32>_Ascending_16 1.32 ns 1.32 ns 522715136 1.32 ns 1.32 ns 527433728
BM_Sort_tuple<uint32, uint64, uint32>_Ascending_64 1.68 ns 1.68 ns 419430400 1.73 ns 1.72 ns 405798912
BM_Sort_tuple<uint32, uint64, uint32>_Ascending_256 1.82 ns 1.82 ns 386138112 1.88 ns 1.88 ns 373030912
BM_Sort_tuple<uint32, uint64, uint32>_Ascending_1024 1.69 ns 1.69 ns 411303936 1.72 ns 1.72 ns 405536768
BM_Sort_tuple<uint32, uint64, uint32>_Ascending_16384 1.60 ns 1.60 ns 440401920 1.58 ns 1.58 ns 443809792
BM_Sort_tuple<uint32, uint64, uint32>_Ascending_262144 1.59 ns 1.59 ns 444596224 1.60 ns 1.60 ns 442761216
BM_Sort_tuple<uint32, uint64, uint32>_Descending_1 2.48 ns 2.48 ns 281804800 2.49 ns 2.49 ns 276824064
BM_Sort_tuple<uint32, uint64, uint32>_Descending_4 2.13 ns 2.12 ns 331087872 2.15 ns 2.15 ns 331612160
BM_Sort_tuple<uint32, uint64, uint32>_Descending_16 7.23 ns 7.23 ns 96993280 7.23 ns 7.23 ns 96206848
BM_Sort_tuple<uint32, uint64, uint32>_Descending_64 3.15 ns 3.15 ns 221249536 3.46 ns 3.45 ns 200540160
BM_Sort_tuple<uint32, uint64, uint32>_Descending_256 2.78 ns 2.78 ns 251920384 2.91 ns 2.91 ns 240123904
BM_Sort_tuple<uint32, uint64, uint32>_Descending_1024 2.63 ns 2.63 ns 267911168 2.73 ns 2.73 ns 255328256
BM_Sort_tuple<uint32, uint64, uint32>_Descending_16384 2.54 ns 2.54 ns 276824064 2.64 ns 2.64 ns 265551872
BM_Sort_tuple<uint32, uint64, uint32>_Descending_262144 2.55 ns 2.55 ns 272367616 2.65 ns 2.65 ns 263979008
BM_Sort_tuple<uint32, uint64, uint32>_SingleElement_1 2.50 ns 2.50 ns 281542656 2.48 ns 2.48 ns 281542656
BM_Sort_tuple<uint32, uint64, uint32>_SingleElement_4 1.56 ns 1.56 ns 443023360 1.57 ns 1.57 ns 445382656
BM_Sort_tuple<uint32, uint64, uint32>_SingleElement_16 1.27 ns 1.27 ns 551026688 1.27 ns 1.27 ns 550240256
BM_Sort_tuple<uint32, uint64, uint32>_SingleElement_64 2.45 ns 2.45 ns 285212672 2.46 ns 2.46 ns 283639808
BM_Sort_tuple<uint32, uint64, uint32>_SingleElement_256 2.64 ns 2.64 ns 264765440 2.67 ns 2.67 ns 264765440
BM_Sort_tuple<uint32, uint64, uint32>_SingleElement_1024 2.45 ns 2.45 ns 284950528 2.44 ns 2.44 ns 287047680
BM_Sort_tuple<uint32, uint64, uint32>_SingleElement_16384 2.38 ns 2.38 ns 293863424 2.40 ns 2.40 ns 296747008
BM_Sort_tuple<uint32, uint64, uint32>_SingleElement_262144 2.39 ns 2.39 ns 293863424 2.43 ns 2.43 ns 284164096
BM_Sort_tuple<uint32, uint64, uint32>_PipeOrgan_1 2.48 ns 2.48 ns 282329088 2.48 ns 2.48 ns 279707648
BM_Sort_tuple<uint32, uint64, uint32>_PipeOrgan_4 1.96 ns 1.96 ns 358612992 1.86 ns 1.86 ns 379322368
BM_Sort_tuple<uint32, uint64, uint32>_PipeOrgan_16 2.86 ns 2.86 ns 243793920 2.87 ns 2.87 ns 242483200
BM_Sort_tuple<uint32, uint64, uint32>_PipeOrgan_64 3.83 ns 3.83 ns 183762944 3.98 ns 3.98 ns 175112192
BM_Sort_tuple<uint32, uint64, uint32>_PipeOrgan_256 3.04 ns 3.04 ns 230162432 3.20 ns 3.20 ns 219938816
BM_Sort_tuple<uint32, uint64, uint32>_PipeOrgan_1024 5.63 ns 5.63 ns 124518400 5.87 ns 5.87 ns 120061952
BM_Sort_tuple<uint32, uint64, uint32>_PipeOrgan_16384 6.77 ns 6.77 ns 103809024 6.97 ns 6.97 ns 100663296
BM_Sort_tuple<uint32, uint64, uint32>_PipeOrgan_262144 7.79 ns 7.79 ns 89915392 7.97 ns 7.97 ns 87031808
BM_Sort_tuple<uint32, uint64, uint32>_QuickSortAdversary_1 2.56 ns 2.55 ns 266338304 2.50 ns 2.50 ns 282066944
BM_Sort_tuple<uint32, uint64, uint32>_QuickSortAdversary_4 2.09 ns 2.09 ns 336855040 2.04 ns 1.98 ns 355729408
BM_Sort_tuple<uint32, uint64, uint32>_QuickSortAdversary_16 3.88 ns 3.88 ns 180355072 3.79 ns 3.79 ns 177733632
BM_Sort_tuple<uint32, uint64, uint32>_QuickSortAdversary_64 7.12 ns 7.12 ns 95682560 7.98 ns 7.98 ns 86769664
BM_Sort_tuple<uint32, uint64, uint32>_QuickSortAdversary_256 8.81 ns 8.81 ns 79691776 9.48 ns 9.48 ns 73400320
BM_Sort_tuple<uint32, uint64, uint32>_QuickSortAdversary_1024 10.3 ns 10.3 ns 68419584 11.1 ns 11.1 ns 63438848
BM_Sort_tuple<uint32, uint64, uint32>_QuickSortAdversary_16384 27.9 ns 27.9 ns 25165824 28.8 ns 28.8 ns 24379392
BM_Sort_tuple<uint32, uint64, uint32>_QuickSortAdversary_262144 35.9 ns 35.9 ns 19660800 38.0 ns 37.9 ns 18612224
BM_Sort_string_Random_1 2.49 ns 2.49 ns 282329088 2.50 ns 2.50 ns 282591232
BM_Sort_string_Random_4 10.9 ns 10.9 ns 64487424 11.0 ns 11.0 ns 63438848
BM_Sort_string_Random_16 23.8 ns 23.8 ns 29622272 25.3 ns 25.2 ns 27525120
BM_Sort_string_Random_64 41.2 ns 41.2 ns 17039360 43.2 ns 43.1 ns 15728640
BM_Sort_string_Random_256 58.7 ns 58.7 ns 12058624 59.0 ns 59.0 ns 12058624
BM_Sort_string_Random_1024 74.6 ns 74.6 ns 9437184 75.2 ns 75.2 ns 9175040
BM_Sort_string_Random_16384 108 ns 108 ns 6553600 110 ns 110 ns 6553600
BM_Sort_string_Random_262144 159 ns 159 ns 4456448 170 ns 170 ns 4456448
BM_Sort_string_Ascending_1 2.49 ns 2.49 ns 282066944 2.52 ns 2.52 ns 266338304
BM_Sort_string_Ascending_4 2.85 ns 2.85 ns 241958912 3.17 ns 3.17 ns 226754560
BM_Sort_string_Ascending_16 2.93 ns 2.93 ns 241696768 3.17 ns 3.17 ns 217579520
BM_Sort_string_Ascending_64 6.04 ns 6.04 ns 116391936 6.29 ns 6.29 ns 109838336
BM_Sort_string_Ascending_256 6.88 ns 6.88 ns 102236160 6.87 ns 6.87 ns 101711872
BM_Sort_string_Ascending_1024 6.82 ns 6.82 ns 103022592 6.87 ns 6.87 ns 102236160
BM_Sort_string_Ascending_16384 7.02 ns 7.02 ns 99614720 7.26 ns 7.26 ns 95944704
BM_Sort_string_Ascending_262144 13.7 ns 13.7 ns 51118080 13.8 ns 13.8 ns 51118080
BM_Sort_string_Descending_1 2.49 ns 2.49 ns 281542656 2.51 ns 2.50 ns 280756224
BM_Sort_string_Descending_4 3.98 ns 3.98 ns 174587904 4.26 ns 4.26 ns 164888576
BM_Sort_string_Descending_16 20.2 ns 20.2 ns 34603008 20.6 ns 20.6 ns 34340864
BM_Sort_string_Descending_64 8.45 ns 8.45 ns 83623936 8.78 ns 8.77 ns 78118912
BM_Sort_string_Descending_256 9.91 ns 9.91 ns 70778880 9.96 ns 9.96 ns 70516736
BM_Sort_string_Descending_1024 9.76 ns 9.76 ns 71827456 9.84 ns 9.83 ns 71565312
BM_Sort_string_Descending_16384 9.84 ns 9.84 ns 71041024 9.99 ns 9.99 ns 69468160
BM_Sort_string_Descending_262144 21.4 ns 21.4 ns 32768000 22.4 ns 22.4 ns 32768000
BM_Sort_string_SingleElement_1 2.48 ns 2.48 ns 281542656 2.49 ns 2.49 ns 276824064
BM_Sort_string_SingleElement_4 4.10 ns 4.10 ns 171442176 4.02 ns 4.02 ns 176160768
BM_Sort_string_SingleElement_16 4.30 ns 4.30 ns 163053568 4.47 ns 4.47 ns 151519232
BM_Sort_string_SingleElement_64 8.75 ns 8.75 ns 79953920 8.91 ns 8.91 ns 78381056
BM_Sort_string_SingleElement_256 8.19 ns 8.19 ns 83886080 8.19 ns 8.19 ns 85196800
BM_Sort_string_SingleElement_1024 7.52 ns 7.52 ns 93585408 7.70 ns 7.70 ns 90963968
BM_Sort_string_SingleElement_16384 7.25 ns 7.25 ns 96731136 7.46 ns 7.46 ns 93847552
BM_Sort_string_SingleElement_262144 7.41 ns 7.41 ns 93061120 7.63 ns 7.63 ns 91750400
BM_Sort_string_PipeOrgan_1 2.49 ns 2.49 ns 281804800 2.49 ns 2.49 ns 281542656
BM_Sort_string_PipeOrgan_4 3.31 ns 3.31 ns 209715200 3.65 ns 3.65 ns 195821568
BM_Sort_string_PipeOrgan_16 6.99 ns 6.99 ns 100401152 7.20 ns 7.20 ns 97517568
BM_Sort_string_PipeOrgan_64 12.4 ns 12.4 ns 56885248 12.7 ns 12.7 ns 55312384
BM_Sort_string_PipeOrgan_256 11.3 ns 11.3 ns 62914560 11.2 ns 11.2 ns 62914560
BM_Sort_string_PipeOrgan_1024 19.0 ns 19.0 ns 36962304 19.0 ns 19.0 ns 36700160
BM_Sort_string_PipeOrgan_16384 23.7 ns 23.7 ns 29622272 23.8 ns 23.8 ns 29360128
BM_Sort_string_PipeOrgan_262144 38.8 ns 38.8 ns 18350080 39.8 ns 39.8 ns 17039360
BM_Sort_string_QuickSortAdversary_1 2.49 ns 2.49 ns 281804800 2.49 ns 2.49 ns 281804800
BM_Sort_string_QuickSortAdversary_4 10.9 ns 10.9 ns 63963136 11.0 ns 11.0 ns 62652416
BM_Sort_string_QuickSortAdversary_16 23.6 ns 23.6 ns 29884416 23.9 ns 23.9 ns 29622272
BM_Sort_string_QuickSortAdversary_64 41.3 ns 41.3 ns 17039360 42.0 ns 42.0 ns 16777216
BM_Sort_string_QuickSortAdversary_256 58.8 ns 58.8 ns 12058624 59.7 ns 59.7 ns 12058624
BM_Sort_string_QuickSortAdversary_1024 74.3 ns 74.3 ns 9699328 76.7 ns 76.7 ns 9437184
BM_Sort_string_QuickSortAdversary_16384 108 ns 108 ns 6553600 109 ns 109 ns 6553600
BM_Sort_string_QuickSortAdversary_262144 159 ns 159 ns 4456448 160 ns 160 ns 4456448
BM_Sort_float_Random_1 2.86 ns 2.86 ns 245104640 2.54 ns 2.54 ns 276561920
BM_Sort_float_Random_4 0.951 ns 0.950 ns 738983936 0.924 ns 0.924 ns 752615424
BM_Sort_float_Random_16 9.04 ns 9.04 ns 77856768 8.82 ns 8.82 ns 79429632
BM_Sort_float_Random_64 13.4 ns 13.4 ns 52953088 13.1 ns 13.1 ns 53477376
BM_Sort_float_Random_256 16.0 ns 16.0 ns 44040192 15.7 ns 15.7 ns 44826624
BM_Sort_float_Random_1024 17.7 ns 17.7 ns 39583744 17.4 ns 17.4 ns 39845888
BM_Sort_float_Random_16384 20.5 ns 20.5 ns 33816576 20.3 ns 20.3 ns 34603008
BM_Sort_float_Random_262144 23.4 ns 23.4 ns 30146560 23.3 ns 23.3 ns 30146560
BM_Sort_float_Ascending_1 2.93 ns 2.93 ns 239599616 2.54 ns 2.54 ns 273940480
BM_Sort_float_Ascending_4 0.956 ns 0.956 ns 730071040 0.924 ns 0.924 ns 753401856
BM_Sort_float_Ascending_16 0.517 ns 0.517 ns 1000079360 0.511 ns 0.511 ns 1000079360
BM_Sort_float_Ascending_64 1.05 ns 1.05 ns 666632192 1.06 ns 1.06 ns 660078592
BM_Sort_float_Ascending_256 1.20 ns 1.20 ns 605814784 1.18 ns 1.18 ns 609484800
BM_Sort_float_Ascending_1024 1.03 ns 1.03 ns 678952960 1.04 ns 1.04 ns 676593664
BM_Sort_float_Ascending_16384 0.939 ns 0.939 ns 744751104 0.945 ns 0.945 ns 732168192
BM_Sort_float_Ascending_262144 0.935 ns 0.935 ns 748945408 0.942 ns 0.942 ns 746848256
BM_Sort_float_Descending_1 2.87 ns 2.87 ns 244842496 2.55 ns 2.55 ns 273678336
BM_Sort_float_Descending_4 0.923 ns 0.923 ns 758906880 0.931 ns 0.931 ns 759955456
BM_Sort_float_Descending_16 3.50 ns 3.50 ns 199491584 3.52 ns 3.52 ns 198180864
BM_Sort_float_Descending_64 1.97 ns 1.97 ns 355205120 2.03 ns 2.03 ns 341835776
BM_Sort_float_Descending_256 1.87 ns 1.87 ns 376963072 1.88 ns 1.88 ns 370409472
BM_Sort_float_Descending_1024 1.89 ns 1.89 ns 370409472 1.90 ns 1.90 ns 367001600
BM_Sort_float_Descending_16384 1.75 ns 1.75 ns 400556032 1.75 ns 1.75 ns 399769600
BM_Sort_float_Descending_262144 1.74 ns 1.74 ns 403701760 1.74 ns 1.74 ns 403439616
BM_Sort_float_SingleElement_1 2.88 ns 2.88 ns 244580352 2.54 ns 2.54 ns 276561920
BM_Sort_float_SingleElement_4 0.973 ns 0.970 ns 722993152 0.924 ns 0.924 ns 759169024
BM_Sort_float_SingleElement_16 0.536 ns 0.535 ns 1000079360 0.514 ns 0.514 ns 1000079360
BM_Sort_float_SingleElement_64 1.30 ns 1.30 ns 541327360 1.24 ns 1.24 ns 563347456
BM_Sort_float_SingleElement_256 1.44 ns 1.43 ns 487063552 1.37 ns 1.37 ns 509345792
BM_Sort_float_SingleElement_1024 1.36 ns 1.35 ns 522190848 1.31 ns 1.31 ns 534249472
BM_Sort_float_SingleElement_16384 1.34 ns 1.34 ns 522977280 1.29 ns 1.29 ns 542900224
BM_Sort_float_SingleElement_262144 1.34 ns 1.34 ns 522452992 1.29 ns 1.29 ns 536346624
BM_Sort_float_PipeOrgan_1 2.95 ns 2.94 ns 237240320 2.54 ns 2.54 ns 276824064
BM_Sort_float_PipeOrgan_4 0.957 ns 0.956 ns 729022464 0.926 ns 0.926 ns 761266176
BM_Sort_float_PipeOrgan_16 1.48 ns 1.47 ns 473432064 1.41 ns 1.41 ns 497811456
BM_Sort_float_PipeOrgan_64 2.67 ns 2.66 ns 267386880 2.53 ns 2.53 ns 275775488
BM_Sort_float_PipeOrgan_256 2.13 ns 2.13 ns 326369280 2.06 ns 2.06 ns 340262912
BM_Sort_float_PipeOrgan_1024 3.72 ns 3.71 ns 188743680 3.65 ns 3.65 ns 191102976
BM_Sort_float_PipeOrgan_16384 4.61 ns 4.61 ns 152043520 4.52 ns 4.52 ns 155451392
BM_Sort_float_PipeOrgan_262144 5.27 ns 5.27 ns 133431296 5.14 ns 5.14 ns 136314880
BM_Sort_float_QuickSortAdversary_1 2.95 ns 2.95 ns 236978176 2.52 ns 2.52 ns 276824064
BM_Sort_float_QuickSortAdversary_4 0.958 ns 0.958 ns 729808896 0.924 ns 0.924 ns 759955456
BM_Sort_float_QuickSortAdversary_16 0.529 ns 0.529 ns 1000079360 0.511 ns 0.511 ns 1000079360
BM_Sort_float_QuickSortAdversary_64 9.59 ns 9.58 ns 72876032 9.30 ns 9.30 ns 75497472
BM_Sort_float_QuickSortAdversary_256 14.8 ns 14.7 ns 48234496 14.1 ns 14.1 ns 49545216
BM_Sort_float_QuickSortAdversary_1024 19.5 ns 19.4 ns 36175872 18.9 ns 18.9 ns 38010880
BM_Sort_float_QuickSortAdversary_16384 68.6 ns 68.6 ns 10223616 64.7 ns 64.7 ns 11010048
BM_Sort_float_QuickSortAdversary_262144 69.5 ns 69.4 ns 10223616 65.9 ns 65.9 ns 10747904
I don't see anything concerning given the load-average difference on the machine.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D147089/new/
https://reviews.llvm.org/D147089
More information about the libcxx-commits
mailing list