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
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel