Boost logo

Boost :

From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2002-06-19 01:52:01


> I just got this message from Ralf, FYI:
> --------
>
> The EDG build times are totally out of control. In an attempt to narrow
> down the problem, I modified the bjam -d+2 cxx command for minimal.cpp
> to use -E instead of -c. Here is a tiny fragment from the output with
> ######## comments:

The majority of the time is coming from the multiple levels of repetition. If
and until EDG revamps their preprocessor, there are only a few things that I can
do...

1) I modified <boost\mpl\aux_\preprocessor.hpp> so that the arguments to
BOOST_PP_ADD in both BOOST_MPL_AUX_TEMPLATE_PARAMETER and
BOOST_MPL_AUX_DEFAULT_TEMPLATE_PARAMETER are reversed. This is significantly
more efficient.

2) I unrolled the BOOST_PP_REPEAT macros for use under EDG front-ends in
<boost\preprocessor\repeat.hpp> and <boost\preprocessor\detail\repeat_edg.hpp>.
If __EDG__ is defined, 'repeat.hpp' automatically uses the alternate
implementation is 'repeat_edg.hpp'.

The only major bottleneck remaining is
BOOST_MPL_AUX_LIST_FACTORY_SPECIALIZATION. In this case, the pure *amount* of
text all on one line is crippling to EDG's preprocessor. The only way around
this is to use file iteration, I can add that support tomorrow if you are
interested.

Paul Mensonides


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk