MM     D2010   ScaleMM2 TCMalloc MSVCRT TopMM JeMalloc Hoard
Avg. Speed (100% is fastest, others are slower) 79% 100% 96,30% 61% 60,40% 47,10% 31,10%
Tests, grouped by type. Percentage is the duration versus baseline (D2010), so lower % is faster
Test Type Ticks (D2010) D2010 % Ticks (ScaleMM2) SMM% Ticks (TCMalloc) TC% Ticks (MSVCRT) MS% Ticks (TopMM) Top% Ticks (JEmallocFF) JE% Ticks (HoardMM) Hoard%
Fragmentation Test SingleThreadRealloc 1803 100 2008 111,4 1554 86,2 27230 1510,3 27243 1511,0 10904 604,8 27606 1531,1
ReallocMem benchmark SingleThreadRealloc 3324 100 5066 152,4 4228 127,2 34549 1039,4 13054 392,7 8754 263,4 107814 3243,5
Small upsize benchmark SingleThreadRealloc 670 100 757 113,0 1467 219,0 2652 395,8 10733 1601,9 2046 305,4 3948 589,3
Small downsize benchmark SingleThreadRealloc 742 100 971 130,9 1805 243,3 4117 554,9 10752 1449,1 3187 429,5 6471 872,1
Array Upsize 1 thread SingleThreadRealloc 13 100 14 107,7 23 176,9 180 1384,6 49 376,9 21 161,5 74634 574107,7
Single-threaded reallocate and use SingleThreadRealloc 7327 100 7495 102,3 8024 109,5 10669 145,6 11776 160,7 9846 134,4 25981 354,6
Block downsize SingleThreadRealloc 6297 100 9043 143,6 10373 164,7 1601715 25436,2 3301587 52431,1 24291 385,8 571795 9080,4
Single threaded realloc (ticks, lower is better)
Note: Hoard is out of range
Test Type Ticks (D2010) D2010 % Ticks (ScaleMM2) SMM% Ticks (TCMalloc) TC% Ticks (MSVCRT) MS% Ticks (TopMM) Top% Ticks (JEmallocFF) JE% Ticks (HoardMM) Hoard%
Block size spread benchmark SingleThreadAllocAndFree 628 100 1059 168,6 1210 192,7 1935 308,1 8822 1404,8 1806 287,6 2505 398,9
Raw Performance 1 thread SingleThreadAllocAndFree 3361 100 1939 57,7 2347 69,8 5221 155,3 6930 206,2 6332 188,4 106362 3164,6
Address space creep benchmark SingleThreadAllocAndFree 10622 100 13429 126,4 7906 74,4 21666 204,0 48876 460,1 14605 137,5 28050 264,1
Large block spread benchmark SingleThreadAllocAndFree 14727 100 14493 98,4 9320 63,3 12695 86,2 9764 66,3 12736 86,5 20481 139,1
Single-threaded allocate, use and free SingleThreadAllocAndFree 6832 100 7394 108,2 6296 92,2 8762 128,2 10286 150,6 8966 131,2 23004 336,7
MemFree1 SingleThreadAllocAndFree 29762 100 29809 100,2 29727 99,9 29878 100,4 30127 101,2 29746 99,9 31018 104,2
MemFree2 SingleThreadAllocAndFree 294 100 295 100,3 295 100,3 294 100,0 295 100,3 295 100,3 293 99,7
Single-threaded AllocMem SingleThreadAllocAndFree 12949 100 12843 99,2 12729 98,3 12909 99,7 12817 99,0 13279 102,5 25343 195,7
Address space creep (larger blocks) SingleThreadAllocAndFree 3102 100 5327 171,7 2539 81,9 7448 240,1 4776 154,0 22149 714,0 1534104 49455,3
Single threaded alloc+free (ticks, lower is better)
Note: Hoard is out of range
Test Type Ticks (D2010) D2010 % Ticks (ScaleMM2) SMM% Ticks (TCMalloc) TC% Ticks (MSVCRT) MS% Ticks (TopMM) Top% Ticks (JEmallocFF) JE% Ticks (HoardMM) Hoard%
Single Variables Access 6 arrays at a time MemoryAccessSpeed 1536 100 1534 99,9 1759 114,5 1642 106,9 1665 108,4 1788 116,4 1757 114,4
Double Variables Access 3 arrays at a time MemoryAccessSpeed 3891 100 3944 101,4 3980 102,3 3943 101,3 3970 102,0 3919 100,7 9097 233,8
Double Variables Access 6 arrays at a time MemoryAccessSpeed 3759 100 3758 100,0 3953 105,2 3814 101,5 4072 108,3 3963 105,4 9326 248,1
Double Variables Access 18 arrays at a time MemoryAccessSpeed 4039 100 4165 103,1 5555 137,5 4269 105,7 5831 144,4 5554 137,5 11419 282,7
Move Benchmark1 2 arrays at a time MemoryAccessSpeed 2084 100 2067 99,2 2042 98,0 2078 99,7 2099 100,7 2108 101,2 2160 103,6
Move Benchmark2 4 arrays at a time MemoryAccessSpeed 2132 100 2209 103,6 2144 100,6 2243 105,2 2138 100,3 2139 100,3 2282 107,0
FillCharMultiThread MemoryAccessSpeed 499 100 503 100,8 347 69,5 526 105,4 461 92,4 500 100,2 608 121,8
SortIntegerArrayBenchmark MemoryAccessSpeed 3239 100 3302 101,9 3189 98,5 3217 99,3 3265 100,8 3228 99,7 3215 99,3
SortExtendedArrayBenchmark MemoryAccessSpeed 1537 100 1635 106,4 1396 90,8 1322 86,0 1102 71,7 1544 100,5 1068 69,5
Linked-list container benchmark MemoryAccessSpeed 884 100 1291 146,0 962 108,8 941 106,4 1095 123,9 922 104,3 1321 149,4
QuickSortIntegerArrayBenchmark MemoryAccessSpeed 7145 100 7085 99,2 7166 100,3 7111 99,5 7233 101,2 7147 100,0 7098 99,3 t
QuickSortExtendedArrayBenchmark MemoryAccessSpeed 428 100 399 93,2 416 97,2 402 93,9 427 99,8 417 97,4 548 128,0
Memory acces speed (ticks, lower is better)
Test Type Ticks (D2010) D2010 % Ticks (ScaleMM2) SMM% Ticks (TCMalloc) TC% Ticks (MSVCRT) MS% Ticks (TopMM) Top% Ticks (JEmallocFF) JE% Ticks (HoardMM) Hoard%
Multi-threaded allocate, use and free MultiThreadAllocAndFree 7584 100 4308 56,8 4754 62,7 5324 70,2 5497 72,5 18842 248,4 36914 486,7
Transient threaded objects MultiThreadAllocAndFree 3362 100 740 22,0 1372 40,8 3803 113,1 5804 172,6 44592 1326,4 19827 589,7
Raw Performance 8 threads MultiThreadAllocAndFree 15139 100 1942 12,8 2587 17,1 7382 48,8 7131 47,1 54506 360,0 1015099 6705,2
Multi threaded alloc+free (ticks, lower is better)
Note: Hoard is out of range (not even visible!)
Test Type Ticks (D2010) D2010 % Ticks (ScaleMM2) SMM% Ticks (TCMalloc) TC% Ticks (MSVCRT) MS% Ticks (TopMM) Top% Ticks (JEmallocFF) JE% Ticks (HoardMM) Hoard%
Multi-threaded reallocate and use MultiThreadRealloc 2980 100 2521 84,6 2769 92,9 3028 101,6 3206 107,6 7840 263,1 19779 663,7
NexusDB with 1 thread(s) MultiThreadRealloc 9959 100 11695 117,4 15486 155,5 50571 507,8 43318 435,0 20537 206,2 60706 609,6
NexusDB with 2 thread(s) MultiThreadRealloc 9131 100 6053 66,3 7989 87,5 26081 285,6 22166 242,8 17002 186,2 76951 842,7
NexusDB with 4 thread(s) MultiThreadRealloc 8665 100 3212 37,1 4217 48,7 14709 169,8 11627 134,2 24507 282,8 109620 1265,1
NexusDB with 8 thread(s) MultiThreadRealloc 7635 100 3306 43,3 4385 57,4 13985 183,2 12048 157,8 25283 331,1 91517 1198,7
ManyShortLivedThreads MultiThreadRealloc 2093 100 1881 89,9 751 35,9 2072 99,0 2285 109,2 4445 212,4 4667 223,0
StringThreadTest MultiThreadRealloc 10502 100 16503 157,1 4365 41,6 5936 56,5 4353 41,4 30601 291,4 9475 90,2
Multi threaded realloc (ticks, lower is better)
Note: Hoard is out of range