Subject: Re: [boost] [function] new implementation
From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2010-11-04 06:52:44
On 04.11.2010 11:30, Domagoj Saric wrote:
> "Sebastian Redl" <sebastian.redl_at_[hidden]> wrote in message
>> RVO in Clang is not very advanced yet, but the ICE thing with
>> static_asserts would be something we want to fix.
> It's not an ICE but a compilation failure...
Sorry, I meant ICE as in "integral constant expression", not "internal
compiler error". Those, we simply call crashes. ;-)
> ps. as a 'slight' off topic, since you seem to be involved in Clang
> development, you might want to make Clang a lot less eager to examine
> template code before it is instantiated (or add an option to that
> effect)...this sometimes acts as 'spiralling compile time killer'
> because it, for example, forces me to include headers that MSVC does
> not (or simply fails to compile 3rd party libraries like RapidXML)...
We can't, really. Clang is built from the ground-up to be eager in
checking template code. It's pretty much part of the design.
> The 'lazyness' of MSVC++ in template instantiation is probably one of
> the reasons why even Clang does not come near to it when it comes to
> compilation speed...
> Also the claim that Clang uses less RAM than GCC is not (always)
> true...with heavy template code (very convoluted mixtures of MPL and
> Fusion with typelist lengths up to 60) I've seen it eat 20-30% more
> than GCC 4.6 (but it still does compile faster, if you have enough
Yes, we know that C++ compilation uses a lot of memory. We have ideas to
reduce it, but they're still not the top priority.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk