[libstdc++ PATH] tr1::bind support
Douglas Gregor
doug.gregor@gmail.com
Tue Mar 22 06:13:00 GMT 2005
On Mar 21, 2005, at 6:55 PM, Chris Jefferson wrote:
> Can I just query how long other people are finding programs take to
> compile with tr1::bind?
Longer than I'd hoped :(
> I might have applied the patch incorrectly, as I have a different
> version of <tuple> locally, but I'm finding simple files from the
> testsuite (such as tr1/6_containers/tuple/tuple_size.cc), and in fact
> anything that contains either <functional> or <tuple> is taking over
> 30 seconds to compile! (1.4Ghz machine, 512MB ram).
I'm getting about 20 seconds per compile, on a slightly faster machine,
but still an issue. I believe that the problem might actually be in
preprocessing, because, e.g. bind_iterate.h gets included about 400
times :) It's possible that we'll want to preprocess the sources (say,
at configure time) to see if that helps.
> Apologises if is a false alarm and I've just broken my local copy, but
> if this is in fact the case, would it be possible at least to seperate
> out those parts of functional which tuple requires and put them into a
> common file, rather than pulling all of functional into tuple?
Unfortunately, that's a bit harder than it sounds. At least, it brings
in a lot more code than one would expect. reference_wrapper needs
result_of, mem_fn, and some of the other core bits in <functional> We
could factor those out into a common header and have tr1::bind and
tr1::function (the major compile-time culprits, I'd guess) only in
<functional>.
Doug
More information about the Gcc-patches
mailing list