From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-02-10 11:00:44
David Abrahams wrote:
> Vladimir Prus <ghost_at_[hidden]> writes:
>>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...
Yes, just with the new class it's very much simpler to cache information.
>>At this moment, I've switched most of the code to using the new class, and
>>see about 5x speedup on two use cases.
>>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. ;-)
Actually, *our* code which deals with scanning is hotspot. There must be
some obvious inefficiencies.
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