[Bug libfortran/91030] Poor performance of I/O -fconvert=big-endian
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 1 22:25:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91030
--- Comment #23 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
Some numbers for the provisionary patch, varying the
size for the buffers.
With the patch, the original benchmark (minus some output, only
the elapsed time is shown) and the script
for a in 1024 2048 4096 8192 16384 32768 65536 131072
do
rm -f out.dat
sync ; sync; sync
sleep 1
echo -n $a
GFORTRAN_BUFFER_SIZE_UNFORMATTED=$a ./a.out
done
rm -f out.dat
sync
I get on my home Ryzen box with ext4
1024 2.8888959884643555
2048 2.4514980316162109
4096 2.2090110778808594
8192 1.9955158233642578
16384 2.0065548419952393
32768 1.9320869445800781
65536 1.9494299888610840
131072 1.8885779380798340
On gcc135 (POWER9) I get
1024 6.2069039344787598
2048 3.5782949924468994
4096 2.2184860706329346
8192 1.4914679527282715
16384 1.1247980594635010
32768 0.95092821121215820
65536 0.85877490043640137
131072 0.82407808303833008
and on gcc115 (aarch64):
1024 10.543070077896118
2048 7.3426060676574707
4096 5.7169480323791504
8192 4.7394258975982666
16384 4.2912349700927734
32768 4.0224111080169678
65536 3.8719530105590820
131072 3.8628818988800049
so 64 k looks like a good choice, except for the Ryzen machine,
where 8k would be sufficient.
More information about the Gcc-bugs
mailing list