[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