|
|
|
|
|
by DevelopingElk
529 days ago
|
|
The reason linked lists are used is for large enough allocations, there is no overhead. You use the space the application isn't using. In addition, if all allocations are the same size it is O(1), you just look at the head of the list. More sophisticated strategies bucket allocations by size, this has fixed overhead. You can also use balanced trees for more memory efficiency, but this is slower. For small allocations (8 bytes) that are too small to contain pointers allocators will allocate a block and use bitsets. |
|