|
Boost-Build : |
From: Alex Besogonov (cyberax_at_[hidden])
Date: 2006-05-17 11:52:17
Vladimir Prus wrote:
>> 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?
Yes, I constantly profile my code with Rational Quantify. That does
wonders for performance
>> >> 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.
BJam's hashmap is a straightforward canonic hashmap. Google's hashmap
has some clever tricks (minimizing cache misses, better collision
resolution, etc) so sometimes it works MUCH faster.
BTW, Google has a pure C version of their hashtable. It might be
possible to plug it into the existing BJam code and gain some
performance benefits.
>> > 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.
It's about 60 kilobytes.
-- With respect, Alex Besogonov (cyberax_at_[hidden])
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