Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-10-03 03:33:34


On Friday 30 September 2005 14:30, Kevin Wheatley wrote:
> Vladimir Prus wrote:
> > If you send me the output of "bjam -d -d+10", the chances of future V2
> > version to work faster on your project will certainly improve ;-)
>
> In case it looks like nothing happened here, I've been communicating
> with Vladimir via email and he has a patch in the works which can give
> a large improvement in some cases (50-60% reduction in one function
> leading to a 30% overall reduction in time), particularly with
> networked source files rather than local ones.

Here's some explanation. Several time, it was reported that the 'glob' rule in
Jamfiles is very slow. The reporters were running Windows on laptops, so I
decided this has to do with slow drives on laptops and OS problems.

This time I looked at profile and notices that the PWD builtin takes order of
magnitire more time that anything else, which just can't be explained by OS
issues. It turns out that PWD makes a call to getcwd C function. And on
Linux, or does only that. But on Windows, it also calls
short_path_to_long_path function, which iterates over all elements of path
and calls some OS function (like directory iteration). And that's were the
time was spent. My patch that Kevin mentions makes path.cwd cache result of
PWD invocations.

The recent Rene's commit introduces caching in PWD itself, so should have the
same effect.

- 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