The implementation used the heap component to control system memory and hence provides all the features available within that memory manager. (including leak detection)
calloc, cfree, memFindMax, memInit, memLibInit, memOptionsSet, memPartFindMax, memPartOptionsSet, memPartRealloc, memalign, realloc, valloc
free, malloc, memAddToPool, memPartAddToPool, memPartAlignedAlloc, memPartAlloc, memPartBlockIsValid, memPartCreate, memPartFree, memPartInit, memPartLibInit
memShow, memShow, memPartInfoGet, memParShow
This implementation relies on the sbrk() function to provide memory chunks to feed the standard heap.
calloc, cfree, free, malloc, memalign, realloc, valloc
Native memory management (./test/mallocTest ) | lubheap memory management (./test/lubMallocTest ) |
100 in 0 milliseconds 200 in 0 milliseconds 300 in 0 milliseconds 400 in 0 milliseconds 500 in 1 milliseconds 1000 in 3 milliseconds 2000 in 7 milliseconds 3000 in 12 milliseconds 4000 in 16 milliseconds 5000 in 21 milliseconds 10000 in 48 milliseconds 15000 in 79 milliseconds 20000 in 143 milliseconds 25000 in 200 milliseconds 30000 in 253 milliseconds 35000 in 314 milliseconds 40000 in 378 milliseconds 45000 in 460 milliseconds 50000 in 561 milliseconds 60000 in 790 milliseconds 70000 in 1036 milliseconds 80000 in 1320 milliseconds 90000 in 1653 milliseconds 100000 in 2037 milliseconds | 100 in 0 milliseconds 200 in 0 milliseconds 300 in 0 milliseconds 400 in 1 milliseconds 500 in 1 milliseconds 1000 in 3 milliseconds 2000 in 6 milliseconds 3000 in 9 milliseconds 4000 in 11 milliseconds 5000 in 13 milliseconds 10000 in 37 milliseconds 15000 in 49 milliseconds 20000 in 61 milliseconds 25000 in 75 milliseconds 30000 in 89 milliseconds 35000 in 99 milliseconds 40000 in 113 milliseconds 45000 in 125 milliseconds 50000 in 138 milliseconds 60000 in 177 milliseconds 70000 in 203 milliseconds 80000 in 228 milliseconds 90000 in 254 milliseconds 100000 in 277 milliseconds |
Native memory management (./test/mallocTest ) | lubheap memory management (./test/lubMallocTest ) |
100 in 0 milliseconds 200 in 0 milliseconds 300 in 0 milliseconds 400 in 1 milliseconds 500 in 1 milliseconds 1000 in 3 milliseconds 2000 in 7 milliseconds 3000 in 12 milliseconds 4000 in 16 milliseconds 5000 in 21 milliseconds 10000 in 46 milliseconds 15000 in 76 milliseconds 20000 in 111 milliseconds 25000 in 151 milliseconds 30000 in 199 milliseconds 35000 in 256 milliseconds 40000 in 318 milliseconds 45000 in 393 milliseconds 50000 in 472 milliseconds 60000 in 658 milliseconds 70000 in 874 milliseconds 80000 in 1121 milliseconds 90000 in 1411 milliseconds 100000 in 1745 milliseconds | 100 in 0 milliseconds 200 in 0 milliseconds 300 in 1 milliseconds 400 in 1 milliseconds 500 in 1 milliseconds 1000 in 4 milliseconds 2000 in 7 milliseconds 3000 in 11 milliseconds 4000 in 13 milliseconds 5000 in 15 milliseconds 10000 in 42 milliseconds 15000 in 57 milliseconds 20000 in 72 milliseconds 25000 in 89 milliseconds 30000 in 105 milliseconds 35000 in 121 milliseconds 40000 in 136 milliseconds 45000 in 154 milliseconds 50000 in 169 milliseconds 60000 in 213 milliseconds 70000 in 246 milliseconds 80000 in 278 milliseconds 90000 in 311 milliseconds 100000 in 341 milliseconds |
sbrk()
call via the cygwin sub-system which slows the lubheap implementation... Native memory management (./test/mallocTest ) | lubheap memory management (./test/lubMallocTest ) |
100 in 1 milliseconds 200 in 0 milliseconds 300 in 1 milliseconds 400 in 1 milliseconds 500 in 1 milliseconds 1000 in 2 milliseconds 2000 in 6 milliseconds 3000 in 10 milliseconds 4000 in 12 milliseconds 5000 in 15 milliseconds 10000 in 33 milliseconds 15000 in 54 milliseconds 20000 in 137 milliseconds 25000 in 174 milliseconds 30000 in 227 milliseconds 35000 in 230 milliseconds 40000 in 245 milliseconds 45000 in 273 milliseconds 50000 in 327 milliseconds 60000 in 356 milliseconds 70000 in 406 milliseconds 80000 in 484 milliseconds 90000 in 504 milliseconds 100000 in 575 milliseconds | 100 in 1 milliseconds 200 in 2 milliseconds 300 in 3 milliseconds 400 in 3 milliseconds 500 in 4 milliseconds 1000 in 10 milliseconds 2000 in 18 milliseconds 3000 in 28 milliseconds 4000 in 35 milliseconds 5000 in 80 milliseconds 10000 in 135 milliseconds 15000 in 171 milliseconds 20000 in 204 milliseconds 25000 in 264 milliseconds 30000 in 302 milliseconds 35000 in 379 milliseconds 40000 in 408 milliseconds 45000 in 532 milliseconds 50000 in 496 milliseconds 60000 in 639 milliseconds 70000 in 750 milliseconds 80000 in 812 milliseconds 90000 in 931 milliseconds 100000 in 1054 milliseconds |