[Bug libfortran/91030] Poor performance of I/O -fconvert=big-endian

tkoenig at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jul 4 21:17:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91030

--- Comment #34 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
There is another point to consider.

I suppose not very many people use big-endian data formats
these days. Little-endian dominates these days, and people
who require that conversion on a regular basis (why does
HPC need that, by the way?) are probably few and far between.

Another question is if people who do serious HPC work do
a lot of stuff (without conversion) like

  write(10) x(1::2)

which would actually use the buffers, instead of

  write (10) x

where the whole buffering discussion does not apply.

Jerry, if you use strides in writing, without conversion,
what result would you get for different block sizes?

If that is reasonably fast, then I am now leaning towards
making the default buffer much larger for unformatted.
Formatted default can stay as it is (adjustable via
environment variable), making the buffers larger there
would just be a waste of memory because of the
large CPU load in converting floating point numbers
(unless somebody can show a reasonable benchmark
demonstrating otherwise).


More information about the Gcc-bugs mailing list