From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-12-17 09:39:19
As you've probably noticed, caching is my faviorite optimisation method.
However, this time I drop caching.
When generators.jam tries to create a certain type from a single source, and
some other conditions are met, it tries to cache dependency graph. The name
of source is replaced with '%', dependency graph is constructed, and then
"clones" with '%' replaced by real target name. The idea is that if you often
create OBJ from CPP, this will speed things up. The code is pretty complex,
and some previous measurements indicated that it actually does not give any
speedup. Now that I have two good testcases, I've tested again and removed
that caching code.
Compatibility: only Boost.Build update is neeeded
Performance: speed difference is not significant, the primary goal is to
simplify the code so that other parts can be more easily optimised. Indeed,
this change removes 164 lines of code.
Femtown (reference Boost.Build)
Real: min 41:890, max 48:460, avg 44:456
User: min 34:670, max 36:450, avg 35:330
Femtown (CVS Boost.Build)
Real: min 39:730, max 50:800, avg 43:750
User: min 33:740, max 36:770, avg 35:0
TBLib (reference Boost.Build)
Real: min 21:630, max 25:50, avg 23:580
User: min 15:850, max 16:280, avg 16:83
TBLib (CVS Boost.Build)
Real: min 19:330, max 20:540, avg 19:890
User: min 15:990, max 16:390, avg 16:153
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