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.
> > 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.
-- 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