On Sun, Feb 21, 2010 at 7:25 PM, Martin Guy <martinw...@gmail.com> wrote: > I disagree with the "default cpu should 95% of what is currently on > sale" argument. > > The default affects naive users most strongly, so it should "just > work" on as many processors as is reasonable, not be as fast as > possible on most of the majority of the processors currently on sale. > Naive users might have anything.
It is interesting how this conflicts with your signature: > "You can't buy a computer these days with less that a gigabyte." > -- A.S.Tanenbaum, trying to defend Minix's fixed-size kernel arrays > at FOSDEM 2010 I take it you disagree with this? Because most people do not expect to need 1GB for a Minix installation. ;-) Anyway, naive users also expect reasonable performance, which they don't get with the existing defaults [*]. And there are far many more default naive users who have systems with CPUs of designs less than 5 years old. You want to cater for a minority with old hardware. I actually expect you'll find that those users are less naive than the average gcc user. ([*] I sometimes even have to explain -O2, because icc has optimizations on by default. Many Fortran users do not use gfortran because they don't know about this difference...) > As an example of the results of that kind of thinking, we've had years > of pain and wasted time in the ARM world due to the default > architecture being armv5t instead of armv4t. The results are that user > after user, making their first steps compiling a cross toolchain, > turns up on the mailing lists having got "illegal instruction" after > days of work, and that almost all the distributions are forced to > carry an "unbreak armv4t" patch to GCC. Can you name these distributions? I can only name Debian (http://lists.debian.org/debian-arm/2006/06/msg00015.html) > Lord, someone was even compelled to try and get Android working on > their Openmoko, while it was binary-only, by emulating the few trivial > instructions in the kernel. Ubuntu, similarly, excludes the lower end > by leaving the default unchanged. Ubuntu also requires i686 or later. As do most other Linux distributions. But anyway, bringing ARM into this discussion is neither here nor there. > When users get interested in maximal speed, the first thing they do is > go for -mcpu=xyz Your naive users (and mine) don't even know about -mcpu and -march. >, which doesn't require them to recompile the compiler Neither does compiling for i386/i486 or armv4 if you have a cross-compiler for another default -- you can use -mcpu to "downgrade" too. > The time-honoured policy of having the default settings work on as > wide a range hardware as possible is a socially inclusive one. > Some manifestos chisel the "low bar" into their constitutions (Debian > for example); it would be nice for GCC to do so too. You're off it with the "socially inclusive" argument. No-one is excluded at all, if the defaults are changed. The only thing that happens is that the small number of users with exceptional configurations get the burden of dealing with the -march/-mtune options. (**/me mumbles something incoherent about Pareto, etc...***) Ciao! Steven