aboutsummaryrefslogtreecommitdiff
path: root/EASTL/doc/html/EASTL Benchmarks.html
diff options
context:
space:
mode:
Diffstat (limited to 'EASTL/doc/html/EASTL Benchmarks.html')
-rw-r--r--EASTL/doc/html/EASTL Benchmarks.html330
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&lt;TestObject&gt; 33061345 6497757 5.09 *<br>algorithm/copy/vector&lt;LargePOD&gt; 5844906 4876076 1.20 *<br>algorithm/copy/vector&lt;uint32_t&gt; 1634346 166065 9.84 *<br>algorithm/copy_backward/vector&lt;LargePOD&gt; 4515974 4638892 0.97<br>algorithm/copy_backward/vector&lt;uint32_t&gt; 1821168 121746 14.96 *<br>algorithm/count/vector&lt;uint64_t&gt; 17048884 2720766 6.27 *<br>algorithm/equal_range/vector&lt;uint64_t&gt; 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&lt;char&gt;/'d' 10205092 33796 100.00 *<br>algorithm/fill/vector&lt;char&gt;/0 10200748 33805 100.00 *<br>algorithm/fill/vector&lt;uint64_t&gt; 10416538 1399687 7.44 *<br>algorithm/fill/vector&lt;void*&gt; 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&lt;uint64_t&gt; 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&lt;TestObject&gt; 32824195 5253587 6.25 *<br>algorithm/lex_cmp/vector&lt;uchar&gt; 29852034 202658 100.00 *<br>algorithm/lower_bound/vector&lt;TestObject&gt; 798624462 350027935 2.28 *<br>algorithm/min_element/vector&lt;TestObject&gt; 21675298 5314676 4.08 *<br>algorithm/rand_shuffle/vector&lt;uint64_t&gt; 84236190 43677506 1.93 *<br>algorithm/reverse/list&lt;TestObject&gt; 3007292 2105799 1.43 *<br>algorithm/reverse/vector&lt;TestObject&gt; 2974618 2124796 1.40 *<br>algorithm/search/string&lt;char&gt; 16228158 3594268 4.52 *<br>algorithm/search_n/string&lt;char&gt; 16926985 1522096 11.12 *<br>algorithm/unique/vector&lt;TestObject&gt; 54206243 9988002 5.43 *<br>algorithm/unique/vector&lt;uint32_t&gt; 26940079 1741991 15.47 *<br>algorithm/unique/vector&lt;uint64_t&gt; 47621344 5213127 9.13 *<br>algorithm/upper_bound/vector&lt;uint32_t&gt; 372381295 137901552 2.70 *<br><br>bitset&lt;1500&gt;/&gt;&gt;=/1 90196544 92539832 0.97<br>bitset&lt;1500&gt;/count 50753832 53742117 0.94<br>bitset&lt;1500&gt;/flip 86935875 85121117 1.02<br>bitset&lt;1500&gt;/reset 78153837 79922611 0.98<br>bitset&lt;1500&gt;/set() 79214968 79360658 1.00<br>bitset&lt;1500&gt;/set(i) 11300589 12199651 0.93<br>bitset&lt;1500&gt;/test 11282679 13186450 0.86 *<br><br>bitset&lt;15&gt;/&gt;&gt;=/1 10500577 6000559 1.75 *<br>bitset&lt;15&gt;/count 4000356 6399753 0.63 *<br>bitset&lt;15&gt;/flip 7268877 5647944 1.29 *<br>bitset&lt;15&gt;/reset 8564235 5800163 1.48 *<br>bitset&lt;15&gt;/set() 9935523 5914012 1.68 *<br>bitset&lt;15&gt;/set(i) 11199703 12503637 0.90 *<br>bitset&lt;15&gt;/test 10600623 12899592 0.82 *<br><br>bitset&lt;35&gt;/&gt;&gt;=/1 13076052 6599834 1.98 *<br>bitset&lt;35&gt;/count 4800384 11500330 0.42 *<br>bitset&lt;35&gt;/flip 7915439 5816313 1.36 *<br>bitset&lt;35&gt;/reset 9400049 5803180 1.62 *<br>bitset&lt;35&gt;/set() 10701152 5840316 1.83 *<br>bitset&lt;35&gt;/set(i) 11342936 12271128 0.92<br>bitset&lt;35&gt;/test 10670799 13099682 0.81 *<br><br>bitset&lt;75&gt;/&gt;&gt;=/1 14198834 17151088 0.83 *<br>bitset&lt;75&gt;/count 5795530 8576373 0.68 *<br>bitset&lt;75&gt;/flip 8516703 8922995 0.95<br>bitset&lt;75&gt;/reset 9999970 8526095 1.17 *<br>bitset&lt;75&gt;/set() 11124877 9009686 1.23 *<br>bitset&lt;75&gt;/set(i) 11300563 12531618 0.90 *<br>bitset&lt;75&gt;/test 11031913 13100523 0.84 *<br><br>deque&lt;ValuePair&gt;/erase 743801706 335646802 2.22 *<br>deque&lt;ValuePair&gt;/insert 742331809 341912866 2.17 *<br>deque&lt;ValuePair&gt;/iteration 29097030 16315827 1.78 *<br>deque&lt;ValuePair&gt;/operator[] 49859598 24026313 2.08 *<br>deque&lt;ValuePair&gt;/push_back 424807033 34497608 12.31 *<br>deque&lt;ValuePair&gt;/push_front 402313373 38006322 10.59 *<br>deque&lt;ValuePair&gt;/sort 725101017 581796551 1.25 *<br><br>hash_map&lt;string, uint32_t&gt;/clear 559462 961019 0.58 *<br>hash_map&lt;string, uint32_t&gt;/count 53377807 8091448 6.60 *<br>hash_map&lt;string, uint32_t&gt;/erase pos 613573 858084 0.72 *<br>hash_map&lt;string, uint32_t&gt;/erase range 5488748 461134 11.90 *<br>hash_map&lt;string, uint32_t&gt;/erase val 35760096 16379858 2.18 *<br>hash_map&lt;string, uint32_t&gt;/find 43490335 10324823 4.21 *<br>hash_map&lt;string, uint32_t&gt;/find_as/char* 49343818 8617139 5.73 *<br>hash_map&lt;string, uint32_t&gt;/insert 107420281 168690439 0.64 *<br>hash_map&lt;string, uint32_t&gt;/iteration 2456356 1255153 1.96 *<br>hash_map&lt;string, uint32_t&gt;/operator[] 47209502 12581624 3.75 *<br><br>hash_map&lt;uint32_t, TestObject&gt;/clear 533172 546449 0.98<br>hash_map&lt;uint32_t, TestObject&gt;/count 28667432 2899997 9.89 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase pos 683239 538289 1.27 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase range 9632676 253037 38.07 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase val 25466026 7752188 3.29 *<br>hash_map&lt;uint32_t, TestObject&gt;/find 20048253 4678502 4.29 *<br>hash_map&lt;uint32_t, TestObject&gt;/insert 71085798 37686187 1.89 *<br>hash_map&lt;uint32_t, TestObject&gt;/iteration 1460318 1338317 1.09<br>hash_map&lt;uint32_t, TestObject&gt;/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&lt;TestObject&gt;)/make_heap 91770743 21724870 4.22 *<br>heap (vector&lt;TestObject&gt;)/pop_heap 1175599317 284007398 4.14 *<br>heap (vector&lt;TestObject&gt;)/push_heap 207804541 45918046 4.53 *<br>heap (vector&lt;TestObject&gt;)/sort_heap 970394145 208321477 4.66 *<br><br>list&lt;TestObject&gt;/ctor(it) 805539509 760938607 1.06<br>list&lt;TestObject&gt;/ctor(n) 80959236 75106995 1.08<br>list&lt;TestObject&gt;/erase 1052543704 1044976137 1.01<br>list&lt;TestObject&gt;/find 97785267 75970884 1.29 *<br>list&lt;TestObject&gt;/insert 873895175 807051107 1.08<br>list&lt;TestObject&gt;/push_back 812797710 780742425 1.04<br>list&lt;TestObject&gt;/remove 1850600714 1436980599 1.29 *<br>list&lt;TestObject&gt;/reverse 180270465 80466636 2.24 *<br>list&lt;TestObject&gt;/size/1 440148 599642 0.73 *<br>list&lt;TestObject&gt;/size/10 439433 1329817 0.33 * EASTL intentionally implements list::size as O(n).<br>list&lt;TestObject&gt;/size/100 439595 11030060 0.04 * EASTL intentionally implements list::size as O(n).<br>list&lt;TestObject&gt;/splice 177106094 69383027 2.55 *<br><br>map&lt;TestObject, uint32_t&gt;/clear 508283 470807 1.08<br>map&lt;TestObject, uint32_t&gt;/count 43145354 14280357 3.02 *<br>map&lt;TestObject, uint32_t&gt;/equal_range 38594004 16520447 2.34 *<br>map&lt;TestObject, uint32_t&gt;/erase/key 33948082 16123175 2.11 *<br>map&lt;TestObject, uint32_t&gt;/erase/pos 578332 455201 1.27 * MS uses a code bloating implementation of erase.<br>map&lt;TestObject, uint32_t&gt;/erase/range 387345 284538 1.36 *<br>map&lt;TestObject, uint32_t&gt;/find 22897224 12766100 1.79 *<br>map&lt;TestObject, uint32_t&gt;/insert 61665800 47286928 1.30 *<br>map&lt;TestObject, uint32_t&gt;/iteration 1977202 745391 2.65 *<br>map&lt;TestObject, uint32_t&gt;/lower_bound 19892941 12260928 1.62 *<br>map&lt;TestObject, uint32_t&gt;/operator[] 24199084 15429634 1.57 *<br>map&lt;TestObject, uint32_t&gt;/upper_bound 19842409 12064441 1.64 *<br><br>set&lt;uint32_t&gt;/clear 1027625 1000901 1.03<br>set&lt;uint32_t&gt;/count 39730182 13329565 2.98 *<br>set&lt;uint32_t&gt;/equal_range 34681649 14768827 2.35 *<br>set&lt;uint32_t&gt;/erase range 841458 602030 1.40 *<br>set&lt;uint32_t&gt;/erase/pos 1380485 1084303 1.27 * MS uses a code bloating implementation of erase.<br>set&lt;uint32_t&gt;/erase/val 31617425 13344023 2.37 *<br>set&lt;uint32_t&gt;/find 19582428 10788864 1.82 *<br>set&lt;uint32_t&gt;/insert 61434014 48232086 1.27 *<br>set&lt;uint32_t&gt;/iteration 1512057 667820 2.26 *<br>set&lt;uint32_t&gt;/lower_bound 18394885 10402785 1.77 *<br>set&lt;uint32_t&gt;/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&lt;TestObject&gt; 87962047 15004677 5.86 *<br>sort/q_sort/vector&lt;TestObject&gt;/sorted 21396523 3341163 6.40 *<br>sort/q_sort/vector&lt;ValuePair&gt; 80334589 10429161 7.70 *<br>sort/q_sort/vector&lt;ValuePair&gt;/sorted 22133295 3230553 6.85 *<br>sort/q_sort/vector&lt;uint32&gt; 72195388 5940302 12.15 *<br>sort/q_sort/vector&lt;uint32&gt;/sorted 19635171 995495 19.72 *<br><br>string&lt;char16_t&gt;/compare 523013373 534722089 0.98<br>string&lt;char16_t&gt;/erase/pos,n 3446597 3439492 1.00<br>string&lt;char16_t&gt;/find/p,pos,n 383873158 441902786 0.87 *<br>string&lt;char16_t&gt;/find_first_not_of/p,pos,n 174157 134131 1.30 *<br>string&lt;char16_t&gt;/find_first_of/p,pos,n 11715423 8520944 1.37 *<br>string&lt;char16_t&gt;/find_last_of/p,pos,n 1871556 1226457 1.53 *<br>string&lt;char16_t&gt;/insert/pos,p 3624877 3357058 1.08<br>string&lt;char16_t&gt;/iteration 6766787933 581916665 11.63 *<br>string&lt;char16_t&gt;/operator[] 4820827 2335579 2.06 *<br>string&lt;char16_t&gt;/push_back 59812962 6757466 8.85 *<br>string&lt;char16_t&gt;/replace/pos,n,p,n 4371279 4459713 0.98<br>string&lt;char16_t&gt;/reserve 2307530 1919386 1.20 *<br>string&lt;char16_t&gt;/rfind/p,pos,n 734826 372615 1.97 *<br>string&lt;char16_t&gt;/size 41608 28866 1.44 *<br>string&lt;char16_t&gt;/swap 1033932 1490994 0.69 *<br><br>string&lt;char8_t&gt;/compare 63086797 64194771 0.98<br>string&lt;char8_t&gt;/erase/pos,n 2045687 1960270 1.04<br>string&lt;char8_t&gt;/find/p,pos,n 123872549 471364764 0.26 *<br>string&lt;char8_t&gt;/find_first_not_of/p,pos,n 140013 130271 1.07<br>string&lt;char8_t&gt;/find_first_of/p,pos,n 8051906 8749994 0.92<br>string&lt;char8_t&gt;/find_last_of/p,pos,n 1318835 1230715 1.07<br>string&lt;char8_t&gt;/insert/pos,p 1770610 1724234 1.03<br>string&lt;char8_t&gt;/iteration 28112136 2544475 11.05 *<br>string&lt;char8_t&gt;/operator[] 4810525 2255841 2.13 *<br>string&lt;char8_t&gt;/push_back 54869634 6127447 8.95 *<br>string&lt;char8_t&gt;/replace/pos,n,p,n 2737578 2847900 0.96<br>string&lt;char8_t&gt;/reserve 1123395 394902 2.84 *<br>string&lt;char8_t&gt;/rfind/p,pos,n 737299 368518 2.00 *<br>string&lt;char8_t&gt;/size 42245 26801 1.58 *<br>string&lt;char8_t&gt;/swap 1036142 1491028 0.69 *<br><br>vector&lt;uint64&gt;/erase 56417135 55770251 1.01<br>vector&lt;uint64&gt;/insert 56617761 56100468 1.01<br>vector&lt;uint64&gt;/iteration 10413895 1291269 8.06 *<br>vector&lt;uint64&gt;/operator[] 23507193 3479390 6.76 *<br>vector&lt;uint64&gt;/push_back 34687939 13806627 2.51 *<br>vector&lt;uint64&gt;/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&lt;TestObject&gt; 2783546 2750660 1.01<br>algorithm/copy/vector&lt;LargePOD&gt; 6474025 4972738 1.30 *<br>algorithm/copy/vector&lt;uint32_t&gt; 157267 173162 0.91<br>algorithm/copy_backward/vector&lt;LargePOD&gt; 4836406 4374780 1.11 *<br>algorithm/copy_backward/vector&lt;uint32_t&gt; 104780 120912 0.87 *<br>algorithm/count/vector&lt;uint64_t&gt; 1368440 1368696 1.00<br>algorithm/equal_range/vector&lt;uint64_t&gt; 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&lt;char&gt;/'d' 253105 27362 9.25 *<br>algorithm/fill/vector&lt;char&gt;/0 253275 27353 9.26 *<br>algorithm/fill/vector&lt;uint64_t&gt; 397001 394323 1.01<br>algorithm/fill/vector&lt;void*&gt; 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&lt;uint64_t&gt; 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&lt;TestObject&gt; 2610494 2642183 0.99<br>algorithm/lex_cmp/vector&lt;uchar&gt; 697595 167866 4.16 *<br>algorithm/lower_bound/vector&lt;TestObject&gt; 62462233 58146664 1.07<br>algorithm/min_element/vector&lt;TestObject&gt; 4350385 2671227 1.63 *<br>algorithm/rand_shuffle/vector&lt;uint64_t&gt; 10868261 11300818 0.96<br>algorithm/reverse/list&lt;TestObject&gt; 483718 470024 1.03<br>algorithm/reverse/vector&lt;TestObject&gt; 476739 484322 0.98<br>algorithm/search/string&lt;char&gt; 2560387 1259496 2.03 *<br>algorithm/search_n/string&lt;char&gt; 2770991 458524 6.04 *<br>algorithm/unique/vector&lt;TestObject&gt; 4194520 4658910 0.90 *<br>algorithm/unique/vector&lt;uint32_t&gt; 538730 787924 0.68 *<br>algorithm/unique/vector&lt;uint64_t&gt; 3169829 2575636 1.23 *<br>algorithm/upper_bound/vector&lt;uint32_t&gt; 27495562 25321593 1.09<br><br>bitset&lt;1500&gt;/&gt;&gt;=/1 33464228 33469719 1.00<br>bitset&lt;1500&gt;/count 18736116 18814903 1.00<br>bitset&lt;1500&gt;/flip 19299309 18605438 1.04<br>bitset&lt;1500&gt;/reset 22200487 15262847 1.45 *<br>bitset&lt;1500&gt;/set() 14418193 17557319 0.82 *<br>bitset&lt;1500&gt;/set(i) 1599250 1599199 1.00<br>bitset&lt;1500&gt;/test 1599241 1599233 1.00<br><br>bitset&lt;15&gt;/&gt;&gt;=/1 2199222 2264442 0.97<br>bitset&lt;15&gt;/count 1399406 1399193 1.00<br>bitset&lt;15&gt;/flip 1266712 1199197 1.06<br>bitset&lt;15&gt;/reset 1399364 1399109 1.00<br>bitset&lt;15&gt;/set() 1199197 999201 1.20 *<br>bitset&lt;15&gt;/set(i) 1599258 1462952 1.09<br>bitset&lt;15&gt;/test 1599275 1599224 1.00<br><br>bitset&lt;35&gt;/&gt;&gt;=/1 2599266 1933376 1.34 *<br>bitset&lt;35&gt;/count 2599240 2592559 1.00<br>bitset&lt;35&gt;/flip 1693124 1199188 1.41 *<br>bitset&lt;35&gt;/reset 1399406 999201 1.40 *<br>bitset&lt;35&gt;/set() 1599403 1199205 1.33 *<br>bitset&lt;35&gt;/set(i) 1599241 1599190 1.00<br>bitset&lt;35&gt;/test 1599250 1599232 1.00<br><br>bitset&lt;75&gt;/&gt;&gt;=/1 4199332 4199213 1.00<br>bitset&lt;75&gt;/count 2999497 2199341 1.36 *<br>bitset&lt;75&gt;/flip 2399499 1830178 1.31 *<br>bitset&lt;75&gt;/reset 2199468 1199197 1.83 *<br>bitset&lt;75&gt;/set() 1999387 1199851 1.67 *<br>bitset&lt;75&gt;/set(i) 1599266 1599198 1.00<br>bitset&lt;75&gt;/test 1599241 1662651 0.96<br><br>deque&lt;ValuePair&gt;/erase 90444165 37113253 2.44 *<br>deque&lt;ValuePair&gt;/insert 93299349 36175167 2.58 *<br>deque&lt;ValuePair&gt;/iteration 2756414 2122076 1.30 *<br>deque&lt;ValuePair&gt;/operator[] 5117969 4632075 1.10<br>deque&lt;ValuePair&gt;/push_back 30300757 3060357 9.90 *<br>deque&lt;ValuePair&gt;/push_front 25498529 2808392 9.08 *<br>deque&lt;ValuePair&gt;/sort 142283047 111292464 1.28 *<br><br>hash_map&lt;string, uint32_t&gt;/clear 146769 389699 0.38 *<br>hash_map&lt;string, uint32_t&gt;/count 13059434 3460324 3.77 *<br>hash_map&lt;string, uint32_t&gt;/erase pos 184246 331925 0.56 *<br>hash_map&lt;string, uint32_t&gt;/erase range 382432 167237 2.29 *<br>hash_map&lt;string, uint32_t&gt;/erase val 6187898 3302114 1.87 *<br>hash_map&lt;string, uint32_t&gt;/find 11289369 3459024 3.26 *<br>hash_map&lt;string, uint32_t&gt;/find_as/char* 13559192 3662387 3.70 *<br>hash_map&lt;string, uint32_t&gt;/insert 17514012 14095176 1.24 *<br>hash_map&lt;string, uint32_t&gt;/iteration 801014 218450 3.67 *<br>hash_map&lt;string, uint32_t&gt;/operator[] 11457065 3690385 3.10 *<br><br>hash_map&lt;uint32_t, TestObject&gt;/clear 141865 265379 0.53 *<br>hash_map&lt;uint32_t, TestObject&gt;/count 1766045 703613 2.51 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase pos 172337 218458 0.79 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase range 537846 102340 5.26 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase val 2220132 1441787 1.54 *<br>hash_map&lt;uint32_t, TestObject&gt;/find 1612994 1043953 1.55 *<br>hash_map&lt;uint32_t, TestObject&gt;/insert 7141547 4348056 1.64 *<br>hash_map&lt;uint32_t, TestObject&gt;/iteration 199512 169328 1.18 *<br>hash_map&lt;uint32_t, TestObject&gt;/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&lt;TestObject&gt;)/make_heap 11458442 11510819 1.00<br>heap (vector&lt;TestObject&gt;)/pop_heap 122897267 119061132 1.03<br>heap (vector&lt;TestObject&gt;)/push_heap 21688481 21176220 1.02<br>heap (vector&lt;TestObject&gt;)/sort_heap 90867380 88869523 1.02<br><br>list&lt;TestObject&gt;/ctor(it) 74591104 69845817 1.07<br>list&lt;TestObject&gt;/ctor(n) 6243998 5838582 1.07<br>list&lt;TestObject&gt;/erase 299509298 206013676 1.45 *<br>list&lt;TestObject&gt;/find 40927185 14514243 2.82 *<br>list&lt;TestObject&gt;/insert 71277251 47234534 1.51 *<br>list&lt;TestObject&gt;/push_back 73780527 44116725 1.67 *<br>list&lt;TestObject&gt;/remove 786197776 326434612 2.41 *<br>list&lt;TestObject&gt;/reverse 49283128 25029678 1.97 *<br>list&lt;TestObject&gt;/size/1 159741 139400 1.15 *<br>list&lt;TestObject&gt;/size/10 159324 346579 0.46 * EASTL intentionally implements list::size as O(n).<br>list&lt;TestObject&gt;/size/100 159188 97235419 0.00 * EASTL intentionally implements list::size as O(n).<br>list&lt;TestObject&gt;/splice 63548584 19322931 3.29 *<br><br>map&lt;TestObject, uint32_t&gt;/clear 167408 170501 0.98<br>map&lt;TestObject, uint32_t&gt;/count 10213685 4748346 2.15 *<br>map&lt;TestObject, uint32_t&gt;/equal_range 9515053 5677558 1.68 *<br>map&lt;TestObject, uint32_t&gt;/erase/key 6646260 4302300 1.54 *<br>map&lt;TestObject, uint32_t&gt;/erase/pos 297135 327938 0.91 MS uses a code bloating implementation of erase.<br>map&lt;TestObject, uint32_t&gt;/erase/range 148614 163702 0.91<br>map&lt;TestObject, uint32_t&gt;/find 5637531 4767055 1.18 *<br>map&lt;TestObject, uint32_t&gt;/insert 9591128 9030349 1.06<br>map&lt;TestObject, uint32_t&gt;/iteration 323595 325261 0.99<br>map&lt;TestObject, uint32_t&gt;/lower_bound 5398239 4784089 1.13 *<br>map&lt;TestObject, uint32_t&gt;/operator[] 5631250 5141166 1.10<br>map&lt;TestObject, uint32_t&gt;/upper_bound 5436336 4762431 1.14 *<br><br>set&lt;uint32_t&gt;/clear 155983 156026 1.00<br>set&lt;uint32_t&gt;/count 9635965 4392146 2.19 *<br>set&lt;uint32_t&gt;/equal_range 8504157 5247832 1.62 *<br>set&lt;uint32_t&gt;/erase range 140488 119408 1.18 *<br>set&lt;uint32_t&gt;/erase/pos 260678 286697 0.91 MS uses a code bloating implementation of erase.<br>set&lt;uint32_t&gt;/erase/val 6008225 4012825 1.50 *<br>set&lt;uint32_t&gt;/find 5145432 4381945 1.17 *<br>set&lt;uint32_t&gt;/insert 8087129 8697251 0.93<br>set&lt;uint32_t&gt;/iteration 271507 304538 0.89 *<br>set&lt;uint32_t&gt;/lower_bound 4666228 4404250 1.06<br>set&lt;uint32_t&gt;/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&lt;TestObject&gt; 9674828 5430199 1.78 *<br>sort/q_sort/vector&lt;TestObject&gt;/sorted 606908 1111647 0.55 *<br>sort/q_sort/vector&lt;ValuePair&gt; 6284194 3423452 1.84 *<br>sort/q_sort/vector&lt;ValuePair&gt;/sorted 711629 569364 1.25 *<br>sort/q_sort/vector&lt;uint32&gt; 5453379 2916146 1.87 *<br>sort/q_sort/vector&lt;uint32&gt;/sorted 537047 419144 1.28 *<br><br>string&lt;char16_t&gt;/compare 435083295 251985824 1.73 *<br>string&lt;char16_t&gt;/erase/pos,n 3454842 3451858 1.00<br>string&lt;char16_t&gt;/find/p,pos,n 401954723 165298157 2.43 *<br>string&lt;char16_t&gt;/find_first_not_of/p,pos,n 131452 65374 2.01 *<br>string&lt;char16_t&gt;/find_first_of/p,pos,n 11657444 4144515 2.81 *<br>string&lt;char16_t&gt;/find_last_of/p,pos,n 1604248 567571 2.83 *<br>string&lt;char16_t&gt;/insert/pos,p 3398734 3355460 1.01<br>string&lt;char16_t&gt;/iteration 218856504 218771844 1.00<br>string&lt;char16_t&gt;/operator[] 714161 240023 2.98 *<br>string&lt;char16_t&gt;/push_back 34968235 2444897 14.30 *<br>string&lt;char16_t&gt;/replace/pos,n,p,n 4226693 4198498 1.01<br>string&lt;char16_t&gt;/reserve 1901765 390805 4.87 *<br>string&lt;char16_t&gt;/rfind/p,pos,n 195483 150985 1.29 *<br>string&lt;char16_t&gt;/size 11169 11245 0.99<br>string&lt;char16_t&gt;/swap 1459280 419807 3.48 *<br><br>string&lt;char8_t&gt;/compare 63071275 77209580 0.82 *<br>string&lt;char8_t&gt;/erase/pos,n 2008652 1944494 1.03<br>string&lt;char8_t&gt;/find/p,pos,n 123201023 167536164 0.74 *<br>string&lt;char8_t&gt;/find_first_not_of/p,pos,n 93372 67864 1.38 *<br>string&lt;char8_t&gt;/find_first_of/p,pos,n 7542492 3375758 2.23 *<br>string&lt;char8_t&gt;/find_last_of/p,pos,n 933972 583576 1.60 *<br>string&lt;char8_t&gt;/insert/pos,p 1737213 1750847 0.99<br>string&lt;char8_t&gt;/iteration 893834 899130 0.99<br>string&lt;char8_t&gt;/operator[] 817879 313437 2.61 *<br>string&lt;char8_t&gt;/push_back 20857734 2004410 10.41 *<br>string&lt;char8_t&gt;/replace/pos,n,p,n 2578696 2607655 0.99<br>string&lt;char8_t&gt;/reserve 915127 85289 10.73 *<br>string&lt;char8_t&gt;/rfind/p,pos,n 196103 148894 1.32 *<br>string&lt;char8_t&gt;/size 11619 11220 1.04<br>string&lt;char8_t&gt;/swap 1461056 419874 3.48 *<br><br>vector&lt;uint64&gt;/erase 55235116 55284587 1.00<br>vector&lt;uint64&gt;/insert 55166046 55142755 1.00<br>vector&lt;uint64&gt;/iteration 553954 509719 1.09<br>vector&lt;uint64&gt;/operator[] 1284239 798516 1.61 *<br>vector&lt;uint64&gt;/push_back 5399549 3867959 1.40 *<br>vector&lt;uint64&gt;/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&lt;TestObject&gt; 5661170 5689517 1.00<br>algorithm/copy/vector&lt;LargePOD&gt; 5573815 5124428 1.09<br>algorithm/copy/vector&lt;uint32_t&gt; 148273 125782 1.18 *<br>algorithm/copy_backward/vector&lt;LargePOD&gt; 5429791 4834510 1.12 *<br>algorithm/copy_backward/vector&lt;uint32_t&gt; 156765 163038 0.96<br>algorithm/count/vector&lt;uint64_t&gt; 2730922 2730072 1.00<br>algorithm/equal_range/vector&lt;uint64_t&gt; 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&lt;char&gt;/'d' 34459 27361 1.26 *<br>algorithm/fill/vector&lt;char&gt;/0 1299224 27361 47.48 *<br>algorithm/fill/vector&lt;uint64_t&gt; 1400647 1400145 1.00<br>algorithm/fill/vector&lt;void*&gt; 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&lt;uint64_t&gt; 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&lt;TestObject&gt; 5060968 4799882 1.05<br>algorithm/lex_cmp/vector&lt;uchar&gt; 1668354 189490 8.80 *<br>algorithm/lower_bound/vector&lt;TestObject&gt; 450240945 353437573 1.27 *<br>algorithm/min_element/vector&lt;TestObject&gt; 5861744 5326371 1.10<br>algorithm/rand_shuffle/vector&lt;uint64_t&gt; 40780449 45780090 0.89 *<br>algorithm/reverse/list&lt;TestObject&gt; 2657678 2130627 1.25 *<br>algorithm/reverse/vector&lt;TestObject&gt; 2666424 2124889 1.25 *<br>algorithm/search/string&lt;char&gt; 3110379 3613460 0.86 *<br>algorithm/search_n/string&lt;char&gt; 3061665 1521261 2.01 *<br>algorithm/unique/vector&lt;TestObject&gt; 12423684 9485439 1.31 *<br>algorithm/unique/vector&lt;uint32_t&gt; 3718699 1726596 2.15 *<br>algorithm/unique/vector&lt;uint64_t&gt; 6205110 4591631 1.35 *<br>algorithm/upper_bound/vector&lt;uint32_t&gt; 185391094 139336317 1.33 *<br><br>bitset&lt;1500&gt;/&gt;&gt;=/1 120666960 92449816 1.31 * STLPort is broken, neglects wraparound check.<br>bitset&lt;1500&gt;/count 201709793 52874726 3.81 *<br>bitset&lt;1500&gt;/flip 87360297 81737071 1.07<br>bitset&lt;1500&gt;/reset 23950178 77390323 0.31 *<br>bitset&lt;1500&gt;/set() 84608107 76912011 1.10<br>bitset&lt;1500&gt;/set(i) 18023620 12229604 1.47 *<br>bitset&lt;1500&gt;/test 18006553 13276396 1.36 *<br><br>bitset&lt;15&gt;/&gt;&gt;=/1 11935904 6012695 1.99 * STLPort is broken, neglects wraparound check.<br>bitset&lt;15&gt;/count 9368581 6022742 1.56 *<br>bitset&lt;15&gt;/flip 11600706 6533635 1.78 *<br>bitset&lt;15&gt;/reset 5830957 5874690 0.99<br>bitset&lt;15&gt;/set() 11695328 5701621 2.05 *<br>bitset&lt;15&gt;/set(i) 16363205 12570216 1.30 *<br>bitset&lt;15&gt;/test 16743172 13201452 1.27 *<br><br>bitset&lt;35&gt;/&gt;&gt;=/1 22950918 6774457 3.39 * STLPort is broken, neglects wraparound check.<br>bitset&lt;35&gt;/count 12655309 11736256 1.08<br>bitset&lt;35&gt;/flip 13738575 5800042 2.37 *<br>bitset&lt;35&gt;/reset 15561434 5800510 2.68 *<br>bitset&lt;35&gt;/set() 13564283 5600709 2.42 *<br>bitset&lt;35&gt;/set(i) 18519689 12199973 1.52 *<br>bitset&lt;35&gt;/test 18000569 13103566 1.37 *<br><br>bitset&lt;75&gt;/&gt;&gt;=/1 25579525 16669664 1.53 * STLPort is broken, neglects wraparound check.<br>bitset&lt;75&gt;/count 18740698 8480492 2.21 *<br>bitset&lt;75&gt;/flip 13555630 8300335 1.63 *<br>bitset&lt;75&gt;/reset 15200133 8200000 1.85 *<br>bitset&lt;75&gt;/set() 14408112 8001959 1.80 *<br>bitset&lt;75&gt;/set(i) 18137741 12374257 1.47 *<br>bitset&lt;75&gt;/test 18422135 13100038 1.41 *<br><br>deque&lt;ValuePair&gt;/erase 651933790 326443043 2.00 *<br>deque&lt;ValuePair&gt;/insert 659786183 333304660 1.98 *<br>deque&lt;ValuePair&gt;/iteration 23734592 16173706 1.47 *<br>deque&lt;ValuePair&gt;/operator[] 59126816 23911774 2.47 *<br>deque&lt;ValuePair&gt;/push_back 58056988 31859266 1.82 *<br>deque&lt;ValuePair&gt;/push_front 57780891 31743199 1.82 *<br>deque&lt;ValuePair&gt;/sort 818414195 596568113 1.37 *<br><br>hash_map&lt;string, uint32_t&gt;/clear 3422133 2204517 1.55 *<br>hash_map&lt;string, uint32_t&gt;/count 9869545 8624924 1.14 *<br>hash_map&lt;string, uint32_t&gt;/erase pos 3256350 2069299 1.57 *<br>hash_map&lt;string, uint32_t&gt;/erase range 3230203 1151392 2.81 *<br>hash_map&lt;string, uint32_t&gt;/erase val 16860362 15939778 1.06<br>hash_map&lt;string, uint32_t&gt;/find 10286971 9920910 1.04<br>hash_map&lt;string, uint32_t&gt;/find_as/char* 118136025 9458468 12.49 *<br>hash_map&lt;string, uint32_t&gt;/insert 188948336 174490082 1.08<br>hash_map&lt;string, uint32_t&gt;/iteration 4037049 2021036 2.00 *<br>hash_map&lt;string, uint32_t&gt;/operator[] 11472127 12887699 0.89 *<br><br>hash_map&lt;uint32_t, TestObject&gt;/clear 2522264 1331848 1.89 *<br>hash_map&lt;uint32_t, TestObject&gt;/count 3210739 2897063 1.11 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase pos 1862281 1304783 1.43 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase range 698079 579606 1.20 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase val 8806722 7041298 1.25 *<br>hash_map&lt;uint32_t, TestObject&gt;/find 3604875 4709645 0.77 *<br>hash_map&lt;uint32_t, TestObject&gt;/insert 40785711 40376342 1.01<br>hash_map&lt;uint32_t, TestObject&gt;/iteration 3064088 1508834 2.03 *<br>hash_map&lt;uint32_t, TestObject&gt;/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&lt;TestObject&gt;)/make_heap 22215557 22277063 1.00<br>heap (vector&lt;TestObject&gt;)/pop_heap 275392171 277340039 0.99<br>heap (vector&lt;TestObject&gt;)/push_heap 51479442 47342577 1.09<br>heap (vector&lt;TestObject&gt;)/sort_heap 214474736 218497540 0.98<br><br>list&lt;TestObject&gt;/ctor(it) 767753795 753421427 1.02<br>list&lt;TestObject&gt;/ctor(n) 74185322 73386245 1.01<br>list&lt;TestObject&gt;/erase 1021003824 1033873589 0.99<br>list&lt;TestObject&gt;/find 77666072 74917622 1.04<br>list&lt;TestObject&gt;/insert 788071150 774188737 1.02<br>list&lt;TestObject&gt;/push_back 760490154 737327348 1.03<br>list&lt;TestObject&gt;/remove 1682511938 1434771006 1.17 *<br>list&lt;TestObject&gt;/reverse 87237327 80394623 1.09<br>list&lt;TestObject&gt;/size/1 3828111 599530 6.39 *<br>list&lt;TestObject&gt;/size/10 9600605 1329535 7.22 * EASTL intentionally implements list::size as O(n).<br>list&lt;TestObject&gt;/size/100 62952334 15022551 4.19 * EASTL intentionally implements list::size as O(n).<br>list&lt;TestObject&gt;/splice 96536412 60804817 1.59 *<br><br>map&lt;TestObject, uint32_t&gt;/clear 1142127 1099066 1.04<br>map&lt;TestObject, uint32_t&gt;/count 19659726 14647548 1.34 *<br>map&lt;TestObject, uint32_t&gt;/equal_range 36680687 18219086 2.01 *<br>map&lt;TestObject, uint32_t&gt;/erase/key 28892154 16037774 1.80 *<br>map&lt;TestObject, uint32_t&gt;/erase/pos 1209643 1185495 1.02<br>map&lt;TestObject, uint32_t&gt;/erase/range 715402 670539 1.07<br>map&lt;TestObject, uint32_t&gt;/find 21020992 13429575 1.57 *<br>map&lt;TestObject, uint32_t&gt;/insert 59530871 51120640 1.16 *<br>map&lt;TestObject, uint32_t&gt;/iteration 972825 1191946 0.82 *<br>map&lt;TestObject, uint32_t&gt;/lower_bound 18852651 12495034 1.51 *<br>map&lt;TestObject, uint32_t&gt;/operator[] 22889573 16676736 1.37 *<br>map&lt;TestObject, uint32_t&gt;/upper_bound 18603584 12406922 1.50 *<br><br>set&lt;uint32_t&gt;/clear 919555 882988 1.04<br>set&lt;uint32_t&gt;/count 17561110 12461084 1.41 *<br>set&lt;uint32_t&gt;/equal_range 31522488 15230282 2.07 *<br>set&lt;uint32_t&gt;/erase range 687582 564765 1.22 *<br>set&lt;uint32_t&gt;/erase/pos 1044352 1045355 1.00<br>set&lt;uint32_t&gt;/erase/val 25525304 12940774 1.97 *<br>set&lt;uint32_t&gt;/find 17140751 10704866 1.60 *<br>set&lt;uint32_t&gt;/insert 56035051 45555664 1.23 *<br>set&lt;uint32_t&gt;/iteration 682669 640831 1.07<br>set&lt;uint32_t&gt;/lower_bound 16339932 10475740 1.56 *<br>set&lt;uint32_t&gt;/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&lt;TestObject&gt; 17476629 14953285 1.17 *<br>sort/q_sort/vector&lt;TestObject&gt;/sorted 6667034 3327435 2.00 *<br>sort/q_sort/vector&lt;ValuePair&gt; 15391357 10820848 1.42 *<br>sort/q_sort/vector&lt;ValuePair&gt;/sorted 6617122 3232949 2.05 *<br>sort/q_sort/vector&lt;uint32&gt; 8343906 6014846 1.39 *<br>sort/q_sort/vector&lt;uint32&gt;/sorted 3039430 1003127 3.03 *<br><br>string&lt;char16_t&gt;/compare 1489709846 532664000 2.80 *<br>string&lt;char16_t&gt;/erase/pos,n 3528690 3439864 1.03<br>string&lt;char16_t&gt;/find/p,pos,n 2521448321 443752189 5.68 *<br>string&lt;char16_t&gt;/find_first_not_of/p,pos,n 661206 137419 4.81 *<br>string&lt;char16_t&gt;/find_first_of/p,pos,n 54746434 8521335 6.42 *<br>string&lt;char16_t&gt;/find_last_of/p,pos,n 10607778 1212414 8.75 *<br>string&lt;char16_t&gt;/insert/pos,p 3445016 3360126 1.03<br>string&lt;char16_t&gt;/iteration 580955636 579452556 1.00<br>string&lt;char16_t&gt;/operator[] 2206353 1987809 1.11 *<br>string&lt;char16_t&gt;/push_back 22421368 6007808 3.73 *<br>string&lt;char16_t&gt;/replace/pos,n,p,n 5138454 4464786 1.15 *<br>string&lt;char16_t&gt;/reserve 4922413418 335622 100.00 *<br>string&lt;char16_t&gt;/rfind/p,pos,n 1440308 380578 3.78 *<br>string&lt;char16_t&gt;/size 25355 25398 1.00<br>string&lt;char16_t&gt;/swap 2122704 1490823 1.42 *<br><br>string&lt;char8_t&gt;/compare 77222134 77443134 1.00<br>string&lt;char8_t&gt;/erase/pos,n 1965344 1956521 1.00<br>string&lt;char8_t&gt;/find/p,pos,n 2468091951 474205522 5.20 *<br>string&lt;char8_t&gt;/find_first_not_of/p,pos,n 660960 130211 5.08 *<br>string&lt;char8_t&gt;/find_first_of/p,pos,n 55020899 9240171 5.95 *<br>string&lt;char8_t&gt;/find_last_of/p,pos,n 10576210 1239053 8.54 *<br>string&lt;char8_t&gt;/insert/pos,p 1822756 1750880 1.04<br>string&lt;char8_t&gt;/iteration 2617889 2540148 1.03<br>string&lt;char8_t&gt;/operator[] 2254794 2256443 1.00<br>string&lt;char8_t&gt;/push_back 12463022 5210321 2.39 *<br>string&lt;char8_t&gt;/replace/pos,n,p,n 3744862 2855260 1.31 *<br>string&lt;char8_t&gt;/reserve 1372046888 218815 100.00 *<br>string&lt;char8_t&gt;/rfind/p,pos,n 1446232 366902 3.94 *<br>string&lt;char8_t&gt;/size 26859 25431 1.06<br>string&lt;char8_t&gt;/swap 2123350 1490509 1.42 *<br><br>vector&lt;uint64&gt;/erase 55164013 56417449 0.98<br>vector&lt;uint64&gt;/insert 55872973 56432664 0.99<br>vector&lt;uint64&gt;/iteration 1329102 1324623 1.00<br>vector&lt;uint64&gt;/operator[] 5264738 3136746 1.68 *<br>vector&lt;uint64&gt;/push_back 14903245 13171175 1.13 *<br>vector&lt;uint64&gt;/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&lt;TestObject&gt; 2741046 2731441 1.00<br>algorithm/copy/vector&lt;LargePOD&gt; 6065923 5085142 1.19 *<br>algorithm/copy/vector&lt;uint32_t&gt; 158304 165555 0.96<br>algorithm/copy_backward/vector&lt;LargePOD&gt; 4710258 4896476 0.96<br>algorithm/copy_backward/vector&lt;uint32_t&gt; 146030 142630 1.02<br>algorithm/count/vector&lt;uint64_t&gt; 1395921 1406334 0.99<br>algorithm/equal_range/vector&lt;uint64_t&gt; 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&lt;char&gt;/'d' 28466 33720 0.84 *<br>algorithm/fill/vector&lt;char&gt;/0 366086 33728 10.85 *<br>algorithm/fill/vector&lt;uint64_t&gt; 466250 401591 1.16 *<br>algorithm/fill/vector&lt;void*&gt; 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&lt;uint64_t&gt; 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&lt;TestObject&gt; 2623559 2643551 0.99<br>algorithm/lex_cmp/vector&lt;uchar&gt; 960899 183608 5.23 *<br>algorithm/lower_bound/vector&lt;TestObject&gt; 60630534 56531528 1.07<br>algorithm/min_element/vector&lt;TestObject&gt; 4209022 2768527 1.52 *<br>algorithm/rand_shuffle/vector&lt;uint64_t&gt; 13762010 15969052 0.86 *<br>algorithm/reverse/list&lt;TestObject&gt; 673387 731825 0.92<br>algorithm/reverse/vector&lt;TestObject&gt; 634576 754511 0.84 *<br>algorithm/search/string&lt;char&gt; 1262599 1387608 0.91<br>algorithm/search_n/string&lt;char&gt; 1166242 458592 2.54 *<br>algorithm/unique/vector&lt;TestObject&gt; 4912193 5336317 0.92<br>algorithm/unique/vector&lt;uint32_t&gt; 809387 809081 1.00<br>algorithm/unique/vector&lt;uint64_t&gt; 4371814 2414255 1.81 *<br>algorithm/upper_bound/vector&lt;uint32_t&gt; 31899081 29555596 1.08<br><br>bitset&lt;1500&gt;/&gt;&gt;=/1 63308136 40553560 1.56 * STLPort is broken, neglects wraparound check.<br>bitset&lt;1500&gt;/count 62523178 22799473 2.74 *<br>bitset&lt;1500&gt;/flip 20302845 19919232 1.02<br>bitset&lt;1500&gt;/reset 18892015 15403148 1.23 *<br>bitset&lt;1500&gt;/set() 15803302 17322192 0.91<br>bitset&lt;1500&gt;/set(i) 2799271 2999310 0.93<br>bitset&lt;1500&gt;/test 2999293 2799262 1.07<br><br>bitset&lt;15&gt;/&gt;&gt;=/1 1199239 3199256 0.37 * STLPort is broken, neglects wraparound check.<br>bitset&lt;15&gt;/count 3599461 2199231 1.64 *<br>bitset&lt;15&gt;/flip 1199231 1199188 1.00<br>bitset&lt;15&gt;/reset 1199188 1199180 1.00<br>bitset&lt;15&gt;/set() 1199214 1199180 1.00<br>bitset&lt;15&gt;/set(i) 2599257 1399262 1.86 *<br>bitset&lt;15&gt;/test 2599274 2599283 1.00<br><br>bitset&lt;35&gt;/&gt;&gt;=/1 6643974 4599239 1.44 * STLPort is broken, neglects wraparound check.<br>bitset&lt;35&gt;/count 5151331 5399438 0.95<br>bitset&lt;35&gt;/flip 1999404 1199273 1.67 *<br>bitset&lt;35&gt;/reset 9805285 1399313 7.01 *<br>bitset&lt;35&gt;/set() 2799279 1199248 2.33 *<br>bitset&lt;35&gt;/set(i) 2799246 1599241 1.75 *<br>bitset&lt;35&gt;/test 2999234 2999251 1.00<br><br>bitset&lt;75&gt;/&gt;&gt;=/1 7002045 6999333 1.00 STLPort is broken, neglects wraparound check.<br>bitset&lt;75&gt;/count 5999351 3002259 2.00 *<br>bitset&lt;75&gt;/flip 3599334 3599163 1.00<br>bitset&lt;75&gt;/reset 9799344 3399218 2.88 *<br>bitset&lt;75&gt;/set() 3599232 3599062 1.00<br>bitset&lt;75&gt;/set(i) 2799228 1599284 1.75 *<br>bitset&lt;75&gt;/test 2999250 2799339 1.07<br><br>deque&lt;ValuePair&gt;/erase 127108651 115258113 1.10<br>deque&lt;ValuePair&gt;/insert 137727889 116552332 1.18 *<br>deque&lt;ValuePair&gt;/iteration 7144182 6009899 1.19 *<br>deque&lt;ValuePair&gt;/operator[] 34241222 20535039 1.67 *<br>deque&lt;ValuePair&gt;/push_back 6585800 3932126 1.67 *<br>deque&lt;ValuePair&gt;/push_front 6805865 3993513 1.70 *<br>deque&lt;ValuePair&gt;/sort 395352323 348778188 1.13 *<br><br>hash_map&lt;string, uint32_t&gt;/clear 426640 447015 0.95<br>hash_map&lt;string, uint32_t&gt;/count 4359344 3883089 1.12 *<br>hash_map&lt;string, uint32_t&gt;/erase pos 584392 458142 1.28 *<br>hash_map&lt;string, uint32_t&gt;/erase range 221034 196078 1.13 *<br>hash_map&lt;string, uint32_t&gt;/erase val 3539867 3790813 0.93<br>hash_map&lt;string, uint32_t&gt;/find 3966831 3811910 1.04<br>hash_map&lt;string, uint32_t&gt;/find_as/char* 11591612 4243710 2.73 *<br>hash_map&lt;string, uint32_t&gt;/insert 16763887 16719194 1.00<br>hash_map&lt;string, uint32_t&gt;/iteration 909968 478609 1.90 *<br>hash_map&lt;string, uint32_t&gt;/operator[] 4360041 4108313 1.06<br><br>hash_map&lt;uint32_t, TestObject&gt;/clear 302634 283722 1.07<br>hash_map&lt;uint32_t, TestObject&gt;/count 916487 907426 1.01<br>hash_map&lt;uint32_t, TestObject&gt;/erase pos 388042 321385 1.21 *<br>hash_map&lt;uint32_t, TestObject&gt;/erase range 122680 116280 1.06<br>hash_map&lt;uint32_t, TestObject&gt;/erase val 1710931 1729529 0.99<br>hash_map&lt;uint32_t, TestObject&gt;/find 1089462 1346527 0.81 *<br>hash_map&lt;uint32_t, TestObject&gt;/insert 4560310 5072350 0.90 *<br>hash_map&lt;uint32_t, TestObject&gt;/iteration 960117 495354 1.94 *<br>hash_map&lt;uint32_t, TestObject&gt;/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&lt;TestObject&gt;)/make_heap 13191456 13089711 1.01<br>heap (vector&lt;TestObject&gt;)/pop_heap 148555656 144787742 1.03<br>heap (vector&lt;TestObject&gt;)/push_heap 28696689 26618830 1.08<br>heap (vector&lt;TestObject&gt;)/sort_heap 112473989 114018643 0.99<br><br>list&lt;TestObject&gt;/ctor(it) 80186731 74006287 1.08<br>list&lt;TestObject&gt;/ctor(n) 6232311 6128007 1.02<br>list&lt;TestObject&gt;/erase 344556374 212877808 1.62 *<br>list&lt;TestObject&gt;/find 39859075 14591347 2.73 *<br>list&lt;TestObject&gt;/insert 86935153 56138233 1.55 *<br>list&lt;TestObject&gt;/push_back 79569180 46700641 1.70 *<br>list&lt;TestObject&gt;/remove 785786758 324201016 2.42 *<br>list&lt;TestObject&gt;/reverse 45248186 24852759 1.82 *<br>list&lt;TestObject&gt;/size/1 219844 219496 1.00<br>list&lt;TestObject&gt;/size/10 519563 519579 1.00 EASTL intentionally implements list::size as O(n).<br>list&lt;TestObject&gt;/size/100 4567194 101230266 0.05 * EASTL intentionally implements list::size as O(n).<br>list&lt;TestObject&gt;/splice 68321087 23601687 2.89 *<br><br>map&lt;TestObject, uint32_t&gt;/clear 168011 180540 0.93<br>map&lt;TestObject, uint32_t&gt;/count 4830439 5139287 0.94<br>map&lt;TestObject, uint32_t&gt;/equal_range 8700090 6158531 1.41 *<br>map&lt;TestObject, uint32_t&gt;/erase/key 6696776 4617038 1.45 *<br>map&lt;TestObject, uint32_t&gt;/erase/pos 309273 333183 0.93<br>map&lt;TestObject, uint32_t&gt;/erase/range 137419 136068 1.01<br>map&lt;TestObject, uint32_t&gt;/find 4773498 4931352 0.97<br>map&lt;TestObject, uint32_t&gt;/insert 9651877 9311699 1.04<br>map&lt;TestObject, uint32_t&gt;/iteration 372946 416364 0.90 *<br>map&lt;TestObject, uint32_t&gt;/lower_bound 4784234 4915797 0.97<br>map&lt;TestObject, uint32_t&gt;/operator[] 5040254 5183147 0.97<br>map&lt;TestObject, uint32_t&gt;/upper_bound 4724292 4915984 0.96<br><br>set&lt;uint32_t&gt;/clear 165300 173289 0.95<br>set&lt;uint32_t&gt;/count 4958654 4885086 1.02<br>set&lt;uint32_t&gt;/equal_range 8434134 5698681 1.48 *<br>set&lt;uint32_t&gt;/erase range 145554 133960 1.09<br>set&lt;uint32_t&gt;/erase/pos 299914 324760 0.92<br>set&lt;uint32_t&gt;/erase/val 6506155 4335034 1.50 *<br>set&lt;uint32_t&gt;/find 4866879 4556043 1.07<br>set&lt;uint32_t&gt;/insert 8340523 8957257 0.93<br>set&lt;uint32_t&gt;/iteration 294465 343442 0.86 *<br>set&lt;uint32_t&gt;/lower_bound 4548095 4756498 0.96<br>set&lt;uint32_t&gt;/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&lt;TestObject&gt; 7331530 7017260 1.04<br>sort/q_sort/vector&lt;TestObject&gt;/sorted 1601629 1247120 1.28 *<br>sort/q_sort/vector&lt;ValuePair&gt; 7071643 7067869 1.00<br>sort/q_sort/vector&lt;ValuePair&gt;/sorted 2136390 1703799 1.25 *<br>sort/q_sort/vector&lt;uint32&gt; 3292891 2943627 1.12 *<br>sort/q_sort/vector&lt;uint32&gt;/sorted 653693 473612 1.38 *<br><br>string&lt;char16_t&gt;/compare 356579259 432760228 0.82 *<br>string&lt;char16_t&gt;/erase/pos,n 3430422 3428645 1.00<br>string&lt;char16_t&gt;/find/p,pos,n 229263402 225830975 1.02<br>string&lt;char16_t&gt;/find_first_not_of/p,pos,n 187391 81404 2.30 *<br>string&lt;char16_t&gt;/find_first_of/p,pos,n 4411831 4413532 1.00<br>string&lt;char16_t&gt;/find_last_of/p,pos,n 731655 726155 1.01<br>string&lt;char16_t&gt;/insert/pos,p 3408628 3319726 1.03<br>string&lt;char16_t&gt;/iteration 309993861 310333547 1.00<br>string&lt;char16_t&gt;/operator[] 580839 579904 1.00<br>string&lt;char16_t&gt;/push_back 3983338 2975553 1.34 *<br>string&lt;char16_t&gt;/replace/pos,n,p,n 4361095 4211504 1.04<br>string&lt;char16_t&gt;/reserve 935141729 247010 100.00 *<br>string&lt;char16_t&gt;/rfind/p,pos,n 248956 223397 1.11 *<br>string&lt;char16_t&gt;/size 13311 13107 1.02<br>string&lt;char16_t&gt;/swap 519129 579445 0.90 *<br><br>string&lt;char8_t&gt;/compare 76695559 76828015 1.00<br>string&lt;char8_t&gt;/erase/pos,n 1951566 1947282 1.00<br>string&lt;char8_t&gt;/find/p,pos,n 185878944 185605039 1.00<br>string&lt;char8_t&gt;/find_first_not_of/p,pos,n 196877 81600 2.41 *<br>string&lt;char8_t&gt;/find_first_of/p,pos,n 4147685 4145356 1.00<br>string&lt;char8_t&gt;/find_last_of/p,pos,n 605897 598222 1.01<br>string&lt;char8_t&gt;/insert/pos,p 1781592 1768264 1.01<br>string&lt;char8_t&gt;/iteration 921502 921272 1.00<br>string&lt;char8_t&gt;/operator[] 361250 359873 1.00<br>string&lt;char8_t&gt;/push_back 3363288 2530493 1.33 *<br>string&lt;char8_t&gt;/replace/pos,n,p,n 2682600 2633130 1.02<br>string&lt;char8_t&gt;/reserve 672517501 78387 100.00 *<br>string&lt;char8_t&gt;/rfind/p,pos,n 226202 200013 1.13 *<br>string&lt;char8_t&gt;/size 11280 11109 1.02<br>string&lt;char8_t&gt;/swap 519393 559759 0.93<br><br>vector&lt;uint64&gt;/erase 55184856 55192217 1.00<br>vector&lt;uint64&gt;/insert 56764267 55682726 1.02<br>vector&lt;uint64&gt;/iteration 423122 424039 1.00<br>vector&lt;uint64&gt;/operator[] 1189397 860991 1.38 *<br>vector&lt;uint64&gt;/push_back 5626609 4027317 1.40 *<br>vector&lt;uint64&gt;/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>