|
Boost-Build : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-02-10 10:42:14
Vladimir Prus <ghost_at_[hidden]> writes:
> Hi,
> I've just comitted a big diff, which changes the way we deal with
> properties. Instead of using plain jam lists, a class called
> 'property-set' is employed.
>
> The primary reason in speed. The new design allows to cleanly speed up
> several operations, such as "what are free properties in this property set",
> and so on.
Wow, it's kind of surprising that adding a class layer (whose
mechanisms, after all, are built in pure bjam code) speeds things up
much. I suppose you might cache some information...
> Handling properties the new ways looks simpler to me, as well.
Well, great!
> At this moment, I've switched most of the code to using the new class, and
> see about 5x speedup on two use cases.
Fabulous!
> I also see that execution profile changed considerably: the code
> which does header scanning becomes hot spot.
:-). Now you can apply the header cache and move the hotspot back
into our code. ;-)
> Before going further, it would be really great to look on other
> profiles. Jurgen, could you please rerun bjam on your project and
> send me "-d+10" output?
This is great news!
-- Dave Abrahams Boost Consulting www.boost-consulting.com
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