Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-05-17 11:24:00


On Wednesday 17 May 2006 19:15, Alex Besogonov wrote:
> Vladimir Prus wrote:
> >> 1. A good intrusive single-linked list implementation with refcounted
> >> nodes. Currently I'm using boost::shared_ptr<std::list<jam_string> > and
> >> its performance is far from stellar.
> >
> > I think that Boost.Jam::list.h is pretty good one ;-)
>
> I ended up writing my own implementation. It uses refcounting, custom
> allocation, provides iterators and works a little bit faster than list.h

Did you profile this?

> It even stores one list node directly in the list object, so most
> operations don't require heap allocations at all.

Looks pretty cool.

> >> 2. A good hash_map implementation. Currently I'm using stdext::hash_map
> >> on MSVC and std::map on other compilers. It would be better to have
> >> in-tree hash_map implementation.
> >
> > I think that Boost.Jam::hash.h is pretty good one ;-)
>
> Not really, it's not very fast

Hmm... there were some smarts, so I'm a bit surprised to hear that.

> and doesn't support
> constructors/destructors. I'm going to try Google's hashtable - it is
> BSD-licensed and seems to be good enough.

Ok.

>
> > I'd really want to keep dependencies to the minimum.
>
> We can just include them into BJamC++ source tree.

Well, if the size of that code is reasonable (i.e. it's not half of boost
headers), that would be fine.

- Volodya

-- 
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build V2: http://boost.org/boost-build2

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk