Joseph S. Myers said: > On Fri, 16 Sep 2005, Zack Weinberg wrote: >> I am with Joe Buck in the opinion that even a 1% performance penalty for >> implementing (A) [or (B)] would be too much -- I suggest this be fixed by >> convincing the C++ committee to allow (C) and not just by phase 1 >> transformations, thus allowing the existing implementation to conform. > > I don't think solutions starting with convincing the committee to fix a > working part of the standard are generally that practical!
When the standard is arguably buggy -- if nothing else, it diverges from C and there is no good reason for divergence -- I think working with the committee to improve the standard should always be an option considered. When a simple change to the standard would get you out of having to make a large, complicated change to GCC, and when the standard-mandated semantics are of dubious utility to real users, I think you should try to change the standard before you even start thinking about changing the compiler. I don't disagree strongly with any of your other points, but I do want to mention that foreclosing future improvements in another domain is something that should be considered when making implementation choices, that proper statistical methods *can* detect 1% performance degradations amid the noise, and that -- as pointed out by others -- a pile of 1% degradations adds up to a slow compiler. zw