Subject: Re: shocking speed performance!
To: None <richard.earnshaw@arm.com>
From: None <kim@pvv.ntnu.no>
List: port-arm32
Date: 05/20/1999 12:26:13
> I do still have a posting from you, from back in December. If I recall,
> it turned out that you were still using the old gcc 2.7 derived compiler
> on netbsd-1.3.x, which had no support for strongarms (hardly surprising,
> since that compiler version came out before the SA110 was released).
That might be the posting, if it contains assembler code.
> Fast floating point would be good, but only if it is IEEE compliant.
> Anything else is going to cause problems for a lot of others. Don't
> forget that understanding of the IEEE data format is embedded deeply
> within many programs and libraries (starting with, but not limited to
> libc, gcc, gas, gdb ...)
As a programmer of numerical math, I say that programs depending on
the format of floating point numbers, are bad And yes, there are a
lot of bad programs out there. I needed it for my own numerical work,
where speed is indeed much more important than compliance to some
irrelevant standard. Besides, I had planned on just letting floats
be fast, while doubles was to be IEEE.
> > I have just burnt too much time on this ARM32 project.
>
> That seems to be the way of open-source type projects. I hate to think
> how much of my own time (and money) I've spent on projects of this type.
Sigh. Yes. But sometimes things go well, such as my audio projects.
> I've seen installations where the compiler looks at the machine its
> running on and then generates code for that type of machine by default.
> They suck. It causes no end of support issues when you ship a binary to a
> customer with a different configuration.
That is a good point. But most code compiled locally are used locally,
and people making software for shipping are usually competent enough
to specify a compatibility switch when compiling. That is why I think
optimizing for speed should be default. It is often possible to make
a compromize where one gets just a few percent loss in speed for a usable
large degree of portability.
Kim0