This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [libstdc++ PATH] tr1::bind support
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