back
EASTL Benchmark
created: 2025-12-30
****************************************************************************************
EASTL Benchmark test results
****************************************************************************************
EASTL version: 3.27.00
Platform: Linux on x64
Compiler: GCC compiler, version 15.2
Allocator: PPMalloc::GeneralAllocator. Thread safety enabled.
Build: Full optimization. Inlining enabled.
Values are ticks and time to complete tests; smaller values are better.
Test GCC (or emulated GCC) libstdc++ EASTL Ratio Difference?
---------------------------------------------------------------------------------------------------------------------
algorithm/adj_find/vector<TestObject> | 1994320 463.8 us | 997838 232.1 us | 2.00 +
algorithm/copy/vector<LargePOD> | 175936 40.9 us | 142138 33.1 us | 1.24
algorithm/copy/vector<uint32_t> | 3076 715.0 ns | 2689 625.0 ns | 1.14
algorithm/copy_backward/vector<LargePOD> | 127647 29.7 us | 125927 29.3 us | 1.01
algorithm/copy_backward/vector<uint32_t> | 2001 465.0 ns | 1872 435.0 ns | 1.07
algorithm/count/vector<uint64_t> | 1623574 377.6 us | 461800 107.4 us | 3.52 +
algorithm/equal_range/vector<uint64_t> | 130723160 30.4 ms | 153285952 35.6 ms | 0.85
algorithm/fill/bool[] | 192276 44.7 us | 198898 46.3 us | 0.97
algorithm/fill/char[]/'d' | 2173 505.0 ns | 2130 495.0 ns | 1.02
algorithm/fill/vector<char>/'d' | 2087 485.0 ns | 2130 495.0 ns | 0.98
algorithm/fill/vector<char>/0 | 2087 485.0 ns | 2087 485.0 ns | 1.00
algorithm/fill/vector<uint64_t> | 196576 45.7 us | 26253 6.1 us | 7.49 +
algorithm/fill/vector<void*> | 202209 47.0 us | 191545 44.5 us | 1.06
algorithm/fill_n/bool[] | 194942 45.3 us | 198855 46.2 us | 0.98
algorithm/fill_n/char[] | 2087 485.0 ns | 2130 495.0 ns | 0.98
algorithm/fill_n/vector<uint64_t> | 197909 46.0 us | 25995 6.0 us | 7.61 +
algorithm/find_end/string/end | 969415 225.4 us | 680627 158.3 us | 1.42 +
algorithm/find_end/string/middle | 7762899 1.8 ms | 5449112 1.3 ms | 1.42 +
algorithm/find_end/string/none | 15751439 3.7 ms | 10902071 2.5 ms | 1.44 +
algorithm/lex_cmp/schar[] | 1394255 324.2 us | 6645 1.5 us | 100.00 +
algorithm/lex_cmp/vector<TestObject> | 2202139 512.1 us | 1008158 234.5 us | 2.18 +
algorithm/lex_cmp/vector<uchar> | 7376 1.7 us | 6516 1.5 us | 1.13
algorithm/lower_bound/vector<TestObject> | 75619440 17.6 ms | 71639312 16.7 ms | 1.06
algorithm/merge/vector<TestObject> (pred) | 372962 86.7 us | 330779 76.9 us | 1.13
algorithm/merge/vector<TestObject> (unpred) | 703976 163.7 us | 635176 147.7 us | 1.11
algorithm/merge/vector<int> (pred) | 239877 55.8 us | 149319 34.7 us | 1.61 +
algorithm/merge/vector<int> (unpred) | 453673 105.5 us | 472292 109.8 us | 0.96
algorithm/min_element/vector<TestObject> | 1809119 420.7 us | 999472 232.4 us | 1.81 +
algorithm/reverse/list<TestObject> | 1015511 236.2 us | 866301 201.5 us | 1.17
algorithm/reverse/vector<TestObject> | 763531 177.6 us | 780344 181.5 us | 0.98
algorithm/rotate/list<TestObject large> | 2035858 473.5 us | 1708671 397.4 us | 1.19
algorithm/rotate/list<TestObject small> | 2904 675.0 ns | 1915 445.0 ns | 1.52 +
algorithm/rotate/list<int32_t> large | 562463 130.8 us | 426325 99.1 us | 1.32 +
algorithm/rotate/list<int32_t> small | 883 205.0 ns | 711 165.0 ns | 1.24
algorithm/rotate/slist<int32_t> large | 0 0.0 ns | 425938 99.1 us | 0.00
algorithm/rotate/vector<SizedPOD<32>> large | 237383 55.2 us | 88474 20.6 us | 2.68 +
algorithm/rotate/vector<TestObject large> | 1450198 337.3 us | 573299 133.3 us | 2.53 +
algorithm/rotate/vector<TestObject small> | 1571 365.0 ns | 883 205.0 ns | 1.78 +
algorithm/rotate/vector<int32_t large> | 127174 29.6 us | 61384 14.3 us | 2.07 +
algorithm/rotate/vector<int32_t small> | 367 85.0 ns | 453 105.0 ns | 0.81
algorithm/search/string<char> | 3529162 820.7 us | 906635 210.8 us | 3.89 +
algorithm/search_n/string<char> | 1181319 274.7 us | 400998 93.3 us | 2.95 +
algorithm/unique/vector<TestObject> | 7300520 1.7 ms | 1966671 457.4 us | 3.71 +
algorithm/unique/vector<uint32_t> | 920739 214.1 us | 421853 98.1 us | 2.18 +
algorithm/unique/vector<uint64_t> | 1795660 417.6 us | 867935 201.8 us | 2.07 +
algorithm/upper_bound/vector<uint32_t> | 37330088 8.7 ms | 33954544 7.9 ms | 1.10
bitset<1500>/>>=/1 | 13406950 3.1 ms | 15988541 3.7 ms | 0.84
bitset<1500>/count | 21181264 4.9 ms | 34827184 8.1 ms | 0.61 -
bitset<1500>/flip | 7523604 1.7 ms | 7440829 1.7 ms | 1.01
bitset<1500>/reset | 5827254 1.4 ms | 1793209 417.0 us | 3.25 +
bitset<1500>/set() | 2391038 556.1 us | 5563492 1.3 ms | 0.43 -
bitset<1500>/set(i) | 3190064 741.9 us | 1299483 302.2 us | 2.45 +
bitset<1500>/test | 3294640 766.2 us | 1195208 278.0 us | 2.76 +
bitset<15>/>>=/1 | 1195294 278.0 us | 1202475 279.6 us | 0.99
bitset<15>/count | 1892324 440.1 us | 2099068 488.2 us | 0.90
bitset<15>/flip | 2398563 557.8 us | 1195810 278.1 us | 2.01 +
bitset<15>/reset | 1192757 277.4 us | 1292431 300.6 us | 0.92
bitset<15>/set() | 2498624 581.1 us | 1195896 278.1 us | 2.09 +
bitset<15>/set(i) | 2889408 672.0 us | 1195810 278.1 us | 2.42 +
bitset<15>/test | 2896718 673.7 us | 1195509 278.0 us | 2.42 +
bitset<35>/>>=/1 | 1195595 278.0 us | 1195638 278.1 us | 1.00
bitset<35>/count | 1693922 393.9 us | 2100014 488.4 us | 0.81
bitset<35>/flip | 2391124 556.1 us | 1203120 279.8 us | 1.99 +
bitset<35>/reset | 1193101 277.5 us | 1200282 279.1 us | 0.99
bitset<35>/set() | 2498452 581.0 us | 1195595 278.0 us | 2.09 +
bitset<35>/set(i) | 2796915 650.4 us | 1295140 301.2 us | 2.16 +
bitset<35>/test | 2797345 650.5 us | 1295312 301.2 us | 2.16 +
bitset<75>/>>=/1 | 3028771 704.4 us | 1299225 302.1 us | 2.33 +
bitset<75>/count | 2390264 555.9 us | 3394185 789.3 us | 0.70 -
bitset<75>/flip | 2590343 602.4 us | 1203077 279.8 us | 2.15 +
bitset<75>/reset | 1193058 277.5 us | 1193316 277.5 us | 1.00
bitset<75>/set() | 2391296 556.1 us | 1210387 281.5 us | 1.98 +
bitset<75>/set(i) | 3196557 743.4 us | 1195208 278.0 us | 2.67 +
bitset<75>/test | 3195267 743.1 us | 1195509 278.0 us | 2.67 +
deque<ValuePair>/erase | 13224501 3.1 ms | 82383336 19.2 ms | 0.16 -
deque<ValuePair>/find | 4380605 1.0 ms | 3868303 899.6 us | 1.13
deque<ValuePair>/insert | 11337919 2.6 ms | 94247728 21.9 ms | 0.12 -
deque<ValuePair>/iteration | 2607930 606.5 us | 1868330 434.5 us | 1.40 +
deque<ValuePair>/operator[] | 25789058 6.0 ms | 3109697 723.2 us | 8.29 +
deque<ValuePair>/push_back | 2862490 665.7 us | 4822516 1.1 ms | 0.59 -
deque<ValuePair>/push_front | 2846580 662.0 us | 4789019 1.1 ms | 0.59 -
deque<ValuePair>/sort | 227647104 52.9 ms | 200824304 46.7 ms | 1.13
hash_map<string, uint32_t>/clear | 474657 110.4 us | 378681 88.1 us | 1.25
hash_map<string, uint32_t>/count | 3397754 790.2 us | 3015312 701.2 us | 1.13
hash_map<string, uint32_t>/erase pos | 113973 26.5 us | 223494 52.0 us | 0.51 -
hash_map<string, uint32_t>/erase range | 39196 9.1 us | 67189 15.6 us | 0.58 -
hash_map<string, uint32_t>/erase val | 2072236 481.9 us | 2064410 480.1 us | 1.00
hash_map<string, uint32_t>/find | 3351615 779.4 us | 3093142 719.3 us | 1.08
hash_map<string, uint32_t>/find_as/char* | 4796028 1.1 ms | 2329720 541.8 us | 2.06 +
hash_map<string, uint32_t>/insert | 5720528 1.3 ms | 6395112 1.5 ms | 0.89
hash_map<string, uint32_t>/iteration | 347033 80.7 us | 464337 108.0 us | 0.75 -
hash_map<string, uint32_t>/operator[] | 3018236 701.9 us | 3234870 752.3 us | 0.93
hash_map<uint32_t, TestObject>/clear | 285328 66.4 us | 223623 52.0 us | 1.28
hash_map<uint32_t, TestObject>/count | 1510527 351.3 us | 401170 93.3 us | 3.77 +
hash_map<uint32_t, TestObject>/erase pos | 108727 25.3 us | 184149 42.8 us | 0.59 -
hash_map<uint32_t, TestObject>/erase range | 32316 7.5 us | 51494 12.0 us | 0.63 -
hash_map<uint32_t, TestObject>/erase val | 1098931 255.6 us | 615869 143.2 us | 1.78 +
hash_map<uint32_t, TestObject>/find | 1431923 333.0 us | 665147 154.7 us | 2.15 +
hash_map<uint32_t, TestObject>/insert | 3071169 714.2 us | 2542699 591.3 us | 1.21
hash_map<uint32_t, TestObject>/iteration | 178559 41.5 us | 144546 33.6 us | 1.24
hash_map<uint32_t, TestObject>/operator[] | 1014135 235.8 us | 806230 187.5 us | 1.26
heap (uint32_t[])/make_heap | 2194313 510.3 us | 3139797 730.2 us | 0.70 -
heap (uint32_t[])/pop_heap | 53789756 12.5 ms | 49962412 11.6 ms | 1.08
heap (uint32_t[])/push_heap | 8145341 1.9 ms | 8877588 2.1 ms | 0.92
heap (uint32_t[])/sort_heap | 48913468 11.4 ms | 44532760 10.4 ms | 1.10
heap (vector<TestObject>)/make_heap | 13984741 3.3 ms | 12493028 2.9 ms | 1.12
heap (vector<TestObject>)/pop_heap | 174857376 40.7 ms | 171142608 39.8 ms | 1.02
heap (vector<TestObject>)/push_heap | 35917664 8.4 ms | 18085564 4.2 ms | 1.99 +
heap (vector<TestObject>)/sort_heap | 155024864 36.1 ms | 147821040 34.4 ms | 1.05
list<TestObject>/ctor(it) | 24138718 5.6 ms | 11925428 2.8 ms | 2.02 +
list<TestObject>/ctor(n) | 2424750 563.9 us | 1295785 301.3 us | 1.87 +
list<TestObject>/erase | 90987424 21.2 ms | 93324640 21.7 ms | 0.97
list<TestObject>/find | 9367229 2.2 ms | 6449636 1.5 ms | 1.45 +
list<TestObject>/insert | 23823572 5.5 ms | 21447908 5.0 ms | 1.11
list<TestObject>/push_back | 18733188 4.4 ms | 13920370 3.2 ms | 1.35 +
list<TestObject>/remove | 145034128 33.7 ms | 121401920 28.2 ms | 1.19
list<TestObject>/reverse | 5743189 1.3 ms | 6166352 1.4 ms | 0.93
list<TestObject>/size/1 | 130270 30.3 us | 89721 20.9 us | 1.45 +
list<TestObject>/size/10 | 129539 30.1 us | 89635 20.8 us | 1.45 +
list<TestObject>/size/100 | 129410 30.1 us | 89635 20.8 us | 1.44 +
list<TestObject>/splice | 35213112 8.2 ms | 25009596 5.8 ms | 1.41 +
map<TestObject, uint32_t>/clear | 57729 13.4 us | 31800 7.4 us | 1.82 +
map<TestObject, uint32_t>/count | 8355439 1.9 ms | 5530253 1.3 ms | 1.51 +
map<TestObject, uint32_t>/equal_range | 10791991 2.5 ms | 6659734 1.5 ms | 1.62 +
map<TestObject, uint32_t>/erase/key | 5814440 1.4 ms | 3559778 827.9 us | 1.63 +
map<TestObject, uint32_t>/erase/pos | 130872 30.4 us | 129754 30.2 us | 1.01
map<TestObject, uint32_t>/erase/range | 34681 8.1 us | 43797 10.2 us | 0.79
map<TestObject, uint32_t>/find | 8310074 1.9 ms | 5241723 1.2 ms | 1.59 +
map<TestObject, uint32_t>/insert | 11447182 2.7 ms | 7676770 1.8 ms | 1.49 +
map<TestObject, uint32_t>/iteration | 313579 72.9 us | 270708 63.0 us | 1.16
map<TestObject, uint32_t>/lower_bound | 7683564 1.8 ms | 5059446 1.2 ms | 1.52 +
map<TestObject, uint32_t>/operator[] | 9057973 2.1 ms | 5525824 1.3 ms | 1.64 +
map<TestObject, uint32_t>/upper_bound | 7990154 1.9 ms | 4923480 1.1 ms | 1.62 +
set<uint32_t>/clear | 51322 11.9 us | 27543 6.4 us | 1.86 +
set<uint32_t>/count | 8079078 1.9 ms | 4861990 1.1 ms | 1.66 +
set<uint32_t>/equal_range | 9831844 2.3 ms | 6092736 1.4 ms | 1.61 +
set<uint32_t>/erase range | 35584 8.3 us | 40400 9.4 us | 0.88
set<uint32_t>/erase/pos | 128722 29.9 us | 125454 29.2 us | 1.03
set<uint32_t>/erase/val | 5239143 1.2 ms | 3173079 737.9 us | 1.65 +
set<uint32_t>/find | 7875129 1.8 ms | 4538544 1.1 ms | 1.74 +
set<uint32_t>/insert | 9748467 2.3 ms | 6916057 1.6 ms | 1.41 +
set<uint32_t>/iteration | 251057 58.4 us | 196834 45.8 us | 1.28
set<uint32_t>/lower_bound | 7455363 1.7 ms | 4401890 1.0 ms | 1.69 +
set<uint32_t>/upper_bound | 7236364 1.7 ms | 4396816 1.0 ms | 1.65 +
sort/q_sort/TestObject[] | 9696996 2.3 ms | 9631163 2.2 ms | 1.01
sort/q_sort/TestObject[]/sorted | 3367482 783.1 us | 1299784 302.3 us | 2.59 +
sort/q_sort/vector<TestObject> | 9688095 2.3 ms | 9585282 2.2 ms | 1.01
sort/q_sort/vector<TestObject>/sorted | 3355915 780.4 us | 1291528 300.4 us | 2.60 +
sort/q_sort/vector<ValuePair> | 3729112 867.2 us | 3494547 812.7 us | 1.07
sort/q_sort/vector<ValuePair>/sorted | 1869792 434.8 us | 679466 158.0 us | 2.75 +
sort/q_sort/vector<uint32> | 3108407 722.9 us | 2796313 650.3 us | 1.11
sort/q_sort/vector<uint32>/sorted | 1096652 255.0 us | 285156 66.3 us | 3.85 +
string<char16_t>/compare | 499060000 116.1 ms | 136956608 31.9 ms | 3.64 +
string<char16_t>/erase/pos,n | 92043 21.4 us | 90022 20.9 us | 1.02
string<char16_t>/find/p,pos,n | 498770368 116.0 ms | 114481848 26.6 ms | 4.36 +
string<char16_t>/find_first_not_of/p,pos,n | 68307 15.9 us | 139128 32.4 us | 0.49 -
string<char16_t>/find_first_of/p,pos,n | 7932835 1.8 ms | 2516039 585.1 us | 3.15 +
string<char16_t>/find_last_of/p,pos,n | 794706 184.8 us | 436688 101.6 us | 1.82 +
string<char16_t>/insert/pos,p | 100772 23.4 us | 105287 24.5 us | 0.96
string<char16_t>/iteration | 327066656 76.1 ms | 149846848 34.8 ms | 2.18 +
string<char16_t>/operator[] | 2691092 625.8 us | 2783714 647.4 us | 0.97
string<char16_t>/push_back | 7725145 1.8 ms | 12327349 2.9 ms | 0.63 -
string<char16_t>/replace/pos,n,p,n | 382637 89.0 us | 364362 84.7 us | 1.05
string<char16_t>/reserve | 51795 12.0 us | 86883 20.2 us | 0.60 -
string<char16_t>/rfind/p,pos,n | 248907 57.9 us | 117026 27.2 us | 2.13 +
string<char16_t>/size | 21050 4.9 us | 31929 7.4 us | 0.66 -
string<char16_t>/swap | 1224190 284.7 us | 1574081 366.1 us | 0.78 -
string<char8_t>/compare | 2205536 512.9 us | 2395553 557.1 us | 0.92
string<char8_t>/erase/pos,n | 46377 10.8 us | 46592 10.8 us | 1.00
string<char8_t>/find/p,pos,n | 5824244 1.4 ms | 121699952 28.3 ms | 0.05 -
string<char8_t>/find_first_not_of/p,pos,n | 40443 9.4 us | 144632 33.6 us | 0.28 -
string<char8_t>/find_first_of/p,pos,n | 4397332 1.0 ms | 2485423 578.0 us | 1.77 +
string<char8_t>/find_last_of/p,pos,n | 313837 73.0 us | 438279 101.9 us | 0.72 -
string<char8_t>/insert/pos,p | 58589 13.6 us | 67705 15.7 us | 0.87
string<char8_t>/iteration | 1207635 280.8 us | 734893 170.9 us | 1.64 +
string<char8_t>/operator[] | 2678450 622.9 us | 3003272 698.4 us | 0.89
string<char8_t>/push_back | 8254389 1.9 ms | 13111067 3.0 ms | 0.63 -
string<char8_t>/replace/pos,n,p,n | 350860 81.6 us | 339809 79.0 us | 1.03
string<char8_t>/reserve | 66673 15.5 us | 80089 18.6 us | 0.83
string<char8_t>/rfind/p,pos,n | 269461 62.7 us | 128937 30.0 us | 2.09 +
string<char8_t>/size | 21050 4.9 us | 32961 7.7 us | 0.64 -
string<char8_t>/swap | 1235929 287.4 us | 1575887 366.5 us | 0.78
tuple_vector<AutoRefCount>/erase | 14601877 3.4 ms | 19463628 4.5 ms | 0.75 -
tuple_vector<MovableType>/erase | 1581639424 367.8 ms | 837932672 194.9 ms | 1.89 +
tuple_vector<MovableType>/reallocate | 1491779 346.9 us | 845747 196.7 us | 1.76 +
tuple_vector<uint64,Padding>/erase | 407225504 94.7 ms | 22002220 5.1 ms | 18.51 +
tuple_vector<uint64,Padding>/insert | 409627232 95.3 ms | 21907190 5.1 ms | 18.70 +
tuple_vector<uint64,Padding>/iteration | 7693798 1.8 ms | 6676547 1.6 ms | 1.15
tuple_vector<uint64,Padding>/operator[] | 2104615 489.4 us | 5575317 1.3 ms | 0.38 -
tuple_vector<uint64,Padding>/push_back | 8568977 2.0 ms | 32036056 7.5 ms | 0.27 -
tuple_vector<uint64,Padding>/sort | 307670496 71.6 ms | 462759712 107.6 ms | 0.66 -
tuple_vector<uint64>/erase | 2190787 509.5 us | 2257910 525.1 us | 0.97
tuple_vector<uint64>/insert | 2231250 518.9 us | 2248450 522.9 us | 0.99
tuple_vector<uint64>/iteration | 399106 92.8 us | 7474756 1.7 ms | 0.05 -
tuple_vector<uint64>/operator[] | 904872 210.4 us | 4382540 1.0 ms | 0.21 -
tuple_vector<uint64>/push_back | 5641494 1.3 ms | 13570436 3.2 ms | 0.42 -
tuple_vector<uint64>/sort | 35563904 8.3 ms | 355213920 82.6 ms | 0.10 -
vector<AutoRefCount>/erase | 14839108 3.5 ms | 19171014 4.5 ms | 0.77 -
vector<MovableType>/erase | 1583651712 368.3 ms | 1808175232 420.5 ms | 0.88
vector<MovableType>/reallocate | 1448564 336.9 us | 1923843 447.4 us | 0.75 -
vector<uint64>/erase | 2175006 505.8 us | 2174662 505.7 us | 1.00
vector<uint64>/insert | 2217103 515.6 us | 2351349 546.8 us | 0.94
vector<uint64>/iteration | 399450 92.9 us | 239490 55.7 us | 1.67 +
vector<uint64>/operator[] | 904614 210.4 us | 463907 107.9 us | 1.95 +
vector<uint64>/push_back | 5619650 1.3 ms | 9987461 2.3 ms | 0.56 -
vector<uint64>/sort | 35604368 8.3 ms | 33289592 7.7 ms | 1.07
sum | 7546403783 1.75 s | 5917896018 1.38 s | 1.28
****************************************************************************************
Time to complete all tests: 6.0 ns.
RETURNCODE=0