Вот результаты каких-то старых тестов, которые я писал при сравнении Dinkum C++ Std Library и STLport для нашей конторы. В качестве элементов — std::pair<int, int>. Компилятор VC++7.0 aka .NET, времена условные, в тиках процессора. Если к теме будет проявлен интерес — можно будет черкнуть статейку с описанием методики и более полным охватом случаев и стратегий использования.
STLport:
100 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 2048 11135 3111 3039 1626151 1703370 540 21223 21797 295 111
list 7010 6250 2407 4039 5315927 4098625 674 1767 2277 2011 1517
deque 4204 3369 2299 2249 2013015 19207460 773 31301 19904 1099 421
set 37016 14635 15715 34382 179007 179631 2975 17300 13089 12897 3771
multiset 20202 17994 18507 22973 278207 254432 2655 15124 12721 12616 3702
map 28100 14843 15946 31068 176965 183084 2981 15093 12698 12617 3777
multimap 20202 17881 18518 22933 215001 328663 2767 14720 12617 12964 3705
hash_set 14232 8948 8904 36227 113173 118732 6052 12978 33983 38556 3037
hash_multiset 9478 23474 23464 23278 219353 203215 5727 13024 33993 38045 3004
hash_map 10851 9394 9310 24062 114218 118363 6076 13133 34045 33923 3051
hash_multimap 9995 23813 23826 23925 209632 208083 5697 12861 33997 34001 3019
500 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 9513 20829 12625 12301 2009572 2834763 1730 504636 512748 1105 120
list 23644 19543 12305 12139 9670787 8711346 2593 7669 10736 11937 6594
deque 15811 19213 11854 21983 3231446 2714113 2956 275506 98696 4409 692
set 209455 92009 92905 190567 165934 310293 13940 91662 64189 64266 17931
multiset 110613 95622 105720 122276 196103 240448 13549 71920 64307 64374 18086
map 153825 84239 95508 163536 170803 283378 13668 71515 68169 64235 18059
multimap 110194 94612 105623 121169 185489 245812 13407 83112 64344 64775 18078
hash_set 60119 45794 45067 125543 89292 152956 27076 61447 673658 673473 13558
hash_multiset 46464 121633 106811 109479 163867 163270 26566 61367 697519 673521 13392
hash_map 49619 47404 47136 110380 101392 161603 26919 61910 673959 675645 13540
hash_multimap 48004 106094 108982 111862 170561 168467 30636 61694 673501 678600 13377
1000 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 16927 64764 35364 35197 3254046 1316085 2901 2543209 2024155 2099 173
list 59324 57548 25260 24373 13909820 15937355 6084 16500 22275 23833 12980
deque 16244 28052 22420 23007 6817227 3167096 5396 906292 197133 8563 1093
set 401529 185102 205578 429939 198107 366271 28405 157411 129285 129227 37043
multiset 240319 194796 227908 267066 200575 286488 28111 148506 148890 129541 36792
map 335296 180449 206738 352297 203051 368000 28036 147997 129547 131707 36974
multimap 252793 205651 224975 267755 196567 285185 27816 169730 133985 129546 36989
hash_set 306309 98191 96078 268082 91349 227311 58043 122756 2611044 2626192 26914
hash_multiset 465771 227808 214705 229997 215844 221652 55905 122863 2600895 2685252 28017
hash_map 106050 96311 95442 224455 95106 221390 54882 123300 2610436 2827934 35973
hash_multimap 116821 247304 220004 237646 220250 224854 54543 123290 2604561 2663548 27719
5000 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 121755 412277 389283 424589 11830841 1298721 16594 54695035 51827764 10364 119
list 449978 447621 275057 273775 57234540 61354591 61445 94131 120973 138592 130432
deque 213532 324272 191733 195548 14934607 3699995 27145 17923381 990327 42460 4753
set 2363001 1119334 1410274 2478414 291226 458929 156838 831263 705947 678795 245674
multiset 1479550 1626776 2108366 1922227 330509 363626 152888 1413873 724547 736800 305493
map 2048497 1529663 1710629 2537686 303589 433861 150955 825576 746980 1088283 445758
multimap 1482367 1528392 1952261 1873320 321851 349397 148632 862277 853609 729716 310901
hash_set 736451 625554 1726525 1383283 118382 179336 306354 668306 68969852 66240664 402202
hash_multiset 765747 1470153 1502692 1654547 152490 161744 310846 678501 65295154 68701752 391993
hash_map 728343 619295 629411 1428494 115562 172417 301612 666685 66265498 80411480 885075
hash_multimap 723292 1550442 1490003 1466072 195240 167350 310036 714507 112742881 66016876 402322
10000 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 355804 693324 616401 669175 21419934 1339755 40973 208983769 211694944 20358 111
list 725111 926534 848031 797827 115412301 121850930 111874 290083 267323 461148 457554
deque 434065 570513 579196 717009 28481444 3239480 56155 69775657 1984641 89135 8781
set 5103104 2526307 3963765 5443932 348123 507398 418055 2454321 1582301 1582105 1354599
multiset 3383438 3714240 6460049 5076134 568299 410851 369977 1930026 1747950 2021093 1043011
map 4391700 3242341 4532891 5817197 477178 504469 382930 1983891 1755336 1800249 1050887
multimap 3434500 4130350 6776518 5609200 602605 423787 448396 1957937 1940248 1773648 1060633
hash_set 1619013 2063460 1617784 3559857 138894 244995 725594 1626615 268264602 259249130 795566
hash_multiset 1770062 4271307 4311780 4024413 217338 243009 678931 1662405 258988852 262620673 830538
hash_map 1390414 1895650 1789052 4672879 159198 259727 831244 1785027 259899443 270565697 797294
hash_multimap 1390929 4221267 4895063 4274237 238853 276294 664767 1803706 263631450 259038093 800311
Dinkum:
100 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 2713 10915 5921 5837 2366807 1803547 409 21186 26674 795 327
list 36277 31287 31182 31131 6359483 5748781 538 18300 23767 24729 23012
deque 26931 18937 18901 18798 3796689 3970630 1437 27444 7974 850 12338
set 76685 16437 16686 60464 282305 315172 4375 38823 38272 258960 25711
multiset 55158 49321 50156 56090 584930 590020 4032 36841 39930 44493 25832
map 57041 16207 17069 59779 283114 315512 4214 36780 38577 38296 25669
multimap 53825 50918 52062 61126 555894 577676 4219 36251 38371 38372 25815
hash_set 49100 5824 7140 42088 166309 206208 526 20313 34113 34208 24744
hash_multiset 47204 41004 44273 46187 411369 421547 531 20104 34244 34334 23763
hash_map 48491 5998 7153 42653 171089 207823 546 20211 34006 34177 24323
hash_multimap 47101 58812 44554 42461 423142 427486 560 19958 34313 34372 23872
500 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 10062 40476 24002 23900 3048542 3098932 1462 508871 636457 9507 363
list 164502 171034 162180 168552 10458575 14131577 2561 87021 120079 120198 118342
deque 104107 95843 90711 94340 6420794 3700294 5941 446078 39191 3926 59845
set 331879 101087 98253 609919 186443 484338 19696 172131 190149 187611 147089
multiset 284931 255919 271762 289079 537785 613193 19336 169037 194798 198034 133118
map 301977 93251 100294 329381 189110 470908 26324 168245 187006 187589 126726
multimap 280404 267783 281230 303001 529564 608266 19338 300366 186318 187518 129854
hash_set 237655 24726 31927 213276 55871 300805 2490 94589 299911 307675 112677
hash_multiset 229505 203599 224643 211325 428046 528307 2289 94251 300187 300609 116687
hash_map 233078 29153 32060 210579 56112 308883 2391 94201 299930 304352 112329
hash_multimap 229937 204539 225560 334734 430821 411420 2272 94381 300201 300320 124674
1000 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 16639 96527 54327 52580 4401395 1623993 2819 2326649 2530517 7103 365
list 355939 371628 313373 330752 17841337 18511758 8132 173322 261518 247634 258841
deque 201174 204323 182658 182637 9512471 8999591 11487 1687662 78228 7860 1093331
set 647401 206624 218202 697380 228590 717422 40242 347685 391682 379794 263152
multiset 611498 571167 612432 653566 595419 793375 40302 335679 389473 395661 803490
map 633238 210424 223520 731311 253943 734490 44280 335629 379134 375652 265566
multimap 575259 666891 598035 634348 551643 683116 40031 335766 378427 374619 258113
hash_set 477888 58840 67637 461611 71506 444781 7654 189781 922441 923685 241460
hash_multiset 457205 462005 451581 423500 449092 418168 7327 190015 924211 923708 231132
hash_map 496544 59603 70733 494693 69589 437079 7522 190183 989372 918222 234360
hash_multimap 454280 483454 460580 436948 748207 470751 7490 189879 920659 917800 238564
5000 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 84324 470742 484396 533752 14680254 2057236 15124 55097555 72885687 35198 6623
list 1779147 1963766 1912187 1840391 70229973 71765420 46207 945520 1340859 1239627 1295483
deque 1084391 1135826 1101268 1107522 33935343 6936640 58834 41541252 397503 38625 639921
set 4228972 1347333 3625637 4370428 428066 871869 208189 2036555 2145689 2251068 1759834
multiset 4254811 7602793 7144115 12498189 1109803 882280 299088 1861711 2278106 2651077 1788958
map 4375243 1402271 1927357 8874967 418931 882112 268395 1898182 2288927 2241402 1734627
multimap 4288559 10130131 9514873 8894028 873139 1240151 251856 1879168 2562153 2086539 1836336
hash_set 4020177 431352 573364 4023355 171752 570464 56007 1056813 19611166 18799085 3729691
hash_multiset 5620367 3781481 4941173 6727430 639054 559651 102017 1052700 18853085 18826283 1617689
hash_map 3110042 565609 549082 3174524 125456 598097 58026 1048348 25032863 19280184 1462932
hash_multimap 3053664 4303458 4990176 4963667 626083 714843 51044 1014831 20042740 19715429 1477244
10000 elements
construct fill add_same add_other ins_same ins_other iterate it_erase ers_begin ers_end clear
vector 349072 1074206 1702140 1112667 26599740 1634437 40645 216847073 265359513 70145 9964
list 3935762 4955736 4990414 4496641 187426869 451222465 539125 2324719 4070677 3663638 3845967
deque 2222149 2583918 2739325 3046400 67159626 7624871 163202 165287137 786135 84842 1681865
set 9686677 3110303 4379973 9509736 627293 946317 1014238 4068660 4795714 4623955 4019280
multiset 9010859 16194750 21093298 20790572 1744689 4194268 902092 4216223 5918314 5433874 3790245
map 10948102 3129069 4795299 11889746 611561 2426310 1173339 4208683 5031108 5110902 4269676
multimap 8934098 16072106 21480256 20602670 1185431 4332755 876865 4503130 5362643 4592478 3934824
hash_set 7011847 2124929 1720453 9450518 193827 628965 331213 2474273 74006881 79069719 3112478
hash_multiset 7510271 9594305 10201576 15538501 711339 612444 321508 2631280 75297616 72632788 3087764
hash_map 7410322 1474499 1675167 14474608 244036 645708 251189 2661932 72214458 71922068 3593165
hash_multimap 7166557 8798037 9449847 17949036 712395 626722 266140 2478930 72048474 73357909 3764163
legend:
[construct] construct from random data
[fill] fill the container by element with random data
[add_same] add same random data
[add_other] add other random data
[ins_same] insert 1000 existing elements maintaining order
[ins_other] insert 1000 new elements maintaining order
[iterate] iterate over the container
[it_erase] remove every 5th element while iteraiting
[ers_begin] clear via pop_front()/erase(begin)
[ers_end] clear via pop_back()/erase(--end)
[clear] container.clear()