[Patch, Fortran] Another floating point speedup
Sun Jan 4 05:38:00 GMT 2009
Daniel Kraft wrote:
> Once again... This patch should finally be rid of the bugs (no
> regressions) and handles exponents of size up to 4 digits (should be
> In addition, I got rid of the memcpy in convert_real and use
> pointer-casting instead, got another second of speed up.
> Ok for 4.5? Or should I first look at the list_read.c floating parsing
> routines (I guess those are for unformatted IO?)
Lets do this as a separate patch. The list_read.c functions you are seeing are
for namelist reading. Namelist I/O is yet another beast and is pure regression
territory. So beware. :)
Also, I would like to see testing on multiple platforms if possible before this
goes in to 4.5 We will need Steve to test on FreeBSD as this tends to reveal
some things. I will test on ppc64 and Cygwin. Hopefully Dominiq can test on
Darwin and cousins.
We should torture test beyond our current testsuite, so maybe Polyhedron, NIST,
SPEC, for those who can, CP2K, and any other real world apps we have access to
that use formatted I/O.
There are readers on this list who are very knowledgeable in floating point. I
appreciate if some one could devise a test that checks the ulp roundoff since it
appears to be a significant issue judging from the responses to the first patch.
I don't expect any failures, but this patch hits at the heart of some well
By the way, thanks for the patch, good job.
More information about the Gcc-patches