[libcxx-commits] [libcxx] [lldb] [libcxx] adds size-based `__split_buffer` representation to unstable ABI (PR #139632)
Christopher Di Bella via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Aug 29 15:59:39 PDT 2025
https://github.com/cjdb commented:
```
$ libcxx/utils/libcxx-compare-benchmarks build-c7df8839d8f161883e5b4c3847c3470ab8e08e64 build-size-based-vector libcxx/test/benchmarks/containers/sequence/vector.bench.cpp
Requirement already satisfied: numpy in /tmp/libcxx-compare-benchmarks-venv/lib/python3.13/site-packages (from -r /tmp/llvm-project/third-party/benchmark/tools/requirements.txt (line 1)) (2.3.2)
Requirement already satisfied: scipy in /tmp/libcxx-compare-benchmarks-venv/lib/python3.13/site-packages (from -r /tmp/llvm-project/third-party/benchmark/tools/requirements.txt (line 2)) (1.16.1)
Comparing build-c7df8839d8f161883e5b4c3847c3470ab8e08e64/libcxx/test/benchmarks/containers/sequence/Output/vector.bench.cpp.dir/benchmark-result.json to build-size-based-vector/libcxx/test/benchmarks/containers/sequence/Output/vector.bench.cpp.dir/benchmark-result.json
Benchmark Time CPU Time Old Time New CPU Old CPU New
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
std::vector<int>::ctor(size)/32 +0.0272 +0.0268 14 15 14 15
std::vector<int>::ctor(size)/1024 +0.0026 +0.0023 71 71 71 71
std::vector<int>::ctor(size)/8192 -0.0016 -0.0010 349 349 349 349
std::vector<int>::ctor(size, value_type) (cheap elements)/32 +0.0251 +0.0252 13 13 13 13
std::vector<int>::ctor(size, value_type) (cheap elements)/1024 -0.0031 -0.0036 115 115 115 115
std::vector<int>::ctor(size, value_type) (cheap elements)/8192 +0.0043 +0.0043 659 662 658 661
std::vector<int>::ctor(Iterator, Iterator) (cheap elements)/32 -0.0034 -0.0038 15 15 15 15
std::vector<int>::ctor(Iterator, Iterator) (cheap elements)/1024 -0.0036 -0.0036 75 74 74 74
std::vector<int>::ctor(Iterator, Iterator) (cheap elements)/8192 +0.0000 -0.0001 669 669 668 668
std::vector<int>::ctor(Range) (cheap elements)/32 -0.0075 -0.0071 15 15 15 15
std::vector<int>::ctor(Range) (cheap elements)/1024 +0.0010 +0.0014 75 75 74 75
std::vector<int>::ctor(Range) (cheap elements)/8192 -0.0005 -0.0007 668 667 667 667
std::vector<int>::ctor(const&) (cheap elements)/32 -0.0021 -0.0019 15 15 15 15
std::vector<int>::ctor(const&) (cheap elements)/1024 -0.0035 -0.0030 75 75 75 75
std::vector<int>::ctor(const&) (cheap elements)/8192 -0.0037 -0.0033 669 667 669 667
std::vector<int>::operator=(const&) (cheap elements)/32 -0.0036 -0.0031 5 5 5 5
std::vector<int>::operator=(const&) (cheap elements)/1024 -0.0014 -0.0015 41 41 41 41
std::vector<int>::operator=(const&) (cheap elements)/8192 -0.0018 -0.0015 652 651 652 651
std::vector<int>::assign(input-iter, input-iter) (full container) (cheap elements)/32 +0.0190 +0.0191 24 25 24 25
std::vector<int>::assign(input-iter, input-iter) (full container) (cheap elements)/1024 +0.0043 +0.0046 656 659 655 658
std::vector<int>::assign(input-iter, input-iter) (full container) (cheap elements)/8192 +0.0037 +0.0036 5303 5322 5299 5318
std::vector<int>::insert(begin) (cheap elements)/32 +0.0023 +0.0024 9 9 9 9
std::vector<int>::insert(begin) (cheap elements)/1024 -0.0017 -0.0017 48 48 48 48
std::vector<int>::insert(begin) (cheap elements)/8192 -0.0015 -0.0013 332 331 332 331
std::vector<int>::insert(middle) (cheap elements)/32 -0.0033 -0.0036 9 9 9 9
std::vector<int>::insert(middle) (cheap elements)/1024 -0.0040 -0.0045 28 28 28 28
std::vector<int>::insert(middle) (cheap elements)/8192 -0.0014 -0.0010 169 169 169 169
std::vector<int>::insert(begin, input-iter, input-iter) (no realloc) (cheap elements)/32 +0.0027 +0.0037 1255 1258 1259 1263
std::vector<int>::insert(begin, input-iter, input-iter) (no realloc) (cheap elements)/1024 +0.0029 +0.0048 3834 3845 3839 3857
std::vector<int>::insert(begin, input-iter, input-iter) (no realloc) (cheap elements)/8192 +0.0099 +0.0100 21936 22153 21958 22177
std::vector<int>::insert(begin, input-iter, input-iter) (half filled) (cheap elements)/32 -0.0015 -0.0011 1123 1122 1127 1126
std::vector<int>::insert(begin, input-iter, input-iter) (half filled) (cheap elements)/1024 +0.0086 +0.0130 2172 2191 2184 2213
std::vector<int>::insert(begin, input-iter, input-iter) (half filled) (cheap elements)/8192 +0.0210 +0.0219 9519 9719 9544 9752
std::vector<int>::insert(begin, input-iter, input-iter) (near full) (cheap elements)/32 +0.0079 +0.0079 1149 1158 1153 1162
std::vector<int>::insert(begin, input-iter, input-iter) (near full) (cheap elements)/1024 +0.1679 +0.1659 1878 2193 1899 2214
std::vector<int>::insert(begin, input-iter, input-iter) (near full) (cheap elements)/8192 +0.3200 +0.3196 6809 8988 6825 9007
std::vector<int>::push_back() (growing) (cheap elements)/32 -0.0232 -0.0245 79 77 79 77
std::vector<int>::push_back() (growing) (cheap elements)/1024 -0.0169 -0.0164 193 190 193 190
std::vector<int>::push_back() (growing) (cheap elements)/8192 -0.0158 -0.0164 4362 4293 4347 4276
std::vector<int>::push_back() (with reserve) (cheap elements)/32 -0.0082 -0.0111 34 33 34 33
std::vector<int>::push_back() (with reserve) (cheap elements)/1024 -0.0105 -0.0128 34 34 34 33
std::vector<int>::push_back() (with reserve) (cheap elements)/8192 -0.0114 -0.0147 34 33 34 33
std::vector<int>::push_back() (many elements) (cheap elements)/32 -0.0069 -0.0073 34 33 34 33
std::vector<int>::push_back() (many elements) (cheap elements)/1024 -0.0099 -0.0106 1 1 1 1
std::vector<int>::push_back() (many elements) (cheap elements)/8192 -0.0065 -0.0062 1 1 1 1
std::vector<int>::erase(begin) (cheap elements)/32 +0.0086 +0.0084 10 10 10 10
std::vector<int>::erase(begin) (cheap elements)/1024 -0.0016 -0.0016 49 49 49 49
std::vector<int>::erase(begin) (cheap elements)/8192 -0.0016 -0.0012 333 332 333 332
std::vector<int>::erase(middle) (cheap elements)/32 -0.0058 -0.0062 8 8 8 8
std::vector<int>::erase(middle) (cheap elements)/1024 -0.0533 -0.0535 31 29 31 29
std::vector<int>::erase(middle) (cheap elements)/8192 -0.0013 -0.0011 171 171 171 171
std::vector<std::string>::ctor(size)/32 -0.0285 -0.0288 30 29 30 29
std::vector<std::string>::ctor(size)/1024 +0.0197 +0.0198 599 611 599 610
std::vector<std::string>::ctor(size)/8192 +0.0272 +0.0268 4857 4989 4853 4983
std::vector<std::string>::ctor(size, value_type) (cheap elements)/32 -0.1519 -0.1515 54 46 54 46
std::vector<std::string>::ctor(size, value_type) (cheap elements)/1024 +0.0076 +0.0079 1002 1009 1001 1009
std::vector<std::string>::ctor(size, value_type) (cheap elements)/8192 -0.0086 -0.0083 8557 8483 8548 8477
std::vector<std::string>::ctor(size, value_type) (expensive elements)/32 +0.0158 +0.0157 1160 1178 1159 1177
std::vector<std::string>::ctor(size, value_type) (expensive elements)/1024 +0.0086 +0.0088 38444 38777 38404 38741
std::vector<std::string>::ctor(size, value_type) (expensive elements)/8192 +0.0015 +0.0012 511106 511883 510649 511282
std::vector<std::string>::ctor(Iterator, Iterator) (cheap elements)/32 +0.0067 +0.0063 49 49 49 49
std::vector<std::string>::ctor(Iterator, Iterator) (cheap elements)/1024 +0.0052 +0.0047 1402 1409 1401 1408
std::vector<std::string>::ctor(Iterator, Iterator) (cheap elements)/8192 +0.0317 +0.0317 11411 11773 11402 11764
std::vector<std::string>::ctor(Iterator, Iterator) (expensive elements)/32 +0.0104 +0.0099 1107 1119 1107 1118
std::vector<std::string>::ctor(Iterator, Iterator) (expensive elements)/1024 -0.0425 -0.0422 40084 38379 40053 38361
std::vector<std::string>::ctor(Iterator, Iterator) (expensive elements)/8192 -0.0005 -0.0006 325009 324853 324743 324542
std::vector<std::string>::ctor(Range) (cheap elements)/32 -0.0133 -0.0128 50 50 50 50
std::vector<std::string>::ctor(Range) (cheap elements)/1024 -0.0044 -0.0044 1413 1407 1412 1406
std::vector<std::string>::ctor(Range) (cheap elements)/8192 +0.0172 +0.0174 11468 11666 11458 11657
std::vector<std::string>::ctor(Range) (expensive elements)/32 +0.0105 +0.0104 1106 1117 1105 1116
std::vector<std::string>::ctor(Range) (expensive elements)/1024 -0.0227 -0.0227 39841 38935 39802 38899
std::vector<std::string>::ctor(Range) (expensive elements)/8192 -0.0062 -0.0064 325031 323009 324784 322720
std::vector<std::string>::ctor(const&) (cheap elements)/32 -0.0178 -0.0176 51 50 51 50
std::vector<std::string>::ctor(const&) (cheap elements)/1024 +0.0119 +0.0121 1407 1424 1405 1422
std::vector<std::string>::ctor(const&) (cheap elements)/8192 -0.1112 -0.1113 12700 11287 12692 11279
std::vector<std::string>::ctor(const&) (expensive elements)/32 +0.0069 +0.0077 1108 1116 1107 1115
std::vector<std::string>::ctor(const&) (expensive elements)/1024 -0.0088 -0.0089 39814 39464 39784 39431
std::vector<std::string>::ctor(const&) (expensive elements)/8192 -0.0033 -0.0033 323495 322411 323212 322150
std::vector<std::string>::operator=(const&) (cheap elements)/32 -0.0109 -0.0108 35 35 35 35
std::vector<std::string>::operator=(const&) (cheap elements)/1024 +0.0521 +0.0527 1011 1064 1010 1063
std::vector<std::string>::operator=(const&) (cheap elements)/8192 -0.0651 -0.0651 8866 8289 8861 8284
std::vector<std::string>::operator=(const&) (expensive elements)/32 +0.0264 +0.0264 209 215 209 215
std::vector<std::string>::operator=(const&) (expensive elements)/1024 +0.0350 +0.0338 9668 10006 9667 9994
std::vector<std::string>::operator=(const&) (expensive elements)/8192 -0.0374 -0.0375 82086 79017 82052 78973
std::vector<std::string>::assign(input-iter, input-iter) (full container) (cheap elements)/32 -0.0005 -0.0006 51 51 51 51
std::vector<std::string>::assign(input-iter, input-iter) (full container) (cheap elements)/1024 -0.0553 -0.0554 1466 1385 1465 1384
std::vector<std::string>::assign(input-iter, input-iter) (full container) (cheap elements)/8192 +0.0215 +0.0216 11451 11697 11441 11688
std::vector<std::string>::assign(input-iter, input-iter) (full container) (expensive elements)/32 +0.0065 +0.0059 241 242 241 242
std::vector<std::string>::assign(input-iter, input-iter) (full container) (expensive elements)/1024 +0.0156 +0.0155 10563 10727 10556 10719
std::vector<std::string>::assign(input-iter, input-iter) (full container) (expensive elements)/8192 -0.0161 -0.0165 87753 86339 87700 86250
std::vector<std::string>::insert(begin) (cheap elements)/32 -0.0107 -0.0106 33 32 33 32
std::vector<std::string>::insert(begin) (cheap elements)/1024 +0.0011 +0.0010 1002 1004 1002 1003
std::vector<std::string>::insert(begin) (cheap elements)/8192 -0.0038 -0.0043 8433 8401 8430 8394
std::vector<std::string>::insert(begin) (expensive elements)/32 +0.0130 +0.0128 48 49 48 49
std::vector<std::string>::insert(begin) (expensive elements)/1024 +0.0036 +0.0036 1055 1059 1054 1058
std::vector<std::string>::insert(begin) (expensive elements)/8192 -0.0017 -0.0012 8454 8439 8443 8433
std::vector<std::string>::insert(middle) (cheap elements)/32 +0.0734 +0.0734 18 19 18 19
std::vector<std::string>::insert(middle) (cheap elements)/1024 +0.0004 +0.0007 501 501 501 501
std::vector<std::string>::insert(middle) (cheap elements)/8192 +0.0040 +0.0037 4195 4212 4193 4209
std::vector<std::string>::insert(middle) (expensive elements)/32 -0.0027 -0.0023 33 33 33 33
std::vector<std::string>::insert(middle) (expensive elements)/1024 +0.0062 +0.0058 517 520 517 520
std::vector<std::string>::insert(middle) (expensive elements)/8192 +0.0067 +0.0070 4225 4253 4221 4250
std::vector<std::string>::insert(begin, input-iter, input-iter) (no realloc) (cheap elements)/32 +0.0151 +0.0124 1371 1392 1375 1392
std::vector<std::string>::insert(begin, input-iter, input-iter) (no realloc) (cheap elements)/1024 +0.0130 +0.0109 4823 4886 4837 4890
std::vector<std::string>::insert(begin, input-iter, input-iter) (no realloc) (cheap elements)/8192 +0.0118 +0.0135 29882 30233 29949 30352
std::vector<std::string>::insert(begin, input-iter, input-iter) (no realloc) (expensive elements)/32 -0.0181 -0.0180 1966 1930 1983 1948
std::vector<std::string>::insert(begin, input-iter, input-iter) (no realloc) (expensive elements)/1024 -0.0259 -0.0273 27109 26406 27280 26535
std::vector<std::string>::insert(begin, input-iter, input-iter) (no realloc) (expensive elements)/8192 -0.0088 -0.0081 1032159 1023111 1030392 1022052
std::vector<std::string>::insert(begin, input-iter, input-iter) (half filled) (cheap elements)/32 -0.0034 -0.0059 1205 1201 1214 1207
std::vector<std::string>::insert(begin, input-iter, input-iter) (half filled) (cheap elements)/1024 -0.0031 -0.0029 3534 3523 3540 3529
std::vector<std::string>::insert(begin, input-iter, input-iter) (half filled) (cheap elements)/8192 -0.0031 -0.0049 20811 20746 21001 20898
std::vector<std::string>::insert(begin, input-iter, input-iter) (half filled) (expensive elements)/32 +0.0052 +0.0065 1944 1954 1963 1976
std::vector<std::string>::insert(begin, input-iter, input-iter) (half filled) (expensive elements)/1024 +0.0181 +0.0177 24967 25419 25074 25518
std::vector<std::string>::insert(begin, input-iter, input-iter) (half filled) (expensive elements)/8192 -0.0119 -0.0117 1213522 1199109 1212344 1198135
std::vector<std::string>::insert(begin, input-iter, input-iter) (near full) (cheap elements)/32 +0.0040 +0.0031 1273 1278 1280 1284
std::vector<std::string>::insert(begin, input-iter, input-iter) (near full) (cheap elements)/1024 +0.0266 +0.0259 5950 6108 5953 6107
std::vector<std::string>::insert(begin, input-iter, input-iter) (near full) (cheap elements)/8192 -0.0106 -0.0093 41340 40902 41333 40947
std::vector<std::string>::insert(begin, input-iter, input-iter) (near full) (expensive elements)/32 -0.0033 -0.0030 2026 2019 2033 2026
std::vector<std::string>::insert(begin, input-iter, input-iter) (near full) (expensive elements)/1024 +0.0170 +0.0168 28510 28995 28528 29008
std::vector<std::string>::insert(begin, input-iter, input-iter) (near full) (expensive elements)/8192 -0.0598 -0.0599 1436815 1350887 1435078 1349181
std::vector<std::string>::push_back() (growing) (cheap elements)/32 +0.0055 +0.0058 94 94 94 94
std::vector<std::string>::push_back() (growing) (cheap elements)/1024 -0.0014 -0.0019 814 813 813 811
std::vector<std::string>::push_back() (growing) (cheap elements)/8192 +0.0280 +0.0284 35454 36446 35406 36410
std::vector<std::string>::push_back() (growing) (expensive elements)/32 +0.0155 +0.0165 160 162 156 159
std::vector<std::string>::push_back() (growing) (expensive elements)/1024 +0.0212 +0.0212 2017 2059 1994 2036
std::vector<std::string>::push_back() (growing) (expensive elements)/8192 -0.0003 -0.0008 23065 23058 22979 22960
std::vector<std::string>::push_back() (with reserve) (cheap elements)/32 +0.0002 -0.0005 34 34 34 34
std::vector<std::string>::push_back() (with reserve) (cheap elements)/1024 +0.0027 +0.0023 34 34 34 34
std::vector<std::string>::push_back() (with reserve) (cheap elements)/8192 +0.0002 -0.0021 35 35 35 35
std::vector<std::string>::push_back() (with reserve) (expensive elements)/32 +0.0035 +0.0061 57 57 57 57
std::vector<std::string>::push_back() (with reserve) (expensive elements)/1024 -0.0048 -0.0033 55 55 56 56
std::vector<std::string>::push_back() (with reserve) (expensive elements)/8192 -0.0013 -0.0004 56 56 56 56
std::vector<std::string>::push_back() (many elements) (cheap elements)/32 -0.0109 -0.0117 35 35 35 35
std::vector<std::string>::push_back() (many elements) (cheap elements)/1024 -0.0141 -0.0150 2 2 2 2
std::vector<std::string>::push_back() (many elements) (cheap elements)/8192 -0.0204 -0.0227 1 1 1 1
std::vector<std::string>::push_back() (many elements) (expensive elements)/32 +0.0015 +0.0054 57 57 57 58
std::vector<std::string>::push_back() (many elements) (expensive elements)/1024 +0.0211 +0.0221 23 23 23 23
std::vector<std::string>::push_back() (many elements) (expensive elements)/8192 +0.0084 +0.0089 46 46 46 46
std::vector<std::string>::erase(begin) (cheap elements)/32 +0.0123 +0.0118 33 33 32 33
std::vector<std::string>::erase(begin) (cheap elements)/1024 +0.0079 +0.0085 975 982 974 982
std::vector<std::string>::erase(begin) (cheap elements)/8192 +0.0065 +0.0062 8413 8467 8407 8460
std::vector<std::string>::erase(begin) (expensive elements)/32 +0.0161 +0.0164 47 48 47 48
std::vector<std::string>::erase(begin) (expensive elements)/1024 -0.0052 -0.0050 1044 1038 1043 1038
std::vector<std::string>::erase(begin) (expensive elements)/8192 -0.0033 -0.0029 8427 8400 8420 8396
std::vector<std::string>::erase(middle) (cheap elements)/32 -0.0100 -0.0099 18 17 18 17
std::vector<std::string>::erase(middle) (cheap elements)/1024 -0.0001 +0.0001 488 488 488 488
std::vector<std::string>::erase(middle) (cheap elements)/8192 -0.0005 -0.0006 4198 4196 4195 4192
std::vector<std::string>::erase(middle) (expensive elements)/32 -0.0180 -0.0174 33 33 33 33
std::vector<std::string>::erase(middle) (expensive elements)/1024 -0.0024 -0.0028 512 511 512 510
std::vector<std::string>::erase(middle) (expensive elements)/8192 +0.0048 +0.0045 4231 4251 4228 4247
OVERALL_GEOMEAN +0.0011 +0.0011 0 0 0 0
```
```
$ libcxx/utils/libcxx-compare-benchmarks build-c7df8839d8f161883e5b4c3847c3470ab8e08e64 build-size-based-vector libcxx/test/benchmarks/containers/sequence/deque.bench.cpp
Requirement already satisfied: numpy in /tmp/libcxx-compare-benchmarks-venv/lib/python3.13/site-packages (from -r /tmp/llvm-project/third-party/benchmark/tools/requirements.txt (line 1)) (2.3.2)
Requirement already satisfied: scipy in /tmp/libcxx-compare-benchmarks-venv/lib/python3.13/site-packages (from -r /tmp/llvm-project/third-party/benchmark/tools/requirements.txt (line 2)) (1.16.1)
Comparing build-c7df8839d8f161883e5b4c3847c3470ab8e08e64/libcxx/test/benchmarks/containers/sequence/Output/deque.bench.cpp.dir/benchmark-result.json to build-size-based-vector/libcxx/test/benchmarks/containers/sequence/Output/deque.bench.cpp.dir/benchmark-result.json
Benchmark Time CPU Time Old Time New CPU Old CPU New
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
std::deque<int>::ctor(size)/32 -0.0239 -0.0236 64 62 64 62
std::deque<int>::ctor(size)/1024 -0.0119 -0.0126 121 119 121 119
std::deque<int>::ctor(size)/8192 -0.0059 -0.0059 663 659 662 658
std::deque<int>::ctor(size, value_type) (cheap elements)/32 -0.0102 -0.0104 49 49 49 49
std::deque<int>::ctor(size, value_type) (cheap elements)/1024 -0.0090 -0.0089 162 161 162 161
std::deque<int>::ctor(size, value_type) (cheap elements)/8192 +0.0006 +0.0006 960 961 960 960
std::deque<int>::ctor(Iterator, Iterator) (cheap elements)/32 -0.0302 -0.0298 51 49 51 49
std::deque<int>::ctor(Iterator, Iterator) (cheap elements)/1024 -0.0064 -0.0063 181 180 181 179
std::deque<int>::ctor(Iterator, Iterator) (cheap elements)/8192 -0.0170 -0.0155 1051 1033 1048 1032
std::deque<int>::ctor(Range) (cheap elements)/32 -0.0095 -0.0095 65 65 65 65
std::deque<int>::ctor(Range) (cheap elements)/1024 +0.0006 +0.0006 180 180 180 180
std::deque<int>::ctor(Range) (cheap elements)/8192 -0.0184 -0.0176 1046 1026 1045 1026
std::deque<int>::ctor(const&) (cheap elements)/32 -0.0166 -0.0161 82 81 82 81
std::deque<int>::ctor(const&) (cheap elements)/1024 +0.0081 +0.0082 737 743 736 742
std::deque<int>::ctor(const&) (cheap elements)/8192 -0.0086 -0.0078 5483 5435 5476 5434
std::deque<int>::operator=(const&) (cheap elements)/32 +0.0078 +0.0076 12 12 12 12
std::deque<int>::operator=(const&) (cheap elements)/1024 +0.0153 +0.0157 46 47 46 47
std::deque<int>::operator=(const&) (cheap elements)/8192 +0.0035 +0.0034 684 686 683 686
std::deque<int>::assign(input-iter, input-iter) (full container) (cheap elements)/32 +0.0241 +0.0243 26 26 26 26
std::deque<int>::assign(input-iter, input-iter) (full container) (cheap elements)/1024 -0.0019 -0.0018 659 658 659 658
std::deque<int>::assign(input-iter, input-iter) (full container) (cheap elements)/8192 +0.0077 +0.0079 5335 5377 5331 5373
std::deque<int>::insert(begin) (cheap elements)/32 -0.0271 -0.0263 16 16 16 16
std::deque<int>::insert(begin) (cheap elements)/1024 -0.0215 -0.0218 16 16 16 16
std::deque<int>::insert(begin) (cheap elements)/8192 -0.0195 -0.0190 16 16 16 16
std::deque<int>::insert(middle) (cheap elements)/32 +0.0161 +0.0160 37 37 37 37
std::deque<int>::insert(middle) (cheap elements)/1024 -0.0018 -0.0016 63 63 63 63
std::deque<int>::insert(middle) (cheap elements)/8192 +0.0007 +0.0003 241 241 240 240
std::deque<int>::push_back() (many elements) (cheap elements)/32 +0.0265 +0.0258 34 35 34 35
std::deque<int>::push_back() (many elements) (cheap elements)/1024 +0.0106 +0.0100 2 2 2 2
std::deque<int>::push_back() (many elements) (cheap elements)/8192 +0.0389 +0.0386 3 3 3 3
std::deque<int>::erase(begin) (cheap elements)/32 -0.0398 -0.0399 18 17 18 17
std::deque<int>::erase(begin) (cheap elements)/1024 -0.0267 -0.0270 18 18 18 18
std::deque<int>::erase(begin) (cheap elements)/8192 +0.1073 +0.1077 18 20 18 20
std::deque<int>::erase(middle) (cheap elements)/32 -0.0064 -0.0062 21 20 21 20
std::deque<int>::erase(middle) (cheap elements)/1024 -0.0032 -0.0030 44 44 44 44
std::deque<int>::erase(middle) (cheap elements)/8192 +0.0101 +0.0103 192 194 192 194
std::deque<std::string>::ctor(size)/32 -0.0831 -0.0828 109 100 109 100
std::deque<std::string>::ctor(size)/1024 -0.1551 -0.1548 1523 1287 1522 1286
std::deque<std::string>::ctor(size)/8192 +0.0038 -0.0039 47605 47788 47117 46935
std::deque<std::string>::ctor(size, value_type) (cheap elements)/32 -0.0587 -0.0589 126 119 126 119
std::deque<std::string>::ctor(size, value_type) (cheap elements)/1024 -0.1018 -0.1020 1981 1779 1979 1777
std::deque<std::string>::ctor(size, value_type) (cheap elements)/8192 +0.0289 +0.0242 51041 52518 50509 51730
std::deque<std::string>::ctor(size, value_type) (expensive elements)/32 +0.0157 +0.0152 1155 1173 1154 1172
std::deque<std::string>::ctor(size, value_type) (expensive elements)/1024 +0.0562 +0.0509 129484 136767 128459 134992
std::deque<std::string>::ctor(size, value_type) (expensive elements)/8192 +0.1013 +0.1014 1458138 1605904 1456303 1603954
std::deque<std::string>::ctor(Iterator, Iterator) (cheap elements)/32 -0.0037 -0.0039 122 121 122 121
std::deque<std::string>::ctor(Iterator, Iterator) (cheap elements)/1024 -0.1435 -0.1435 2128 1822 2126 1821
std::deque<std::string>::ctor(Iterator, Iterator) (cheap elements)/8192 -0.1078 -0.1084 17227 15370 17216 15349
std::deque<std::string>::ctor(Iterator, Iterator) (expensive elements)/32 +0.0558 +0.0551 1127 1190 1126 1188
std::deque<std::string>::ctor(Iterator, Iterator) (expensive elements)/1024 +0.0315 +0.0312 40899 42187 40864 42141
std::deque<std::string>::ctor(Iterator, Iterator) (expensive elements)/8192 +0.0492 +0.0491 1378985 1446801 1377638 1445289
std::deque<std::string>::ctor(Range) (cheap elements)/32 -0.0225 -0.0229 128 125 128 125
std::deque<std::string>::ctor(Range) (cheap elements)/1024 -0.0900 -0.0903 2148 1955 2147 1953
std::deque<std::string>::ctor(Range) (cheap elements)/8192 -0.0729 -0.0735 17528 16251 17512 16225
std::deque<std::string>::ctor(Range) (expensive elements)/32 +0.0472 +0.0471 1172 1227 1171 1226
std::deque<std::string>::ctor(Range) (expensive elements)/1024 +0.0505 +0.0488 121795 127940 121220 127141
std::deque<std::string>::ctor(Range) (expensive elements)/8192 +0.0458 +0.0452 1378127 1441236 1377209 1439413
std::deque<std::string>::ctor(const&) (cheap elements)/32 -0.0659 -0.0660 146 137 146 137
std::deque<std::string>::ctor(const&) (cheap elements)/1024 -0.1044 -0.1046 2702 2420 2700 2418
std::deque<std::string>::ctor(const&) (cheap elements)/8192 -0.2204 -0.2205 21421 16701 21402 16682
std::deque<std::string>::ctor(const&) (expensive elements)/32 +0.0941 +0.0936 1193 1306 1192 1304
std::deque<std::string>::ctor(const&) (expensive elements)/1024 +0.0196 +0.0191 41413 42223 41372 42163
std::deque<std::string>::ctor(const&) (expensive elements)/8192 -0.0159 -0.0161 1397071 1374882 1395270 1372747
std::deque<std::string>::operator=(const&) (cheap elements)/32 +0.0044 +0.0039 45 46 45 45
std::deque<std::string>::operator=(const&) (cheap elements)/1024 +0.0082 +0.0076 1051 1060 1051 1059
std::deque<std::string>::operator=(const&) (cheap elements)/8192 +0.0062 +0.0063 8440 8492 8432 8485
std::deque<std::string>::operator=(const&) (expensive elements)/32 -0.1223 -0.1224 276 242 276 242
std::deque<std::string>::operator=(const&) (expensive elements)/1024 -0.0287 -0.0287 9847 9565 9839 9557
std::deque<std::string>::operator=(const&) (expensive elements)/8192 -0.0287 -0.0282 83281 80887 83182 80836
std::deque<std::string>::assign(input-iter, input-iter) (full container) (cheap elements)/32 +0.0216 +0.0208 57 58 57 58
std::deque<std::string>::assign(input-iter, input-iter) (full container) (cheap elements)/1024 -0.0313 -0.0315 1713 1659 1712 1658
std::deque<std::string>::assign(input-iter, input-iter) (full container) (cheap elements)/8192 +0.0056 +0.0053 13346 13420 13336 13407
std::deque<std::string>::assign(input-iter, input-iter) (full container) (expensive elements)/32 -0.0090 -0.0091 252 249 251 249
std::deque<std::string>::assign(input-iter, input-iter) (full container) (expensive elements)/1024 +0.0113 +0.0113 10780 10902 10769 10890
std::deque<std::string>::assign(input-iter, input-iter) (full container) (expensive elements)/8192 -0.0085 -0.0090 90124 89359 90077 89268
std::deque<std::string>::insert(begin) (cheap elements)/32 -0.0113 -0.0113 34 34 34 34
std::deque<std::string>::insert(begin) (cheap elements)/1024 -0.0126 -0.0129 34 34 34 34
std::deque<std::string>::insert(begin) (cheap elements)/8192 -0.0200 -0.0202 34 34 34 34
std::deque<std::string>::insert(begin) (expensive elements)/32 -0.0193 -0.0195 45 44 45 44
std::deque<std::string>::insert(begin) (expensive elements)/1024 +0.0290 +0.0282 46 47 46 47
std::deque<std::string>::insert(begin) (expensive elements)/8192 +0.0049 +0.0046 46 47 46 47
std::deque<std::string>::insert(middle) (cheap elements)/32 +0.0303 +0.0298 65 67 65 67
std::deque<std::string>::insert(middle) (cheap elements)/1024 +0.0096 +0.0094 587 593 586 592
std::deque<std::string>::insert(middle) (cheap elements)/8192 +0.0047 +0.0038 4424 4445 4422 4439
std::deque<std::string>::insert(middle) (expensive elements)/32 -0.0055 -0.0059 80 80 80 80
std::deque<std::string>::insert(middle) (expensive elements)/1024 +0.0005 -0.0000 606 607 606 606
std::deque<std::string>::insert(middle) (expensive elements)/8192 +0.0022 +0.0019 4424 4434 4422 4430
std::deque<std::string>::push_back() (many elements) (cheap elements)/32 +0.0066 +0.0055 36 37 36 37
std::deque<std::string>::push_back() (many elements) (cheap elements)/1024 -0.0170 -0.0176 5 5 5 5
std::deque<std::string>::push_back() (many elements) (cheap elements)/8192 -0.0237 -0.0240 4 4 4 4
std::deque<std::string>::push_back() (many elements) (expensive elements)/32 -0.0085 -0.0077 59 59 60 59
std::deque<std::string>::push_back() (many elements) (expensive elements)/1024 +0.0025 +0.0056 25 25 25 25
std::deque<std::string>::push_back() (many elements) (expensive elements)/8192 +0.0107 +0.0099 24 24 24 24
std::deque<std::string>::erase(begin) (cheap elements)/32 -0.0131 -0.0132 23 22 23 22
std::deque<std::string>::erase(begin) (cheap elements)/1024 +0.0160 +0.0155 23 24 23 24
std::deque<std::string>::erase(begin) (cheap elements)/8192 +0.0169 +0.0165 23 23 23 23
std::deque<std::string>::erase(begin) (expensive elements)/32 -0.0049 -0.0051 37 37 37 37
std::deque<std::string>::erase(begin) (expensive elements)/1024 -0.0210 -0.0213 40 39 40 39
std::deque<std::string>::erase(begin) (expensive elements)/8192 -0.0066 -0.0067 40 40 40 40
std::deque<std::string>::erase(middle) (cheap elements)/32 +0.0029 +0.0025 48 48 48 48
std::deque<std::string>::erase(middle) (cheap elements)/1024 -0.0048 -0.0049 557 554 556 554
std::deque<std::string>::erase(middle) (cheap elements)/8192 +0.0080 +0.0075 4297 4331 4294 4326
std::deque<std::string>::erase(middle) (expensive elements)/32 -0.0025 -0.0028 59 59 59 59
std::deque<std::string>::erase(middle) (expensive elements)/1024 -0.0025 -0.0025 569 567 568 567
std::deque<std::string>::erase(middle) (expensive elements)/8192 +0.0228 +0.0225 4310 4408 4307 4404
OVERALL_GEOMEAN
```
https://github.com/llvm/llvm-project/pull/139632
More information about the libcxx-commits
mailing list