Boost logo

Boost :

From: Achilleas Margaritis (axilmar_at_[hidden])
Date: 2007-09-20 06:00:26


I think std::list is slower than my list (I could be wrong of course),
because it allocates memory from the heap for each node, whereas my list
requires the elements to have the node embedded in them, and so blocks
are also nodes.

As for pool, I wasn't aware that boost had one, and I am not sure it is
useful. If, in the end, we find that it's good to have a pool, and if
the library is accepted in boost, I will use the boost pool, provided
that it is fast enough for the collector. My pool uses the same trick as
the list, i.e. the elements must also be nodes.

I will try to run a test to see if boost's pool is efficient enough for
the collector.

The most important thing in this type of software is to try to keep as
much as possible in the cache, and having linked list nodes embedded
into the elements is one way to achieve less cache thrashing.

Larry Evans wrote:
> On 09/16/07 16:56, Achilleas Margaritis wrote:
> [snip]
>> You can find a new version of my portable precise C++ garbage collector
>> in vault/memory.
> [snip]
> Why doesn't cppgc.hpp use std::list instead of _list defined in
> cppgc.hpp and why isn't the boost pool:
>
> http://www.boost.org/libs/pool/doc/index.html
>
> used instead of the _pool of cppgc.hpp?
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk