diff options
Diffstat (limited to 'EASTL/doc/html/EASTL Benchmarks.html')
-rw-r--r-- | EASTL/doc/html/EASTL Benchmarks.html | 330 |
1 files changed, 330 insertions, 0 deletions
diff --git a/EASTL/doc/html/EASTL Benchmarks.html b/EASTL/doc/html/EASTL Benchmarks.html new file mode 100644 index 0000000..70ff23f --- /dev/null +++ b/EASTL/doc/html/EASTL Benchmarks.html @@ -0,0 +1,330 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <title>EASTL Benchmarks</title> + <meta content="text/html; charset=us-ascii" http-equiv="content-type"> + <meta content="Paul Pedriana" name="author"> + <meta content="Presentation of various benchmarks of EASTL" name="description"> + <link type="text/css" rel="stylesheet" href="EASTLDoc.css"> +</head> + + +<body> + + +<h1>EASTL Benchmarks</h1> +<h2>Introduction</h2> +<p>This document provides a number of benchmark results of EASTL. + Where possible, these benchmarks are implemented as comparisons + with equivalent functionality found in other libraries such as + compiler STL libraries or other well-known libraries. These + comparison benchmarks concentrate on highlighting the differences + between implementations rather than the similarities. In many + mundane cases -- such as accessing a vector element via operator [] + -- virtually all vector/array implementations you are likely to run + into will have identical performance.<br> + + + +<br> + + + +It's also important to note that the platform you run on can make a + significant difference in the results. On a modern 3+GHz Windows PC + many operations are fast due to large memory caches, intelligent + branch prediction, and parallel instruction execution. However, on + embedded or console systems none of these may be the case. + <br> + + + +<br> + + + +While EASTL generally outperforms std STL, there are some benchmarks + here in which EASTL is slower than std STL. There are three primary +explanations of this:</p> +<ol> + + + + <li>EASTL is making some kind of speed, memory, or design tradeoff +that results in the given speed difference. In may such cases, EASTL +goes slower on one benchmark in order to go faster on another benchmark +deemed more important. This explanation constitutes about 60% of the +cases.</li> + + + + <li>Compiler optimizations and resulting code generation is +coincidencally favoring one kind of implementation over another, often +when they are visually virtually identical. This explantation +constitutes about 30% of the cases.</li> + + + + <li>EASTL is simply not yet as optimized as it could be. This +explanation constitutes about 10% of the cases (as of this writing +there are about three such functions throughout EASTL). </li> + + + +</ol> + + + +<h2> Benchmarks</h2> +<p>Below is a table of links to detailed benchmark results derived from + the Benchmark test present in the EASTL package. The detailed results + are present below the table. Additional platforms will be added as + results become available for those platforms. Debug benchmarks are + present because (lack of) debug performance can be significant for + highly templated libraries. EASTL has specific optimizations to enhance + debug performance relative to other standard libraries; in some cases + it is 10x or more faster than alternatives (though there are exceptions where EASTL is slower). Feel free to submit results + for additional compilers/platforms.<br> + + + +</p> +<table style="text-align: left; width: 550px; margin-left: 40px;" border="1" cellpadding="2" cellspacing="2"> + + + <tbody> + + + <tr> + + + <td style="text-align: center;"><span style="font-weight: bold;">Platform</span></td> + + + <td style="text-align: center;"><span style="font-weight: bold;">Compiler</span></td> + + + <td style="font-weight: bold; text-align: center;">STL type</td> + + + <td style="font-weight: bold; text-align: center;">Build</td> + + + <td style="text-align: center;"><span style="font-weight: bold;">Results</span></td> + + + </tr> + + + + + + <tr> + + + <td>Win32</td> + + + <td>VC++ 7.1</td> + + + <td>Microsoft (Dinkumware)</td> + + + <td>Debug</td> + + + <td><a href="#Win32.VC71.MS.Debug">Detail</a></td> + + + </tr> + + + <tr> + + + <td>Win32</td> + + + <td>VC++ 7.1</td> + + + <td>Microsoft (Dinkumware)</td> + + + <td>Release</td> + + + <td><a href="#Win32.VC71.MS.Release">Detail</a></td> + + + </tr> + + + <tr> + + + <td>Win32</td> + + + <td>VC++ 7.1</td> + + + <td>STLPort</td> + + + <td>Debug</td> + + + <td><a href="#Win32.VC71.STLPort.Debug">Detail</a></td> + + + </tr> + + + <tr> + + + <td>Win32</td> + + + <td>VC++ 7.1</td> + + + <td>STLPort</td> + + + <td>Release</td> + + + <td><a href="#Win32.VC71.STLPort.Release">Detail</a></td> + + + </tr> + + + + </tbody> +</table> + + + + + + + + + + + + + +<h2> + + + + + <a name="Win32.VC71.MS.Debug"></a>Win32.VC71.MS.Debug<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span></h2> +<div style="margin-left: 40px;"> +<pre>EASTL version: 0.96.00<br>Platform: Windows on X86<br>Compiler: Microsoft Visual C++ compiler, version 1310<br>Allocator: PPMalloc::GeneralAllocatorDebug. Thread safety enabled.<br>Build: Debug. Inlining disabled. STL debug features disabled.<br><br>Values are times to complete tests; smaller values are better.<br>Alarm indicates a greater than 10% difference.<br><br>Test VC++ EASTL Ratio Alarm<br>----------------------------------------------------------------------------------------<br>algorithm/adj_find/vector<TestObject> 33061345 6497757 5.09 *<br>algorithm/copy/vector<LargePOD> 5844906 4876076 1.20 *<br>algorithm/copy/vector<uint32_t> 1634346 166065 9.84 *<br>algorithm/copy_backward/vector<LargePOD> 4515974 4638892 0.97<br>algorithm/copy_backward/vector<uint32_t> 1821168 121746 14.96 *<br>algorithm/count/vector<uint64_t> 17048884 2720766 6.27 *<br>algorithm/equal_range/vector<uint64_t> 1111147812 448756888 2.48 *<br>algorithm/fill/bool[] 1728722 91936 18.80 *<br>algorithm/fill/char[]/'d' 1299200 33745 38.50 *<br>algorithm/fill/vector<char>/'d' 10205092 33796 100.00 *<br>algorithm/fill/vector<char>/0 10200748 33805 100.00 *<br>algorithm/fill/vector<uint64_t> 10416538 1399687 7.44 *<br>algorithm/fill/vector<void*> 10221837 1307700 7.82 *<br>algorithm/fill_n/bool[] 1399033 34196 40.91 *<br>algorithm/fill_n/char[] 1299225 33754 38.49 *<br>algorithm/fill_n/vector<uint64_t> 5961637 1371900 4.35 *<br>algorithm/find_end/string/end 16569373 2657372 6.24 *<br>algorithm/find_end/string/middle 16558638 20242410 0.82 *<br>algorithm/find_end/string/none 16811207 40480468 0.42 *<br>algorithm/lex_cmp/schar[] 1749674 194429 9.00 *<br>algorithm/lex_cmp/vector<TestObject> 32824195 5253587 6.25 *<br>algorithm/lex_cmp/vector<uchar> 29852034 202658 100.00 *<br>algorithm/lower_bound/vector<TestObject> 798624462 350027935 2.28 *<br>algorithm/min_element/vector<TestObject> 21675298 5314676 4.08 *<br>algorithm/rand_shuffle/vector<uint64_t> 84236190 43677506 1.93 *<br>algorithm/reverse/list<TestObject> 3007292 2105799 1.43 *<br>algorithm/reverse/vector<TestObject> 2974618 2124796 1.40 *<br>algorithm/search/string<char> 16228158 3594268 4.52 *<br>algorithm/search_n/string<char> 16926985 1522096 11.12 *<br>algorithm/unique/vector<TestObject> 54206243 9988002 5.43 *<br>algorithm/unique/vector<uint32_t> 26940079 1741991 15.47 *<br>algorithm/unique/vector<uint64_t> 47621344 5213127 9.13 *<br>algorithm/upper_bound/vector<uint32_t> 372381295 137901552 2.70 *<br><br>bitset<1500>/>>=/1 90196544 92539832 0.97<br>bitset<1500>/count 50753832 53742117 0.94<br>bitset<1500>/flip 86935875 85121117 1.02<br>bitset<1500>/reset 78153837 79922611 0.98<br>bitset<1500>/set() 79214968 79360658 1.00<br>bitset<1500>/set(i) 11300589 12199651 0.93<br>bitset<1500>/test 11282679 13186450 0.86 *<br><br>bitset<15>/>>=/1 10500577 6000559 1.75 *<br>bitset<15>/count 4000356 6399753 0.63 *<br>bitset<15>/flip 7268877 5647944 1.29 *<br>bitset<15>/reset 8564235 5800163 1.48 *<br>bitset<15>/set() 9935523 5914012 1.68 *<br>bitset<15>/set(i) 11199703 12503637 0.90 *<br>bitset<15>/test 10600623 12899592 0.82 *<br><br>bitset<35>/>>=/1 13076052 6599834 1.98 *<br>bitset<35>/count 4800384 11500330 0.42 *<br>bitset<35>/flip 7915439 5816313 1.36 *<br>bitset<35>/reset 9400049 5803180 1.62 *<br>bitset<35>/set() 10701152 5840316 1.83 *<br>bitset<35>/set(i) 11342936 12271128 0.92<br>bitset<35>/test 10670799 13099682 0.81 *<br><br>bitset<75>/>>=/1 14198834 17151088 0.83 *<br>bitset<75>/count 5795530 8576373 0.68 *<br>bitset<75>/flip 8516703 8922995 0.95<br>bitset<75>/reset 9999970 8526095 1.17 *<br>bitset<75>/set() 11124877 9009686 1.23 *<br>bitset<75>/set(i) 11300563 12531618 0.90 *<br>bitset<75>/test 11031913 13100523 0.84 *<br><br>deque<ValuePair>/erase 743801706 335646802 2.22 *<br>deque<ValuePair>/insert 742331809 341912866 2.17 *<br>deque<ValuePair>/iteration 29097030 16315827 1.78 *<br>deque<ValuePair>/operator[] 49859598 24026313 2.08 *<br>deque<ValuePair>/push_back 424807033 34497608 12.31 *<br>deque<ValuePair>/push_front 402313373 38006322 10.59 *<br>deque<ValuePair>/sort 725101017 581796551 1.25 *<br><br>hash_map<string, uint32_t>/clear 559462 961019 0.58 *<br>hash_map<string, uint32_t>/count 53377807 8091448 6.60 *<br>hash_map<string, uint32_t>/erase pos 613573 858084 0.72 *<br>hash_map<string, uint32_t>/erase range 5488748 461134 11.90 *<br>hash_map<string, uint32_t>/erase val 35760096 16379858 2.18 *<br>hash_map<string, uint32_t>/find 43490335 10324823 4.21 *<br>hash_map<string, uint32_t>/find_as/char* 49343818 8617139 5.73 *<br>hash_map<string, uint32_t>/insert 107420281 168690439 0.64 *<br>hash_map<string, uint32_t>/iteration 2456356 1255153 1.96 *<br>hash_map<string, uint32_t>/operator[] 47209502 12581624 3.75 *<br><br>hash_map<uint32_t, TestObject>/clear 533172 546449 0.98<br>hash_map<uint32_t, TestObject>/count 28667432 2899997 9.89 *<br>hash_map<uint32_t, TestObject>/erase pos 683239 538289 1.27 *<br>hash_map<uint32_t, TestObject>/erase range 9632676 253037 38.07 *<br>hash_map<uint32_t, TestObject>/erase val 25466026 7752188 3.29 *<br>hash_map<uint32_t, TestObject>/find 20048253 4678502 4.29 *<br>hash_map<uint32_t, TestObject>/insert 71085798 37686187 1.89 *<br>hash_map<uint32_t, TestObject>/iteration 1460318 1338317 1.09<br>hash_map<uint32_t, TestObject>/operator[] 23226692 7888748 2.94 *<br><br>heap (uint32_t[])/make_heap 5399966 6961305 0.78 *<br>heap (uint32_t[])/pop_heap 108060534 103511318 1.04<br>heap (uint32_t[])/push_heap 22595661 16640688 1.36 *<br>heap (uint32_t[])/sort_heap 93559424 83076731 1.13 *<br><br>heap (vector<TestObject>)/make_heap 91770743 21724870 4.22 *<br>heap (vector<TestObject>)/pop_heap 1175599317 284007398 4.14 *<br>heap (vector<TestObject>)/push_heap 207804541 45918046 4.53 *<br>heap (vector<TestObject>)/sort_heap 970394145 208321477 4.66 *<br><br>list<TestObject>/ctor(it) 805539509 760938607 1.06<br>list<TestObject>/ctor(n) 80959236 75106995 1.08<br>list<TestObject>/erase 1052543704 1044976137 1.01<br>list<TestObject>/find 97785267 75970884 1.29 *<br>list<TestObject>/insert 873895175 807051107 1.08<br>list<TestObject>/push_back 812797710 780742425 1.04<br>list<TestObject>/remove 1850600714 1436980599 1.29 *<br>list<TestObject>/reverse 180270465 80466636 2.24 *<br>list<TestObject>/size/1 440148 599642 0.73 *<br>list<TestObject>/size/10 439433 1329817 0.33 * EASTL intentionally implements list::size as O(n).<br>list<TestObject>/size/100 439595 11030060 0.04 * EASTL intentionally implements list::size as O(n).<br>list<TestObject>/splice 177106094 69383027 2.55 *<br><br>map<TestObject, uint32_t>/clear 508283 470807 1.08<br>map<TestObject, uint32_t>/count 43145354 14280357 3.02 *<br>map<TestObject, uint32_t>/equal_range 38594004 16520447 2.34 *<br>map<TestObject, uint32_t>/erase/key 33948082 16123175 2.11 *<br>map<TestObject, uint32_t>/erase/pos 578332 455201 1.27 * MS uses a code bloating implementation of erase.<br>map<TestObject, uint32_t>/erase/range 387345 284538 1.36 *<br>map<TestObject, uint32_t>/find 22897224 12766100 1.79 *<br>map<TestObject, uint32_t>/insert 61665800 47286928 1.30 *<br>map<TestObject, uint32_t>/iteration 1977202 745391 2.65 *<br>map<TestObject, uint32_t>/lower_bound 19892941 12260928 1.62 *<br>map<TestObject, uint32_t>/operator[] 24199084 15429634 1.57 *<br>map<TestObject, uint32_t>/upper_bound 19842409 12064441 1.64 *<br><br>set<uint32_t>/clear 1027625 1000901 1.03<br>set<uint32_t>/count 39730182 13329565 2.98 *<br>set<uint32_t>/equal_range 34681649 14768827 2.35 *<br>set<uint32_t>/erase range 841458 602030 1.40 *<br>set<uint32_t>/erase/pos 1380485 1084303 1.27 * MS uses a code bloating implementation of erase.<br>set<uint32_t>/erase/val 31617425 13344023 2.37 *<br>set<uint32_t>/find 19582428 10788864 1.82 *<br>set<uint32_t>/insert 61434014 48232086 1.27 *<br>set<uint32_t>/iteration 1512057 667820 2.26 *<br>set<uint32_t>/lower_bound 18394885 10402785 1.77 *<br>set<uint32_t>/upper_bound 17189083 10554425 1.63 *<br><br>sort/q_sort/TestObject[] 87088799 15037988 5.79 *<br>sort/q_sort/TestObject[]/sorted 21502892 3284299 6.55 *<br>sort/q_sort/vector<TestObject> 87962047 15004677 5.86 *<br>sort/q_sort/vector<TestObject>/sorted 21396523 3341163 6.40 *<br>sort/q_sort/vector<ValuePair> 80334589 10429161 7.70 *<br>sort/q_sort/vector<ValuePair>/sorted 22133295 3230553 6.85 *<br>sort/q_sort/vector<uint32> 72195388 5940302 12.15 *<br>sort/q_sort/vector<uint32>/sorted 19635171 995495 19.72 *<br><br>string<char16_t>/compare 523013373 534722089 0.98<br>string<char16_t>/erase/pos,n 3446597 3439492 1.00<br>string<char16_t>/find/p,pos,n 383873158 441902786 0.87 *<br>string<char16_t>/find_first_not_of/p,pos,n 174157 134131 1.30 *<br>string<char16_t>/find_first_of/p,pos,n 11715423 8520944 1.37 *<br>string<char16_t>/find_last_of/p,pos,n 1871556 1226457 1.53 *<br>string<char16_t>/insert/pos,p 3624877 3357058 1.08<br>string<char16_t>/iteration 6766787933 581916665 11.63 *<br>string<char16_t>/operator[] 4820827 2335579 2.06 *<br>string<char16_t>/push_back 59812962 6757466 8.85 *<br>string<char16_t>/replace/pos,n,p,n 4371279 4459713 0.98<br>string<char16_t>/reserve 2307530 1919386 1.20 *<br>string<char16_t>/rfind/p,pos,n 734826 372615 1.97 *<br>string<char16_t>/size 41608 28866 1.44 *<br>string<char16_t>/swap 1033932 1490994 0.69 *<br><br>string<char8_t>/compare 63086797 64194771 0.98<br>string<char8_t>/erase/pos,n 2045687 1960270 1.04<br>string<char8_t>/find/p,pos,n 123872549 471364764 0.26 *<br>string<char8_t>/find_first_not_of/p,pos,n 140013 130271 1.07<br>string<char8_t>/find_first_of/p,pos,n 8051906 8749994 0.92<br>string<char8_t>/find_last_of/p,pos,n 1318835 1230715 1.07<br>string<char8_t>/insert/pos,p 1770610 1724234 1.03<br>string<char8_t>/iteration 28112136 2544475 11.05 *<br>string<char8_t>/operator[] 4810525 2255841 2.13 *<br>string<char8_t>/push_back 54869634 6127447 8.95 *<br>string<char8_t>/replace/pos,n,p,n 2737578 2847900 0.96<br>string<char8_t>/reserve 1123395 394902 2.84 *<br>string<char8_t>/rfind/p,pos,n 737299 368518 2.00 *<br>string<char8_t>/size 42245 26801 1.58 *<br>string<char8_t>/swap 1036142 1491028 0.69 *<br><br>vector<uint64>/erase 56417135 55770251 1.01<br>vector<uint64>/insert 56617761 56100468 1.01<br>vector<uint64>/iteration 10413895 1291269 8.06 *<br>vector<uint64>/operator[] 23507193 3479390 6.76 *<br>vector<uint64>/push_back 34687939 13806627 2.51 *<br>vector<uint64>/sort 256886550 84669657 3.03 *<br><br></pre> + + + + + +</div> + + + + + +<h2> + + + + + <a name="Win32.VC71.MS.Release"></a>Win32.VC71.MS.Release<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span></h2> +<div style="margin-left: 40px;"> +<pre>EASTL version: 0.96.00<br>Platform: Windows on X86<br>Compiler: Microsoft Visual C++ compiler, version 1310<br>Allocator: PPMalloc::GeneralAllocator. Thread safety enabled.<br>Build: Full optimization. Inlining enabled.<br><br>Values are times to complete tests; smaller values are better.<br>Alarm indicates a greater than 10% difference.<br><br>Test VC++ EASTL Ratio Alarm<br>----------------------------------------------------------------------------------------<br>algorithm/adj_find/vector<TestObject> 2783546 2750660 1.01<br>algorithm/copy/vector<LargePOD> 6474025 4972738 1.30 *<br>algorithm/copy/vector<uint32_t> 157267 173162 0.91<br>algorithm/copy_backward/vector<LargePOD> 4836406 4374780 1.11 *<br>algorithm/copy_backward/vector<uint32_t> 104780 120912 0.87 *<br>algorithm/count/vector<uint64_t> 1368440 1368696 1.00<br>algorithm/equal_range/vector<uint64_t> 114199387 102783938 1.11 *<br>algorithm/fill/bool[] 253215 27353 9.26 *<br>algorithm/fill/char[]/'d' 253164 27404 9.24 *<br>algorithm/fill/vector<char>/'d' 253105 27362 9.25 *<br>algorithm/fill/vector<char>/0 253275 27353 9.26 *<br>algorithm/fill/vector<uint64_t> 397001 394323 1.01<br>algorithm/fill/vector<void*> 547196 642362 0.85 *<br>algorithm/fill_n/bool[] 229177 27361 8.38 *<br>algorithm/fill_n/char[] 228845 27404 8.35 *<br>algorithm/fill_n/vector<uint64_t> 565233 1376822 0.41 *<br>algorithm/find_end/string/end 2107116 82356 25.59 *<br>algorithm/find_end/string/middle 2111672 664283 3.18 *<br>algorithm/find_end/string/none 2110423 1519596 1.39 *<br>algorithm/lex_cmp/schar[] 741021 176162 4.21 *<br>algorithm/lex_cmp/vector<TestObject> 2610494 2642183 0.99<br>algorithm/lex_cmp/vector<uchar> 697595 167866 4.16 *<br>algorithm/lower_bound/vector<TestObject> 62462233 58146664 1.07<br>algorithm/min_element/vector<TestObject> 4350385 2671227 1.63 *<br>algorithm/rand_shuffle/vector<uint64_t> 10868261 11300818 0.96<br>algorithm/reverse/list<TestObject> 483718 470024 1.03<br>algorithm/reverse/vector<TestObject> 476739 484322 0.98<br>algorithm/search/string<char> 2560387 1259496 2.03 *<br>algorithm/search_n/string<char> 2770991 458524 6.04 *<br>algorithm/unique/vector<TestObject> 4194520 4658910 0.90 *<br>algorithm/unique/vector<uint32_t> 538730 787924 0.68 *<br>algorithm/unique/vector<uint64_t> 3169829 2575636 1.23 *<br>algorithm/upper_bound/vector<uint32_t> 27495562 25321593 1.09<br><br>bitset<1500>/>>=/1 33464228 33469719 1.00<br>bitset<1500>/count 18736116 18814903 1.00<br>bitset<1500>/flip 19299309 18605438 1.04<br>bitset<1500>/reset 22200487 15262847 1.45 *<br>bitset<1500>/set() 14418193 17557319 0.82 *<br>bitset<1500>/set(i) 1599250 1599199 1.00<br>bitset<1500>/test 1599241 1599233 1.00<br><br>bitset<15>/>>=/1 2199222 2264442 0.97<br>bitset<15>/count 1399406 1399193 1.00<br>bitset<15>/flip 1266712 1199197 1.06<br>bitset<15>/reset 1399364 1399109 1.00<br>bitset<15>/set() 1199197 999201 1.20 *<br>bitset<15>/set(i) 1599258 1462952 1.09<br>bitset<15>/test 1599275 1599224 1.00<br><br>bitset<35>/>>=/1 2599266 1933376 1.34 *<br>bitset<35>/count 2599240 2592559 1.00<br>bitset<35>/flip 1693124 1199188 1.41 *<br>bitset<35>/reset 1399406 999201 1.40 *<br>bitset<35>/set() 1599403 1199205 1.33 *<br>bitset<35>/set(i) 1599241 1599190 1.00<br>bitset<35>/test 1599250 1599232 1.00<br><br>bitset<75>/>>=/1 4199332 4199213 1.00<br>bitset<75>/count 2999497 2199341 1.36 *<br>bitset<75>/flip 2399499 1830178 1.31 *<br>bitset<75>/reset 2199468 1199197 1.83 *<br>bitset<75>/set() 1999387 1199851 1.67 *<br>bitset<75>/set(i) 1599266 1599198 1.00<br>bitset<75>/test 1599241 1662651 0.96<br><br>deque<ValuePair>/erase 90444165 37113253 2.44 *<br>deque<ValuePair>/insert 93299349 36175167 2.58 *<br>deque<ValuePair>/iteration 2756414 2122076 1.30 *<br>deque<ValuePair>/operator[] 5117969 4632075 1.10<br>deque<ValuePair>/push_back 30300757 3060357 9.90 *<br>deque<ValuePair>/push_front 25498529 2808392 9.08 *<br>deque<ValuePair>/sort 142283047 111292464 1.28 *<br><br>hash_map<string, uint32_t>/clear 146769 389699 0.38 *<br>hash_map<string, uint32_t>/count 13059434 3460324 3.77 *<br>hash_map<string, uint32_t>/erase pos 184246 331925 0.56 *<br>hash_map<string, uint32_t>/erase range 382432 167237 2.29 *<br>hash_map<string, uint32_t>/erase val 6187898 3302114 1.87 *<br>hash_map<string, uint32_t>/find 11289369 3459024 3.26 *<br>hash_map<string, uint32_t>/find_as/char* 13559192 3662387 3.70 *<br>hash_map<string, uint32_t>/insert 17514012 14095176 1.24 *<br>hash_map<string, uint32_t>/iteration 801014 218450 3.67 *<br>hash_map<string, uint32_t>/operator[] 11457065 3690385 3.10 *<br><br>hash_map<uint32_t, TestObject>/clear 141865 265379 0.53 *<br>hash_map<uint32_t, TestObject>/count 1766045 703613 2.51 *<br>hash_map<uint32_t, TestObject>/erase pos 172337 218458 0.79 *<br>hash_map<uint32_t, TestObject>/erase range 537846 102340 5.26 *<br>hash_map<uint32_t, TestObject>/erase val 2220132 1441787 1.54 *<br>hash_map<uint32_t, TestObject>/find 1612994 1043953 1.55 *<br>hash_map<uint32_t, TestObject>/insert 7141547 4348056 1.64 *<br>hash_map<uint32_t, TestObject>/iteration 199512 169328 1.18 *<br>hash_map<uint32_t, TestObject>/operator[] 1831733 1519707 1.21 *<br><br>heap (uint32_t[])/make_heap 3366247 1949093 1.73 *<br>heap (uint32_t[])/pop_heap 57280514 53779440 1.07<br>heap (uint32_t[])/push_heap 9700217 7582935 1.28 *<br>heap (uint32_t[])/sort_heap 47227751 46131948 1.02<br><br>heap (vector<TestObject>)/make_heap 11458442 11510819 1.00<br>heap (vector<TestObject>)/pop_heap 122897267 119061132 1.03<br>heap (vector<TestObject>)/push_heap 21688481 21176220 1.02<br>heap (vector<TestObject>)/sort_heap 90867380 88869523 1.02<br><br>list<TestObject>/ctor(it) 74591104 69845817 1.07<br>list<TestObject>/ctor(n) 6243998 5838582 1.07<br>list<TestObject>/erase 299509298 206013676 1.45 *<br>list<TestObject>/find 40927185 14514243 2.82 *<br>list<TestObject>/insert 71277251 47234534 1.51 *<br>list<TestObject>/push_back 73780527 44116725 1.67 *<br>list<TestObject>/remove 786197776 326434612 2.41 *<br>list<TestObject>/reverse 49283128 25029678 1.97 *<br>list<TestObject>/size/1 159741 139400 1.15 *<br>list<TestObject>/size/10 159324 346579 0.46 * EASTL intentionally implements list::size as O(n).<br>list<TestObject>/size/100 159188 97235419 0.00 * EASTL intentionally implements list::size as O(n).<br>list<TestObject>/splice 63548584 19322931 3.29 *<br><br>map<TestObject, uint32_t>/clear 167408 170501 0.98<br>map<TestObject, uint32_t>/count 10213685 4748346 2.15 *<br>map<TestObject, uint32_t>/equal_range 9515053 5677558 1.68 *<br>map<TestObject, uint32_t>/erase/key 6646260 4302300 1.54 *<br>map<TestObject, uint32_t>/erase/pos 297135 327938 0.91 MS uses a code bloating implementation of erase.<br>map<TestObject, uint32_t>/erase/range 148614 163702 0.91<br>map<TestObject, uint32_t>/find 5637531 4767055 1.18 *<br>map<TestObject, uint32_t>/insert 9591128 9030349 1.06<br>map<TestObject, uint32_t>/iteration 323595 325261 0.99<br>map<TestObject, uint32_t>/lower_bound 5398239 4784089 1.13 *<br>map<TestObject, uint32_t>/operator[] 5631250 5141166 1.10<br>map<TestObject, uint32_t>/upper_bound 5436336 4762431 1.14 *<br><br>set<uint32_t>/clear 155983 156026 1.00<br>set<uint32_t>/count 9635965 4392146 2.19 *<br>set<uint32_t>/equal_range 8504157 5247832 1.62 *<br>set<uint32_t>/erase range 140488 119408 1.18 *<br>set<uint32_t>/erase/pos 260678 286697 0.91 MS uses a code bloating implementation of erase.<br>set<uint32_t>/erase/val 6008225 4012825 1.50 *<br>set<uint32_t>/find 5145432 4381945 1.17 *<br>set<uint32_t>/insert 8087129 8697251 0.93<br>set<uint32_t>/iteration 271507 304538 0.89 *<br>set<uint32_t>/lower_bound 4666228 4404250 1.06<br>set<uint32_t>/upper_bound 4623600 4402974 1.05<br><br>sort/q_sort/TestObject[] 9596169 5578652 1.72 *<br>sort/q_sort/TestObject[]/sorted 602463 1016132 0.59 *<br>sort/q_sort/vector<TestObject> 9674828 5430199 1.78 *<br>sort/q_sort/vector<TestObject>/sorted 606908 1111647 0.55 *<br>sort/q_sort/vector<ValuePair> 6284194 3423452 1.84 *<br>sort/q_sort/vector<ValuePair>/sorted 711629 569364 1.25 *<br>sort/q_sort/vector<uint32> 5453379 2916146 1.87 *<br>sort/q_sort/vector<uint32>/sorted 537047 419144 1.28 *<br><br>string<char16_t>/compare 435083295 251985824 1.73 *<br>string<char16_t>/erase/pos,n 3454842 3451858 1.00<br>string<char16_t>/find/p,pos,n 401954723 165298157 2.43 *<br>string<char16_t>/find_first_not_of/p,pos,n 131452 65374 2.01 *<br>string<char16_t>/find_first_of/p,pos,n 11657444 4144515 2.81 *<br>string<char16_t>/find_last_of/p,pos,n 1604248 567571 2.83 *<br>string<char16_t>/insert/pos,p 3398734 3355460 1.01<br>string<char16_t>/iteration 218856504 218771844 1.00<br>string<char16_t>/operator[] 714161 240023 2.98 *<br>string<char16_t>/push_back 34968235 2444897 14.30 *<br>string<char16_t>/replace/pos,n,p,n 4226693 4198498 1.01<br>string<char16_t>/reserve 1901765 390805 4.87 *<br>string<char16_t>/rfind/p,pos,n 195483 150985 1.29 *<br>string<char16_t>/size 11169 11245 0.99<br>string<char16_t>/swap 1459280 419807 3.48 *<br><br>string<char8_t>/compare 63071275 77209580 0.82 *<br>string<char8_t>/erase/pos,n 2008652 1944494 1.03<br>string<char8_t>/find/p,pos,n 123201023 167536164 0.74 *<br>string<char8_t>/find_first_not_of/p,pos,n 93372 67864 1.38 *<br>string<char8_t>/find_first_of/p,pos,n 7542492 3375758 2.23 *<br>string<char8_t>/find_last_of/p,pos,n 933972 583576 1.60 *<br>string<char8_t>/insert/pos,p 1737213 1750847 0.99<br>string<char8_t>/iteration 893834 899130 0.99<br>string<char8_t>/operator[] 817879 313437 2.61 *<br>string<char8_t>/push_back 20857734 2004410 10.41 *<br>string<char8_t>/replace/pos,n,p,n 2578696 2607655 0.99<br>string<char8_t>/reserve 915127 85289 10.73 *<br>string<char8_t>/rfind/p,pos,n 196103 148894 1.32 *<br>string<char8_t>/size 11619 11220 1.04<br>string<char8_t>/swap 1461056 419874 3.48 *<br><br>vector<uint64>/erase 55235116 55284587 1.00<br>vector<uint64>/insert 55166046 55142755 1.00<br>vector<uint64>/iteration 553954 509719 1.09<br>vector<uint64>/operator[] 1284239 798516 1.61 *<br>vector<uint64>/push_back 5399549 3867959 1.40 *<br>vector<uint64>/sort 43636314 42619952 1.02<br></pre> + + + + + +</div> + + + + + +<h2> + + <a name="Win32.VC71.STLPort.Debug"></a>Win32.VC71.STLPort.Debug<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span></h2> +<div style="margin-left: 40px;"> +<pre>EASTL version: 0.96.00<br>Platform: Windows on X86<br>Compiler: Microsoft Visual C++ compiler, version 1310<br>Allocator: PPMalloc::GeneralAllocatorDebug. Thread safety enabled.<br>Build: Debug. Inlining disabled. STL debug features disabled.<br><br>Values are times to complete tests; smaller values are better.<br>Alarm indicates a greater than 10% difference.<br><br>Test STLPort EASTL Ratio Alarm<br>----------------------------------------------------------------------------------------<br>algorithm/adj_find/vector<TestObject> 5661170 5689517 1.00<br>algorithm/copy/vector<LargePOD> 5573815 5124428 1.09<br>algorithm/copy/vector<uint32_t> 148273 125782 1.18 *<br>algorithm/copy_backward/vector<LargePOD> 5429791 4834510 1.12 *<br>algorithm/copy_backward/vector<uint32_t> 156765 163038 0.96<br>algorithm/count/vector<uint64_t> 2730922 2730072 1.00<br>algorithm/equal_range/vector<uint64_t> 639366489 452896251 1.41 *<br>algorithm/fill/bool[] 1299326 27361 47.49 *<br>algorithm/fill/char[]/'d' 27378 27361 1.00<br>algorithm/fill/vector<char>/'d' 34459 27361 1.26 *<br>algorithm/fill/vector<char>/0 1299224 27361 47.48 *<br>algorithm/fill/vector<uint64_t> 1400647 1400145 1.00<br>algorithm/fill/vector<void*> 1308779 1309085 1.00<br>algorithm/fill_n/bool[] 1299156 27352 47.50 *<br>algorithm/fill_n/char[] 1299258 27369 47.47 *<br>algorithm/fill_n/vector<uint64_t> 1451162 1313632 1.10<br>algorithm/find_end/string/end 13089999 2526412 5.18 *<br>algorithm/find_end/string/middle 12627412 20190101 0.63 *<br>algorithm/find_end/string/none 12704185 40728803 0.31 *<br>algorithm/lex_cmp/schar[] 1749844 195806 8.94 *<br>algorithm/lex_cmp/vector<TestObject> 5060968 4799882 1.05<br>algorithm/lex_cmp/vector<uchar> 1668354 189490 8.80 *<br>algorithm/lower_bound/vector<TestObject> 450240945 353437573 1.27 *<br>algorithm/min_element/vector<TestObject> 5861744 5326371 1.10<br>algorithm/rand_shuffle/vector<uint64_t> 40780449 45780090 0.89 *<br>algorithm/reverse/list<TestObject> 2657678 2130627 1.25 *<br>algorithm/reverse/vector<TestObject> 2666424 2124889 1.25 *<br>algorithm/search/string<char> 3110379 3613460 0.86 *<br>algorithm/search_n/string<char> 3061665 1521261 2.01 *<br>algorithm/unique/vector<TestObject> 12423684 9485439 1.31 *<br>algorithm/unique/vector<uint32_t> 3718699 1726596 2.15 *<br>algorithm/unique/vector<uint64_t> 6205110 4591631 1.35 *<br>algorithm/upper_bound/vector<uint32_t> 185391094 139336317 1.33 *<br><br>bitset<1500>/>>=/1 120666960 92449816 1.31 * STLPort is broken, neglects wraparound check.<br>bitset<1500>/count 201709793 52874726 3.81 *<br>bitset<1500>/flip 87360297 81737071 1.07<br>bitset<1500>/reset 23950178 77390323 0.31 *<br>bitset<1500>/set() 84608107 76912011 1.10<br>bitset<1500>/set(i) 18023620 12229604 1.47 *<br>bitset<1500>/test 18006553 13276396 1.36 *<br><br>bitset<15>/>>=/1 11935904 6012695 1.99 * STLPort is broken, neglects wraparound check.<br>bitset<15>/count 9368581 6022742 1.56 *<br>bitset<15>/flip 11600706 6533635 1.78 *<br>bitset<15>/reset 5830957 5874690 0.99<br>bitset<15>/set() 11695328 5701621 2.05 *<br>bitset<15>/set(i) 16363205 12570216 1.30 *<br>bitset<15>/test 16743172 13201452 1.27 *<br><br>bitset<35>/>>=/1 22950918 6774457 3.39 * STLPort is broken, neglects wraparound check.<br>bitset<35>/count 12655309 11736256 1.08<br>bitset<35>/flip 13738575 5800042 2.37 *<br>bitset<35>/reset 15561434 5800510 2.68 *<br>bitset<35>/set() 13564283 5600709 2.42 *<br>bitset<35>/set(i) 18519689 12199973 1.52 *<br>bitset<35>/test 18000569 13103566 1.37 *<br><br>bitset<75>/>>=/1 25579525 16669664 1.53 * STLPort is broken, neglects wraparound check.<br>bitset<75>/count 18740698 8480492 2.21 *<br>bitset<75>/flip 13555630 8300335 1.63 *<br>bitset<75>/reset 15200133 8200000 1.85 *<br>bitset<75>/set() 14408112 8001959 1.80 *<br>bitset<75>/set(i) 18137741 12374257 1.47 *<br>bitset<75>/test 18422135 13100038 1.41 *<br><br>deque<ValuePair>/erase 651933790 326443043 2.00 *<br>deque<ValuePair>/insert 659786183 333304660 1.98 *<br>deque<ValuePair>/iteration 23734592 16173706 1.47 *<br>deque<ValuePair>/operator[] 59126816 23911774 2.47 *<br>deque<ValuePair>/push_back 58056988 31859266 1.82 *<br>deque<ValuePair>/push_front 57780891 31743199 1.82 *<br>deque<ValuePair>/sort 818414195 596568113 1.37 *<br><br>hash_map<string, uint32_t>/clear 3422133 2204517 1.55 *<br>hash_map<string, uint32_t>/count 9869545 8624924 1.14 *<br>hash_map<string, uint32_t>/erase pos 3256350 2069299 1.57 *<br>hash_map<string, uint32_t>/erase range 3230203 1151392 2.81 *<br>hash_map<string, uint32_t>/erase val 16860362 15939778 1.06<br>hash_map<string, uint32_t>/find 10286971 9920910 1.04<br>hash_map<string, uint32_t>/find_as/char* 118136025 9458468 12.49 *<br>hash_map<string, uint32_t>/insert 188948336 174490082 1.08<br>hash_map<string, uint32_t>/iteration 4037049 2021036 2.00 *<br>hash_map<string, uint32_t>/operator[] 11472127 12887699 0.89 *<br><br>hash_map<uint32_t, TestObject>/clear 2522264 1331848 1.89 *<br>hash_map<uint32_t, TestObject>/count 3210739 2897063 1.11 *<br>hash_map<uint32_t, TestObject>/erase pos 1862281 1304783 1.43 *<br>hash_map<uint32_t, TestObject>/erase range 698079 579606 1.20 *<br>hash_map<uint32_t, TestObject>/erase val 8806722 7041298 1.25 *<br>hash_map<uint32_t, TestObject>/find 3604875 4709645 0.77 *<br>hash_map<uint32_t, TestObject>/insert 40785711 40376342 1.01<br>hash_map<uint32_t, TestObject>/iteration 3064088 1508834 2.03 *<br>hash_map<uint32_t, TestObject>/operator[] 6053742 8176906 0.74 *<br><br>heap (uint32_t[])/make_heap 5799813 5738596 1.01<br>heap (uint32_t[])/pop_heap 113775168 102076134 1.11 *<br>heap (uint32_t[])/push_heap 21649151 16854845 1.28 *<br>heap (uint32_t[])/sort_heap 97535213 83290735 1.17 *<br><br>heap (vector<TestObject>)/make_heap 22215557 22277063 1.00<br>heap (vector<TestObject>)/pop_heap 275392171 277340039 0.99<br>heap (vector<TestObject>)/push_heap 51479442 47342577 1.09<br>heap (vector<TestObject>)/sort_heap 214474736 218497540 0.98<br><br>list<TestObject>/ctor(it) 767753795 753421427 1.02<br>list<TestObject>/ctor(n) 74185322 73386245 1.01<br>list<TestObject>/erase 1021003824 1033873589 0.99<br>list<TestObject>/find 77666072 74917622 1.04<br>list<TestObject>/insert 788071150 774188737 1.02<br>list<TestObject>/push_back 760490154 737327348 1.03<br>list<TestObject>/remove 1682511938 1434771006 1.17 *<br>list<TestObject>/reverse 87237327 80394623 1.09<br>list<TestObject>/size/1 3828111 599530 6.39 *<br>list<TestObject>/size/10 9600605 1329535 7.22 * EASTL intentionally implements list::size as O(n).<br>list<TestObject>/size/100 62952334 15022551 4.19 * EASTL intentionally implements list::size as O(n).<br>list<TestObject>/splice 96536412 60804817 1.59 *<br><br>map<TestObject, uint32_t>/clear 1142127 1099066 1.04<br>map<TestObject, uint32_t>/count 19659726 14647548 1.34 *<br>map<TestObject, uint32_t>/equal_range 36680687 18219086 2.01 *<br>map<TestObject, uint32_t>/erase/key 28892154 16037774 1.80 *<br>map<TestObject, uint32_t>/erase/pos 1209643 1185495 1.02<br>map<TestObject, uint32_t>/erase/range 715402 670539 1.07<br>map<TestObject, uint32_t>/find 21020992 13429575 1.57 *<br>map<TestObject, uint32_t>/insert 59530871 51120640 1.16 *<br>map<TestObject, uint32_t>/iteration 972825 1191946 0.82 *<br>map<TestObject, uint32_t>/lower_bound 18852651 12495034 1.51 *<br>map<TestObject, uint32_t>/operator[] 22889573 16676736 1.37 *<br>map<TestObject, uint32_t>/upper_bound 18603584 12406922 1.50 *<br><br>set<uint32_t>/clear 919555 882988 1.04<br>set<uint32_t>/count 17561110 12461084 1.41 *<br>set<uint32_t>/equal_range 31522488 15230282 2.07 *<br>set<uint32_t>/erase range 687582 564765 1.22 *<br>set<uint32_t>/erase/pos 1044352 1045355 1.00<br>set<uint32_t>/erase/val 25525304 12940774 1.97 *<br>set<uint32_t>/find 17140751 10704866 1.60 *<br>set<uint32_t>/insert 56035051 45555664 1.23 *<br>set<uint32_t>/iteration 682669 640831 1.07<br>set<uint32_t>/lower_bound 16339932 10475740 1.56 *<br>set<uint32_t>/upper_bound 17779424 10652599 1.67 *<br><br>sort/q_sort/TestObject[] 17000866 14823515 1.15 *<br>sort/q_sort/TestObject[]/sorted 6658559 3263328 2.04 *<br>sort/q_sort/vector<TestObject> 17476629 14953285 1.17 *<br>sort/q_sort/vector<TestObject>/sorted 6667034 3327435 2.00 *<br>sort/q_sort/vector<ValuePair> 15391357 10820848 1.42 *<br>sort/q_sort/vector<ValuePair>/sorted 6617122 3232949 2.05 *<br>sort/q_sort/vector<uint32> 8343906 6014846 1.39 *<br>sort/q_sort/vector<uint32>/sorted 3039430 1003127 3.03 *<br><br>string<char16_t>/compare 1489709846 532664000 2.80 *<br>string<char16_t>/erase/pos,n 3528690 3439864 1.03<br>string<char16_t>/find/p,pos,n 2521448321 443752189 5.68 *<br>string<char16_t>/find_first_not_of/p,pos,n 661206 137419 4.81 *<br>string<char16_t>/find_first_of/p,pos,n 54746434 8521335 6.42 *<br>string<char16_t>/find_last_of/p,pos,n 10607778 1212414 8.75 *<br>string<char16_t>/insert/pos,p 3445016 3360126 1.03<br>string<char16_t>/iteration 580955636 579452556 1.00<br>string<char16_t>/operator[] 2206353 1987809 1.11 *<br>string<char16_t>/push_back 22421368 6007808 3.73 *<br>string<char16_t>/replace/pos,n,p,n 5138454 4464786 1.15 *<br>string<char16_t>/reserve 4922413418 335622 100.00 *<br>string<char16_t>/rfind/p,pos,n 1440308 380578 3.78 *<br>string<char16_t>/size 25355 25398 1.00<br>string<char16_t>/swap 2122704 1490823 1.42 *<br><br>string<char8_t>/compare 77222134 77443134 1.00<br>string<char8_t>/erase/pos,n 1965344 1956521 1.00<br>string<char8_t>/find/p,pos,n 2468091951 474205522 5.20 *<br>string<char8_t>/find_first_not_of/p,pos,n 660960 130211 5.08 *<br>string<char8_t>/find_first_of/p,pos,n 55020899 9240171 5.95 *<br>string<char8_t>/find_last_of/p,pos,n 10576210 1239053 8.54 *<br>string<char8_t>/insert/pos,p 1822756 1750880 1.04<br>string<char8_t>/iteration 2617889 2540148 1.03<br>string<char8_t>/operator[] 2254794 2256443 1.00<br>string<char8_t>/push_back 12463022 5210321 2.39 *<br>string<char8_t>/replace/pos,n,p,n 3744862 2855260 1.31 *<br>string<char8_t>/reserve 1372046888 218815 100.00 *<br>string<char8_t>/rfind/p,pos,n 1446232 366902 3.94 *<br>string<char8_t>/size 26859 25431 1.06<br>string<char8_t>/swap 2123350 1490509 1.42 *<br><br>vector<uint64>/erase 55164013 56417449 0.98<br>vector<uint64>/insert 55872973 56432664 0.99<br>vector<uint64>/iteration 1329102 1324623 1.00<br>vector<uint64>/operator[] 5264738 3136746 1.68 *<br>vector<uint64>/push_back 14903245 13171175 1.13 *<br>vector<uint64>/sort 88429095 88542171 1.00<br></pre> + + + + + +</div> + + + + + +<h2> + + + + + <a name="Win32.VC71.STLPort.Release"></a>Win32.VC71.STLPort.Release<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span></h2> +<div style="margin-left: 40px;"> +<pre>EASTL version: 0.96.00<br>Platform: Windows on X86<br>Compiler: Microsoft Visual C++ compiler, version 1310<br>Allocator: PPMalloc::GeneralAllocator. Thread safety enabled.<br>Build: Full optimization. Inlining enabled.<br><br>Values are times to complete tests; smaller values are better.<br>Alarm indicates a greater than 10% difference.<br><br>Test STLPort EASTL Ratio Alarm<br>----------------------------------------------------------------------------------------<br>algorithm/adj_find/vector<TestObject> 2741046 2731441 1.00<br>algorithm/copy/vector<LargePOD> 6065923 5085142 1.19 *<br>algorithm/copy/vector<uint32_t> 158304 165555 0.96<br>algorithm/copy_backward/vector<LargePOD> 4710258 4896476 0.96<br>algorithm/copy_backward/vector<uint32_t> 146030 142630 1.02<br>algorithm/count/vector<uint64_t> 1395921 1406334 0.99<br>algorithm/equal_range/vector<uint64_t> 211692764 118969493 1.78 *<br>algorithm/fill/bool[] 366078 33737 10.85 *<br>algorithm/fill/char[]/'d' 33736 33771 1.00<br>algorithm/fill/vector<char>/'d' 28466 33720 0.84 *<br>algorithm/fill/vector<char>/0 366086 33728 10.85 *<br>algorithm/fill/vector<uint64_t> 466250 401591 1.16 *<br>algorithm/fill/vector<void*> 521603 693481 0.75 *<br>algorithm/fill_n/bool[] 599709 33762 17.76 *<br>algorithm/fill_n/char[] 599573 33711 17.79 *<br>algorithm/fill_n/vector<uint64_t> 434971 1374084 0.32 *<br>algorithm/find_end/string/end 1494742 85349 17.51 *<br>algorithm/find_end/string/middle 1480700 687208 2.15 *<br>algorithm/find_end/string/none 1540540 1546431 1.00<br>algorithm/lex_cmp/schar[] 921638 178797 5.15 *<br>algorithm/lex_cmp/vector<TestObject> 2623559 2643551 0.99<br>algorithm/lex_cmp/vector<uchar> 960899 183608 5.23 *<br>algorithm/lower_bound/vector<TestObject> 60630534 56531528 1.07<br>algorithm/min_element/vector<TestObject> 4209022 2768527 1.52 *<br>algorithm/rand_shuffle/vector<uint64_t> 13762010 15969052 0.86 *<br>algorithm/reverse/list<TestObject> 673387 731825 0.92<br>algorithm/reverse/vector<TestObject> 634576 754511 0.84 *<br>algorithm/search/string<char> 1262599 1387608 0.91<br>algorithm/search_n/string<char> 1166242 458592 2.54 *<br>algorithm/unique/vector<TestObject> 4912193 5336317 0.92<br>algorithm/unique/vector<uint32_t> 809387 809081 1.00<br>algorithm/unique/vector<uint64_t> 4371814 2414255 1.81 *<br>algorithm/upper_bound/vector<uint32_t> 31899081 29555596 1.08<br><br>bitset<1500>/>>=/1 63308136 40553560 1.56 * STLPort is broken, neglects wraparound check.<br>bitset<1500>/count 62523178 22799473 2.74 *<br>bitset<1500>/flip 20302845 19919232 1.02<br>bitset<1500>/reset 18892015 15403148 1.23 *<br>bitset<1500>/set() 15803302 17322192 0.91<br>bitset<1500>/set(i) 2799271 2999310 0.93<br>bitset<1500>/test 2999293 2799262 1.07<br><br>bitset<15>/>>=/1 1199239 3199256 0.37 * STLPort is broken, neglects wraparound check.<br>bitset<15>/count 3599461 2199231 1.64 *<br>bitset<15>/flip 1199231 1199188 1.00<br>bitset<15>/reset 1199188 1199180 1.00<br>bitset<15>/set() 1199214 1199180 1.00<br>bitset<15>/set(i) 2599257 1399262 1.86 *<br>bitset<15>/test 2599274 2599283 1.00<br><br>bitset<35>/>>=/1 6643974 4599239 1.44 * STLPort is broken, neglects wraparound check.<br>bitset<35>/count 5151331 5399438 0.95<br>bitset<35>/flip 1999404 1199273 1.67 *<br>bitset<35>/reset 9805285 1399313 7.01 *<br>bitset<35>/set() 2799279 1199248 2.33 *<br>bitset<35>/set(i) 2799246 1599241 1.75 *<br>bitset<35>/test 2999234 2999251 1.00<br><br>bitset<75>/>>=/1 7002045 6999333 1.00 STLPort is broken, neglects wraparound check.<br>bitset<75>/count 5999351 3002259 2.00 *<br>bitset<75>/flip 3599334 3599163 1.00<br>bitset<75>/reset 9799344 3399218 2.88 *<br>bitset<75>/set() 3599232 3599062 1.00<br>bitset<75>/set(i) 2799228 1599284 1.75 *<br>bitset<75>/test 2999250 2799339 1.07<br><br>deque<ValuePair>/erase 127108651 115258113 1.10<br>deque<ValuePair>/insert 137727889 116552332 1.18 *<br>deque<ValuePair>/iteration 7144182 6009899 1.19 *<br>deque<ValuePair>/operator[] 34241222 20535039 1.67 *<br>deque<ValuePair>/push_back 6585800 3932126 1.67 *<br>deque<ValuePair>/push_front 6805865 3993513 1.70 *<br>deque<ValuePair>/sort 395352323 348778188 1.13 *<br><br>hash_map<string, uint32_t>/clear 426640 447015 0.95<br>hash_map<string, uint32_t>/count 4359344 3883089 1.12 *<br>hash_map<string, uint32_t>/erase pos 584392 458142 1.28 *<br>hash_map<string, uint32_t>/erase range 221034 196078 1.13 *<br>hash_map<string, uint32_t>/erase val 3539867 3790813 0.93<br>hash_map<string, uint32_t>/find 3966831 3811910 1.04<br>hash_map<string, uint32_t>/find_as/char* 11591612 4243710 2.73 *<br>hash_map<string, uint32_t>/insert 16763887 16719194 1.00<br>hash_map<string, uint32_t>/iteration 909968 478609 1.90 *<br>hash_map<string, uint32_t>/operator[] 4360041 4108313 1.06<br><br>hash_map<uint32_t, TestObject>/clear 302634 283722 1.07<br>hash_map<uint32_t, TestObject>/count 916487 907426 1.01<br>hash_map<uint32_t, TestObject>/erase pos 388042 321385 1.21 *<br>hash_map<uint32_t, TestObject>/erase range 122680 116280 1.06<br>hash_map<uint32_t, TestObject>/erase val 1710931 1729529 0.99<br>hash_map<uint32_t, TestObject>/find 1089462 1346527 0.81 *<br>hash_map<uint32_t, TestObject>/insert 4560310 5072350 0.90 *<br>hash_map<uint32_t, TestObject>/iteration 960117 495354 1.94 *<br>hash_map<uint32_t, TestObject>/operator[] 1872830 1890595 0.99<br><br>heap (uint32_t[])/make_heap 3528418 3327257 1.06<br>heap (uint32_t[])/pop_heap 63243859 61011853 1.04<br>heap (uint32_t[])/push_heap 11602424 10045869 1.15 *<br>heap (uint32_t[])/sort_heap 52965362 48744729 1.09<br><br>heap (vector<TestObject>)/make_heap 13191456 13089711 1.01<br>heap (vector<TestObject>)/pop_heap 148555656 144787742 1.03<br>heap (vector<TestObject>)/push_heap 28696689 26618830 1.08<br>heap (vector<TestObject>)/sort_heap 112473989 114018643 0.99<br><br>list<TestObject>/ctor(it) 80186731 74006287 1.08<br>list<TestObject>/ctor(n) 6232311 6128007 1.02<br>list<TestObject>/erase 344556374 212877808 1.62 *<br>list<TestObject>/find 39859075 14591347 2.73 *<br>list<TestObject>/insert 86935153 56138233 1.55 *<br>list<TestObject>/push_back 79569180 46700641 1.70 *<br>list<TestObject>/remove 785786758 324201016 2.42 *<br>list<TestObject>/reverse 45248186 24852759 1.82 *<br>list<TestObject>/size/1 219844 219496 1.00<br>list<TestObject>/size/10 519563 519579 1.00 EASTL intentionally implements list::size as O(n).<br>list<TestObject>/size/100 4567194 101230266 0.05 * EASTL intentionally implements list::size as O(n).<br>list<TestObject>/splice 68321087 23601687 2.89 *<br><br>map<TestObject, uint32_t>/clear 168011 180540 0.93<br>map<TestObject, uint32_t>/count 4830439 5139287 0.94<br>map<TestObject, uint32_t>/equal_range 8700090 6158531 1.41 *<br>map<TestObject, uint32_t>/erase/key 6696776 4617038 1.45 *<br>map<TestObject, uint32_t>/erase/pos 309273 333183 0.93<br>map<TestObject, uint32_t>/erase/range 137419 136068 1.01<br>map<TestObject, uint32_t>/find 4773498 4931352 0.97<br>map<TestObject, uint32_t>/insert 9651877 9311699 1.04<br>map<TestObject, uint32_t>/iteration 372946 416364 0.90 *<br>map<TestObject, uint32_t>/lower_bound 4784234 4915797 0.97<br>map<TestObject, uint32_t>/operator[] 5040254 5183147 0.97<br>map<TestObject, uint32_t>/upper_bound 4724292 4915984 0.96<br><br>set<uint32_t>/clear 165300 173289 0.95<br>set<uint32_t>/count 4958654 4885086 1.02<br>set<uint32_t>/equal_range 8434134 5698681 1.48 *<br>set<uint32_t>/erase range 145554 133960 1.09<br>set<uint32_t>/erase/pos 299914 324760 0.92<br>set<uint32_t>/erase/val 6506155 4335034 1.50 *<br>set<uint32_t>/find 4866879 4556043 1.07<br>set<uint32_t>/insert 8340523 8957257 0.93<br>set<uint32_t>/iteration 294465 343442 0.86 *<br>set<uint32_t>/lower_bound 4548095 4756498 0.96<br>set<uint32_t>/upper_bound 4559196 4521498 1.01<br><br>sort/q_sort/TestObject[] 7316766 7013894 1.04<br>sort/q_sort/TestObject[]/sorted 1668439 1332885 1.25 *<br>sort/q_sort/vector<TestObject> 7331530 7017260 1.04<br>sort/q_sort/vector<TestObject>/sorted 1601629 1247120 1.28 *<br>sort/q_sort/vector<ValuePair> 7071643 7067869 1.00<br>sort/q_sort/vector<ValuePair>/sorted 2136390 1703799 1.25 *<br>sort/q_sort/vector<uint32> 3292891 2943627 1.12 *<br>sort/q_sort/vector<uint32>/sorted 653693 473612 1.38 *<br><br>string<char16_t>/compare 356579259 432760228 0.82 *<br>string<char16_t>/erase/pos,n 3430422 3428645 1.00<br>string<char16_t>/find/p,pos,n 229263402 225830975 1.02<br>string<char16_t>/find_first_not_of/p,pos,n 187391 81404 2.30 *<br>string<char16_t>/find_first_of/p,pos,n 4411831 4413532 1.00<br>string<char16_t>/find_last_of/p,pos,n 731655 726155 1.01<br>string<char16_t>/insert/pos,p 3408628 3319726 1.03<br>string<char16_t>/iteration 309993861 310333547 1.00<br>string<char16_t>/operator[] 580839 579904 1.00<br>string<char16_t>/push_back 3983338 2975553 1.34 *<br>string<char16_t>/replace/pos,n,p,n 4361095 4211504 1.04<br>string<char16_t>/reserve 935141729 247010 100.00 *<br>string<char16_t>/rfind/p,pos,n 248956 223397 1.11 *<br>string<char16_t>/size 13311 13107 1.02<br>string<char16_t>/swap 519129 579445 0.90 *<br><br>string<char8_t>/compare 76695559 76828015 1.00<br>string<char8_t>/erase/pos,n 1951566 1947282 1.00<br>string<char8_t>/find/p,pos,n 185878944 185605039 1.00<br>string<char8_t>/find_first_not_of/p,pos,n 196877 81600 2.41 *<br>string<char8_t>/find_first_of/p,pos,n 4147685 4145356 1.00<br>string<char8_t>/find_last_of/p,pos,n 605897 598222 1.01<br>string<char8_t>/insert/pos,p 1781592 1768264 1.01<br>string<char8_t>/iteration 921502 921272 1.00<br>string<char8_t>/operator[] 361250 359873 1.00<br>string<char8_t>/push_back 3363288 2530493 1.33 *<br>string<char8_t>/replace/pos,n,p,n 2682600 2633130 1.02<br>string<char8_t>/reserve 672517501 78387 100.00 *<br>string<char8_t>/rfind/p,pos,n 226202 200013 1.13 *<br>string<char8_t>/size 11280 11109 1.02<br>string<char8_t>/swap 519393 559759 0.93<br><br>vector<uint64>/erase 55184856 55192217 1.00<br>vector<uint64>/insert 56764267 55682726 1.02<br>vector<uint64>/iteration 423122 424039 1.00<br>vector<uint64>/operator[] 1189397 860991 1.38 *<br>vector<uint64>/push_back 5626609 4027317 1.40 *<br>vector<uint64>/sort 49227036 49231362 1.00<br></pre> + + + + + +</div> + + + + + +<h2> + + + + + + + + +<br> + + + +<hr style="width: 100%; height: 2px;"> +End of document<br> + + + +<br> + + + +<br> + + + +<br> + + + +<br> + + + +</body> +</html> |