This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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


Chris Jefferson <caj@cs.york.ac.uk> writes:

| Douglas Gregor wrote:
| > 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.
| >
| 
| I tried preprosessing, which produced a 3.9M file.. it still takes >20
| seconds to compile. However, once I pursaded pre-compiled headers to
| work, while the resulting files was 52M(!!) now it compiles in < 1
| sec, so when/if everyone is using precompiled headers, the problem
| will be allieviated somewhat. I still think it might be nice to pull
| the functional header apart a bit...

Yes.

Compile-time is a serious issue.  People and coorporates have invested
and are investing so much resources into that problem that we (V3 in
particular, not just the front-end guys) should be paying special
attention to that.   

*Requiring* precompiled headers is a non-starter.

-- Gaby


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