Advertisement
Redee

Бенчмарк EASTL

Feb 18th, 2018
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 22.55 KB | None | 0 0
  1. Microsoft Windows [Version 10.0.10586]
  2. (c) Корпорация Майкрософт (Microsoft Corporation), 2015. Все права защищены.
  3.  
  4. d:\Downloads\EASTL-3.07.00\build\benchmark\Release>EASTLBenchmarks.exe
  5. Options
  6.    -w     Wait at end.
  7.    -l:N   Test level in range of [1, 10]. 10 means maximum testing.
  8.    -s:N   Specify a randomization seed. 0 is default and means use clock.
  9.    -?     Show help.
  10. Algorithm
  11. List
  12. String
  13. Vector
  14. vector<AutoRefCount>/erase std counts: 0 2048
  15. vector<AutoRefCount>/erase EA counts: 0 2048
  16. vector<AutoRefCount>/erase std counts: 0 2048
  17. vector<AutoRefCount>/erase EA counts: 0 2048
  18. Deque
  19. Set
  20. Map
  21. HashMap
  22. Heap (Priority Queue)
  23. Bitset
  24. Sort
  25.  
  26. ****************************************************************************************
  27. EASTL Benchmark test results
  28. ****************************************************************************************
  29.  
  30. EASTL version: 3.07.00
  31. Platform: Windows on x64
  32. Compiler: Microsoft Visual C++ compiler, version 1900
  33. Allocator: PPMalloc::GeneralAllocator. Thread safety enabled.
  34. Build: Full optimization. Inlining enabled.
  35.  
  36. Values are ticks and time to complete tests; smaller values are better.
  37.  
  38. Test                                                 VC++ Dinkumware                     EASTL        Ratio  Difference?
  39. ---------------------------------------------------------------------------------------------------------------------
  40. algorithm/adj_find/vector<TestObject>      |        300932  300.9 us |        289227  289.2 us |       1.04
  41. algorithm/copy/vector<LargePOD>            |        130643  130.6 us |        107610  107.6 us |       1.21
  42. algorithm/copy/vector<uint32_t>            |          1510    1.5 us |          1511    1.5 us |       1.00
  43. algorithm/copy_backward/vector<LargePOD>   |        120448  120.4 us |        120071  120.1 us |       1.00
  44. algorithm/copy_backward/vector<uint32_t>   |          1133    1.1 us |          1133    1.1 us |       1.00
  45. algorithm/count/vector<uint64_t>           |        261286  261.3 us |        120448  120.4 us |       2.17         +
  46. algorithm/equal_range/vector<uint64_t>     |       7140433    7.1 ms |      12142624   12.1 ms |       0.59         -
  47. algorithm/fill/bool[]                      |          2266    2.3 us |          2266    2.3 us |       1.00
  48. algorithm/fill/char[]/'d'                  |          2266    2.3 us |          2643    2.6 us |       0.86
  49. algorithm/fill/vector<char>/'d'            |          1888    1.9 us |          2643    2.6 us |       0.71         -
  50. algorithm/fill/vector<char>/0              |         40779   40.8 us |          2265    2.3 us |      18.00         +
  51. algorithm/fill/vector<uint64_t>            |         37758   37.8 us |         18879   18.9 us |       2.00         +
  52. algorithm/fill/vector<void*>               |         37380   37.4 us |         37003   37.0 us |       1.01
  53. algorithm/fill_n/bool[]                    |          2643    2.6 us |          2643    2.6 us |       1.00
  54. algorithm/fill_n/char[]                    |          2643    2.6 us |          2643    2.6 us |       1.00
  55. algorithm/fill_n/vector<uint64_t>          |         15858   15.9 us |         18501   18.5 us |       0.86
  56. algorithm/find_end/string/end              |        311881  311.9 us |         66454   66.5 us |       4.69         +
  57. algorithm/find_end/string/middle           |        311881  311.9 us |        532767  532.8 us |       0.59         -
  58. algorithm/find_end/string/none             |        312260  312.3 us |       1065156    1.1 ms |       0.29         -
  59. algorithm/lex_cmp/schar[]                  |         60790   60.8 us |         12083   12.1 us |       5.03         +
  60. algorithm/lex_cmp/vector<TestObject>       |        261286  261.3 us |        348884  348.9 us |       0.75         -
  61. algorithm/lex_cmp/vector<uchar>            |          9062    9.1 us |         10949   10.9 us |       0.83
  62. algorithm/lower_bound/vector<TestObject>   |      13244783   13.2 ms |      11908902   11.9 ms |       1.11
  63. algorithm/min_element/vector<TestObject>   |        516153  516.2 us |        473864  473.9 us |       1.09
  64. algorithm/rand_shuffle/vector<uint64_t>    |       1730076    1.7 ms |       1747067    1.7 ms |       0.99
  65. algorithm/reverse/list<TestObject>         |         44555   44.6 us |         43422   43.4 us |       1.03
  66. algorithm/reverse/vector<TestObject>       |         29829   29.8 us |         30206   30.2 us |       0.99
  67. algorithm/rotate/list<TestObject large>    |         87599   87.6 us |         86089   86.1 us |       1.02
  68. algorithm/rotate/list<TestObject small>    |           378  378.0 ns |           377  377.0 ns |       1.00
  69. algorithm/rotate/list<int32_t> large       |         65699   65.7 us |         66832   66.8 us |       0.98
  70. algorithm/rotate/list<int32_t> small       |             0    0.0 ns |           378  378.0 ns |       0.00
  71. algorithm/rotate/slist<int32_t> large      |             0    0.0 ns |         58902   58.9 us |       0.00
  72. algorithm/rotate/vector<SizedPOD<32>> large |         21145   21.1 us |         18501   18.5 us |       1.14
  73. algorithm/rotate/vector<TestObject large>  |         59280   59.3 us |         29074   29.1 us |       2.04         +
  74. algorithm/rotate/vector<TestObject small>  |             0    0.0 ns |             0    0.0 ns |  -nan(ind)
  75. algorithm/rotate/vector<int32_t large>     |          6796    6.8 us |          9817    9.8 us |       0.69         -
  76. algorithm/rotate/vector<int32_t small>     |             0    0.0 ns |             0    0.0 ns |  -nan(ind)
  77. algorithm/search/string<char>              |        390041  390.0 us |        146501  146.5 us |       2.66         +
  78. algorithm/search_n/string<char>            |         97416   97.4 us |         97416   97.4 us |       1.00
  79. algorithm/unique/vector<TestObject>        |        708342  708.3 us |        996436  996.4 us |       0.71         -
  80. algorithm/unique/vector<uint32_t>          |         73251   73.3 us |         70608   70.6 us |       1.04
  81. algorithm/unique/vector<uint64_t>          |        195587  195.6 us |        220130  220.1 us |       0.89
  82. algorithm/upper_bound/vector<uint32_t>     |       6401129    6.4 ms |       4944799    4.9 ms |       1.29         +
  83.  
  84. bitset<1500>/>>=/1                         |       1391386    1.4 ms |       1498241    1.5 ms |       0.93
  85. bitset<1500>/count                         |      10932477   10.9 ms |       2685356    2.7 ms |       4.07         +
  86. bitset<1500>/flip                          |       1758772    1.8 ms |        713250  713.3 us |       2.47         +
  87. bitset<1500>/reset                         |       1677215    1.7 ms |       1276978    1.3 ms |       1.31         +
  88. bitset<1500>/set()                         |        990017  990.0 us |        912235  912.2 us |       1.09
  89. bitset<1500>/set(i)                        |        182749  182.7 us |        182372  182.4 us |       1.00
  90. bitset<1500>/test                          |        167268  167.3 us |        217487  217.5 us |       0.77         -
  91.  
  92. bitset<15>/>>=/1                           |        341334  341.3 us |        182372  182.4 us |       1.87         +
  93. bitset<15>/count                           |        490100  490.1 us |        303953  304.0 us |       1.61         +
  94. bitset<15>/flip                            |        182749  182.7 us |        182372  182.4 us |       1.00
  95. bitset<15>/reset                           |        182371  182.4 us |        182750  182.8 us |       1.00
  96. bitset<15>/set()                           |        182372  182.4 us |        182749  182.7 us |       1.00
  97. bitset<15>/set(i)                          |        182749  182.7 us |        182372  182.4 us |       1.00
  98. bitset<15>/test                            |        164247  164.2 us |        167269  167.3 us |       0.98
  99.  
  100. bitset<35>/>>=/1                           |        329250  329.3 us |        182371  182.4 us |       1.81         +
  101. bitset<35>/count                           |        645663  645.7 us |        303953  304.0 us |       2.12         +
  102. bitset<35>/flip                            |        182372  182.4 us |        218619  218.6 us |       0.83
  103. bitset<35>/reset                           |        182371  182.4 us |        182749  182.7 us |       1.00
  104. bitset<35>/set()                           |        182371  182.4 us |        182372  182.4 us |       1.00
  105. bitset<35>/set(i)                          |        182372  182.4 us |        182749  182.7 us |       1.00
  106. bitset<35>/test                            |        203139  203.1 us |        166891  166.9 us |       1.22
  107.  
  108. bitset<75>/>>=/1                           |        364743  364.7 us |        213333  213.3 us |       1.71         +
  109. bitset<75>/count                           |       1283020    1.3 ms |        366631  366.6 us |       3.50         +
  110. bitset<75>/flip                            |        302820  302.8 us |        678890  678.9 us |       0.45         -
  111. bitset<75>/reset                           |        212578  212.6 us |        212578  212.6 us |       1.00
  112. bitset<75>/set()                           |        243540  243.5 us |        212955  213.0 us |       1.14
  113. bitset<75>/set(i)                          |        181994  182.0 us |        181994  182.0 us |       1.00
  114. bitset<75>/test                            |        167268  167.3 us |        213333  213.3 us |       0.78
  115.  
  116. deque<ValuePair>/erase                     |       7515748    7.5 ms |       9418000    9.4 ms |       0.80
  117. deque<ValuePair>/find                      |       1142182    1.1 ms |        259398  259.4 us |       4.40         +
  118. deque<ValuePair>/insert                    |       9460667    9.5 ms |      10551121   10.6 ms |       0.90
  119. deque<ValuePair>/iteration                 |             0    0.0 ns |        131775  131.8 us |       0.00
  120. deque<ValuePair>/operator[]                |       1517875    1.5 ms |        336425  336.4 us |       4.51         +
  121. deque<ValuePair>/push_back                 |       2902842    2.9 ms |        655480  655.5 us |       4.43         +
  122. deque<ValuePair>/push_front                |       2859798    2.9 ms |        742701  742.7 us |       3.85         +
  123. deque<ValuePair>/sort                      |      37311792   37.3 ms |      23787976   23.8 ms |       1.57         +
  124.  
  125. hash_map<string, uint32_t>/clear           |        112897  112.9 us |        154431  154.4 us |       0.73         -
  126. hash_map<string, uint32_t>/count           |        749120  749.1 us |        328118  328.1 us |       2.28         +
  127. hash_map<string, uint32_t>/erase pos       |         22277   22.3 us |         26431   26.4 us |       0.84
  128. hash_map<string, uint32_t>/erase range     |          9440    9.4 us |         10573   10.6 us |       0.89
  129. hash_map<string, uint32_t>/erase val       |        389286  389.3 us |        247693  247.7 us |       1.57         +
  130. hash_map<string, uint32_t>/find            |        648684  648.7 us |        308106  308.1 us |       2.11         +
  131. hash_map<string, uint32_t>/find_as/char*   |        796696  796.7 us |        291493  291.5 us |       2.73         +
  132. hash_map<string, uint32_t>/insert          |       1541286    1.5 ms |       1154265    1.2 ms |       1.34         +
  133. hash_map<string, uint32_t>/iteration       |         57770   57.8 us |         43045   43.0 us |       1.34         +
  134. hash_map<string, uint32_t>/operator[]      |        687574  687.6 us |        344732  344.7 us |       1.99         +
  135.  
  136. hash_map<uint32_t, TestObject>/clear       |        115539  115.5 us |        166890  166.9 us |       0.69         -
  137. hash_map<uint32_t, TestObject>/count       |        279033  279.0 us |         84956   85.0 us |       3.28         +
  138. hash_map<uint32_t, TestObject>/erase pos   |         19635   19.6 us |         27186   27.2 us |       0.72         -
  139. hash_map<uint32_t, TestObject>/erase range |         11705   11.7 us |          9439    9.4 us |       1.24
  140. hash_map<uint32_t, TestObject>/erase val   |        272614  272.6 us |        157074  157.1 us |       1.74         +
  141. hash_map<uint32_t, TestObject>/find        |        262796  262.8 us |         93262   93.3 us |       2.82         +
  142. hash_map<uint32_t, TestObject>/insert      |       1214300    1.2 ms |        735528  735.5 us |       1.65         +
  143. hash_map<uint32_t, TestObject>/iteration   |         40779   40.8 us |         20767   20.8 us |       1.96         +
  144. hash_map<uint32_t, TestObject>/operator[]  |        302443  302.4 us |        153297  153.3 us |       1.97         +
  145.  
  146. heap (uint32_t[])/make_heap                |        198607  198.6 us |        198230  198.2 us |       1.00
  147. heap (uint32_t[])/pop_heap                 |       6225176    6.2 ms |       6236126    6.2 ms |       1.00
  148. heap (uint32_t[])/push_heap                |       1404978    1.4 ms |       1184471    1.2 ms |       1.19
  149. heap (uint32_t[])/sort_heap                |       4210027    4.2 ms |       3848304    3.8 ms |       1.09
  150.  
  151. heap (vector<TestObject>)/make_heap        |       1037970    1.0 ms |        918654  918.7 us |       1.13
  152. heap (vector<TestObject>)/pop_heap         |      15482705   15.5 ms |      16455731   16.5 ms |       0.94
  153. heap (vector<TestObject>)/push_heap        |       2612104    2.6 ms |       1996271    2.0 ms |       1.31         +
  154. heap (vector<TestObject>)/sort_heap        |      10265670   10.3 ms |      10059888   10.1 ms |       1.02
  155.  
  156. list<TestObject>/ctor(it)                  |       6382628    6.4 ms |       5272162    5.3 ms |       1.21
  157. list<TestObject>/ctor(n)                   |        510489  510.5 us |        492743  492.7 us |       1.04
  158. list<TestObject>/erase                     |      29029930   29.0 ms |      35078400   35.1 ms |       0.83
  159. list<TestObject>/find                      |       4400705    4.4 ms |       4251561    4.3 ms |       1.04
  160. list<TestObject>/insert                    |       8353222    8.4 ms |       7376044    7.4 ms |       1.13
  161. list<TestObject>/push_back                 |       5624067    5.6 ms |       5703737    5.7 ms |       0.99
  162. list<TestObject>/remove                    |      69077672   69.1 ms |      88095288   88.1 ms |       0.78
  163. list<TestObject>/reverse                   |       5182298    5.2 ms |       4190393    4.2 ms |       1.24
  164. list<TestObject>/size/1                    |         15480   15.5 us |         15104   15.1 us |       1.02
  165. list<TestObject>/size/10                   |         15481   15.5 us |         15103   15.1 us |       1.03
  166. list<TestObject>/size/100                  |         15481   15.5 us |         15103   15.1 us |       1.03
  167. list<TestObject>/splice                    |       4612906    4.6 ms |       3790157    3.8 ms |       1.22
  168.  
  169. map<TestObject, uint32_t>/clear            |         30584   30.6 us |         32472   32.5 us |       0.94
  170. map<TestObject, uint32_t>/count            |       1804459    1.8 ms |       1279244    1.3 ms |       1.41         +
  171. map<TestObject, uint32_t>/equal_range      |       1841462    1.8 ms |       1094985    1.1 ms |       1.68         +
  172. map<TestObject, uint32_t>/erase/key        |       1057227    1.1 ms |        624141  624.1 us |       1.69         +
  173. map<TestObject, uint32_t>/erase/pos        |         34737   34.7 us |         31717   31.7 us |       1.10
  174. map<TestObject, uint32_t>/erase/range      |         11705   11.7 us |         11328   11.3 us |       1.03
  175. map<TestObject, uint32_t>/find             |       1236577    1.2 ms |       1024755    1.0 ms |       1.21
  176. map<TestObject, uint32_t>/insert           |       1859964    1.9 ms |       1366843    1.4 ms |       1.36         +
  177. map<TestObject, uint32_t>/iteration        |         72495   72.5 us |         70230   70.2 us |       1.03
  178. map<TestObject, uint32_t>/lower_bound      |       1176920    1.2 ms |       1023244    1.0 ms |       1.15
  179. map<TestObject, uint32_t>/operator[]       |       1075350    1.1 ms |       1013805    1.0 ms |       1.06
  180. map<TestObject, uint32_t>/upper_bound      |       1107445    1.1 ms |       1042123    1.0 ms |       1.06
  181.  
  182. set<uint32_t>/clear                        |         16991   17.0 us |         26053   26.1 us |       0.65         -
  183. set<uint32_t>/count                        |       1658335    1.7 ms |        885805  885.8 us |       1.87         +
  184. set<uint32_t>/equal_range                  |       1869780    1.9 ms |        962076  962.1 us |       1.94         +
  185. set<uint32_t>/erase range                  |         11705   11.7 us |         10950   10.9 us |       1.07
  186. set<uint32_t>/erase/pos                    |         33982   34.0 us |         31717   31.7 us |       1.07
  187. set<uint32_t>/erase/val                    |        937911  937.9 us |        582607  582.6 us |       1.61         +
  188. set<uint32_t>/find                         |        963586  963.6 us |        908460  908.5 us |       1.06
  189. set<uint32_t>/insert                       |       1779161    1.8 ms |       1266407    1.3 ms |       1.40         +
  190. set<uint32_t>/iteration                    |         63434   63.4 us |         67587   67.6 us |       0.94
  191. set<uint32_t>/lower_bound                  |        960566  960.6 us |        939044  939.0 us |       1.02
  192. set<uint32_t>/upper_bound                  |        950749  950.7 us |        858619  858.6 us |       1.11
  193.  
  194. sort/q_sort/TestObject[]                   |        788767  788.8 us |        626029  626.0 us |       1.26
  195. sort/q_sort/TestObject[]/sorted            |        105723  105.7 us |         75139   75.1 us |       1.41         +
  196. sort/q_sort/vector<TestObject>             |        790277  790.3 us |        624897  624.9 us |       1.26
  197. sort/q_sort/vector<TestObject>/sorted      |        105722  105.7 us |         75139   75.1 us |       1.41         +
  198. sort/q_sort/vector<ValuePair>              |        668696  668.7 us |        550513  550.5 us |       1.21
  199. sort/q_sort/vector<ValuePair>/sorted       |        126490  126.5 us |         88354   88.4 us |       1.43         +
  200. sort/q_sort/vector<uint32>                 |        552779  552.8 us |        479528  479.5 us |       1.15
  201. sort/q_sort/vector<uint32>/sorted          |         81558   81.6 us |         46064   46.1 us |       1.77         +
  202.  
  203. string<char16_t>/compare                   |      20469416   20.5 ms |      21281592   21.3 ms |       0.96
  204. string<char16_t>/erase/pos,n               |        589404  589.4 us |         63811   63.8 us |       9.24         +
  205. string<char16_t>/find/p,pos,n              |      30898580   30.9 ms |      15389065   15.4 ms |       2.01         +
  206. string<char16_t>/find_first_not_of/p,pos,n |          6041    6.0 us |          9062    9.1 us |       0.67         -
  207. string<char16_t>/find_first_of/p,pos,n     |        326230  326.2 us |        325853  325.9 us |       1.00
  208. string<char16_t>/find_last_of/p,pos,n      |         88354   88.4 us |         87599   87.6 us |       1.01
  209. string<char16_t>/insert/pos,p              |        640377  640.4 us |         82690   82.7 us |       7.74         +
  210. string<char16_t>/iteration                 |      20306680   20.3 ms |      20041994   20.0 ms |       1.01
  211. string<char16_t>/operator[]                |         61545   61.5 us |         53239   53.2 us |       1.16
  212. string<char16_t>/push_back                 |        481793  481.8 us |        454230  454.2 us |       1.06
  213. string<char16_t>/replace/pos,n,p,n         |        786124  786.1 us |        102324  102.3 us |       7.68         +
  214. string<char16_t>/reserve                   |         76271   76.3 us |      20143940   20.1 ms |       0.00         -
  215. string<char16_t>/rfind/p,pos,n             |         67587   67.6 us |         11705   11.7 us |       5.77         +
  216. string<char16_t>/size                      |          1510    1.5 us |          2266    2.3 us |       0.67         -
  217. string<char16_t>/swap                      |         36248   36.2 us |         75894   75.9 us |       0.48         -
  218.  
  219. string<char8_t>/compare                    |       2840163    2.8 ms |       2995727    3.0 ms |       0.95
  220. string<char8_t>/erase/pos,n                |         27186   27.2 us |         27186   27.2 us |       1.00
  221. string<char8_t>/find/p,pos,n               |       3784871    3.8 ms |      17592250   17.6 ms |       0.22         -
  222. string<char8_t>/find_first_not_of/p,pos,n  |          7929    7.9 us |          8685    8.7 us |       0.91
  223. string<char8_t>/find_first_of/p,pos,n      |        598843  598.8 us |        327741  327.7 us |       1.83         +
  224. string<char8_t>/find_last_of/p,pos,n       |        137062  137.1 us |         54749   54.7 us |       2.50         +
  225. string<char8_t>/insert/pos,p               |         34738   34.7 us |         34737   34.7 us |       1.00
  226. string<char8_t>/iteration                  |        123847  123.8 us |        123469  123.5 us |       1.00
  227. string<char8_t>/operator[]                 |         88354   88.4 us |         53239   53.2 us |       1.66         +
  228. string<char8_t>/push_back                  |        346620  346.6 us |        358702  358.7 us |       0.97
  229. string<char8_t>/replace/pos,n,p,n          |         54749   54.7 us |         59658   59.7 us |       0.92
  230. string<char8_t>/reserve                    |         30584   30.6 us |      13228169   13.2 ms |       0.00         -
  231. string<char8_t>/rfind/p,pos,n              |         33982   34.0 us |         47953   48.0 us |       0.71         -
  232. string<char8_t>/size                       |          1510    1.5 us |          2643    2.6 us |       0.57         -
  233. string<char8_t>/swap                       |         48708   48.7 us |        132531  132.5 us |       0.37         -
  234.  
  235. vector<AutoRefCount>/erase                 |       1301144    1.3 ms |       1305675    1.3 ms |       1.00
  236.  
  237. vector<MovableType>/erase                  |     106408344  106.4 ms |     108008528  108.0 ms |       0.99
  238. vector<MovableType>/reallocate             |       1066667    1.1 ms |       1051940    1.1 ms |       1.01
  239.  
  240. vector<uint64>/erase                       |       2299090    2.3 ms |       2248494    2.2 ms |       1.02
  241. vector<uint64>/insert                      |       8110060    8.1 ms |       3082949    3.1 ms |       2.63         +
  242. vector<uint64>/iteration                   |         32850   32.9 us |         32849   32.8 us |       1.00
  243. vector<uint64>/operator[]                  |         65321   65.3 us |         40023   40.0 us |       1.63         +
  244. vector<uint64>/push_back                   |        901285  901.3 us |        701168  701.2 us |       1.29
  245. vector<uint64>/sort                        |       6267466    6.3 ms |       5846463    5.8 ms |       1.07
  246.  
  247. sum                                        |     534653436  534.7 ms |     546871197  546.9 ms |       0.98
  248.  
  249. ****************************************************************************************
  250.  
  251. Time to complete all tests:    2.35 s.
  252. RETURNCODE=0
  253.  
  254. d:\Downloads\EASTL-3.07.00\build\benchmark\Release>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement