On Oct 18, 2012, at 12:22 PM, Jacob Carlborg <[email protected]> wrote:

> On 2012-10-18 20:54, Sean Kelly wrote:
> 
>> And back down to a local pool when shared is cast away.  Assuming the block 
>> is even movable.  I agree that this would be the most efficient use of 
>> memory, but I don't know that it's feasible.
> 
> You said the thread local heap would be merged with the global on thread 
> termination. How is that different?
> 
> Alternative it could stay in the global heap. I mean, not many variables 
> should be "shared" and even fewer should be casted back and forth.

It's different in that a variable's address never actually changes.  When a 
thread completes it hands all of its pools to the shared allocator, and then 
per-thread allocators request free pools from the shared allocator before going 
to the OS.  This is basically how the HOARD allocator works.

Reply via email to