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.

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.
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.

When users get interested in maximal speed, the first thing they do is
go for -mcpu=xyz, which doesn't require them to recompile the compiler
and is educational, while software distributions who build their own
compilers make their own choices about the minimum processors they
want to support.

Of course, most GCC developers and 95% of the people they know
probably do all have big new PCs using processors that are currently
in production, so to their eyes it might seem that all the world has
SSE2. However most people in the world cherish anything that works at
all; why make life harder for them?

We don't see the bottom end in the various usage stats because most
people using them don't have the internet (or a landline phone, come
to that).
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.

Cheers

    M

"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

Reply via email to