Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-06-28 01:32:49


David Abrahams wrote:

> > I think that symple-minded conversion will turn
> >
> > local a = foo bar ;
> >
> > into
> >
> > a = ["foo", "bar"] ;
> >
> > which would not use jam string-caching and might take a lot more
> > memory.
>
> I'm not in the least convinced that jam string-caching is saving
> memory overall, since:
>
> a. nothing is ever deallocated
>
> b. All kinds of nasty strings get computed as intermediate values
> we'll never care about again, and cached -- mostly due to the
> fact that Jam's computational model is so weak.
>
> c. Python "interns" strings too (but more selectively).

Well, guess talking about performance without benchmarks at hand is hard ;-)

> > I don't know about that... but I suspect rewrite of "toolset.flags" in
> > C++ will be twice as fast as in Python.
>
> If that rule is actually sucking down a significant number of cycles
> there's something very, very wrong. In v1 it would get called again
> for each target, but in v2 it should only be called when the toolset
> is initially loaded.

Actually, my measurements indicate that the other half takes non-zero time:
the toolset.set-target-variable rule, which is really invoked for each
target.

- 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