Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-12-20 10:43:40


Summary: most of generator invocation used to fail. We now prune such
generators early.

Details: consider

exe a : a.cpp ;

The generators tried to convert a.cpp to OBJ include gcc.compile.c, which
tries to use lex.lex and bison.bison to convert a.cpp into C, which certainly
fails, but the time for the search is already wasted.

The current solution is to pre-compute the set of source types which can be
passed to a generator with non-zero chances of being accepted. This, in
particular, prunes invocation of gcc.compile.c generator above.

Performance: quite noticable improvement (29 s -> 23 s for femtown).

Femtown (reference Boost.Build)
Real: min 32:190, max 37:700, avg 35:183
User: min 28:620, max 30:70, avg 29:166

Femtown (CVS Boost.Build)
Real: min 25:510, max 35:460, avg 29:593
User: min 22:920, max 25:300, avg 23:970

TBLib (reference Boost.Build)
Real: min 14:300, max 16:450, avg 15:90
User: min 12:870, max 13:790, avg 13:273

TBLib (CVS Boost.Build)
Real: min 12:400, max 12:810, avg 12:543
User: min 11:600, max 11:950, avg 11:766

- 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