Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-10-15 01:02:16


Pedro Ferreira wrote:
> Hi again,
>
> Going back to the tests I've done and looking at the output from -d+10, I
> realized find-project-root (project-roots.jam, line 62) was taking too
> long. Since in my test project-root.jam is fixed, I changed
> find-project-root in order to return a fixed string and not do the
> processing every time it is called. This changed data from:

...
> # files 1000 Elapsed: 92.283 seconds
>
> to:
>
...
> # files 1000 Elapsed: 71.844 seconds
>
> which is quite impressive!

Truly.

> Note that, for 1000 files, find-project-root is called 3008 times and
> returing a fixed string reduced the gross time from 22056 ms to 10 ms.

Ehm... I think that's good to see the reduction, though it's probably not good
to call this rule that many times. Could you send me your script so that I
can figure out the origin of that number of calls? And, maybe, the script
should go to CVS....

> Would it be possible to cache the value instead of globbing every time? Is
> there a map-like container in jam?

Unless I find some deeper inefficiency, I'm really willing to commit the
change that Rene proposed.

- Volodya

 


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