[cfe-dev] Building cpp-netlib

Douglas Gregor dgregor at apple.com
Fri Sep 3 07:16:21 PDT 2010


On Sep 3, 2010, at 4:24 AM, Dean Michael Berris wrote:

> Hi Everyone,
> 
> I've just now tested the latest clang trunk on Ubuntu Linux 10.4 and
> pitted it against gcc 4.4.3 and tried building the latest in
> cpp-netlib [0] master (represents the stable releasable branch) and
> head-to-head clang is able to compile the template-heavy library test
> suite in:
> 
> real	3m4.589s
> user	2m42.898s
> sys	0m8.385s
> 
> Compared to the GCC 4.4.3's performance of
> 
> real	4m51.581s
> user	4m42.038s
> sys	0m5.796s
> 
> That's amost a full two minutes faster!
> 
> One observation though is that clang tends to require a lot of memory
> -- almost 2:1 as far as virtual memory usage compared to GCC.

I've also seen this with programs that use a lot of template metaprogramming and deep template instantiations (as your mention of Boost.MPL and Boost.Spirit would imply), and we're hoping to dig into it in the near future. I suspect it's the fact that we try to keep around a ton of source-location information when instantiating.

> cpp-netlib depends heavily on Boost's MPL and Boost Spirit, which
> really stresses out the compilers I've been developing with. Now
> though I'm happy to say I'll be using clang as the primary compiler
> for development now as it catches more standards compliance issues
> than the others, as well as compiles things faster.

Glad to hear it!

	- Doug



More information about the cfe-dev mailing list