This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]