[fpc-devel] TAVLTree(avl_tree.pp) thread safety : second proposition

Marc Weustink marc.weustink at cuperus.nl
Fri Aug 8 09:44:59 CEST 2008


Marco van de Voort wrote:
>> Marco van de Voort wrote:
>>>> Inoussa OUEDRAOGO wrote:
>>>>>  - TAVLManagedTree that uses a node mem manager provided in the constructor.
>>>>>    The developer using this one is _aware_ of the thread safety issue and can
>>>>>    then provide a thread safe node mem manager for an instance exposed
>>>> What is exactly the add-on value for the node mem manager?
>>> I can only think of heap fragmentation and reduction of creation overhead.
>> Yes, but fpc's memory manager also already does this (at least if the 
>> allocation size is less than 512 bytes or so).
> 
> But fpc's memory manager won't be always used. There is cmem, and a future
> sharemem as options too. And sharemem-likes are known to be slow.
> 
> The "memmanager might also do this" might be a reason to not enable it by
> default, but not a reason to eliminate the possibility all together.

I'm pro having a manged and an unmanaged avltree. One (big) disadvantage 
of the current implementation (with a shared node manager for all trees) 
is that you cannot add custom derived treenodes since they will be 
released in the pool too.

Marc




More information about the fpc-devel mailing list