This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [patch,libgfortran] PR48298 DTIO implementation for Internal Units
On Thu, Sep 15, 2016 at 10:15:57AM +0200, Manfred Schwarb wrote:
>
> I quickly assembled a short demo of something which can
> occur in reality: Reading a text file with unknown length,
> and try to parse the input as real numbers if possible.
>
Yep, when one goes looking for a specific problem, one is
often capable of finding what one wants.
Now, to the real world. Here's the polyhedron benchmark
run without and with Jerry's patch.
Trunk without Jerry's patch
Benchmark Compile Executable Ave Run Number Estim
Name (secs) (bytes) (secs) Repeats Err %
--------- ------- ---------- ------- ------- ------
ac 1.18 1970144 8.03 10 0.1930
aermod 42.53 3085424 20.28 10 0.2721
air 5.11 2031720 3.91 10 1.2162
capacita 1.91 2011776 41.01 5 0.1773
channel 0.89 1968328 1.80 10 0.3630
doduc 6.27 2085928 21.04 10 0.1726
fatigue 2.37 2044720 4.40 10 0.3514
gas_dyn 2.39 2027504 2.20 10 0.1345
induct 5.54 2144944 6.41 10 0.2472
linpk 1.24 1957168 7.62 10 0.4040
mdbx 6.00 1998272 7.45 5 0.0067
nf 1.80 1971088 9.76 7 0.0887
protein 3.25 2146656 25.49 8 0.1010
rnflow 6.11 2100376 36.35 6 0.1769
test_fpu 4.33 2110400 5.56 10 0.1444
tfft 1.16 1967704 1.57 6 0.0936
Geometric Mean Execution Time = 7.99 seconds
Trunk with Jerry's patch
Benchmark Compile Executable Ave Run Number Estim
Name (secs) (bytes) (secs) Repeats Err %
--------- ------- ---------- ------- ------- ------
ac 1.21 1975888 8.00 5 0.0789
aermod 42.18 3091272 20.15 5 0.0300
air 5.02 2037456 3.81 10 0.1651
capacita 1.90 2017456 40.99 5 0.0561
channel 0.89 1969912 1.78 10 0.3689
doduc 6.27 2087576 21.31 5 0.0211
fatigue 2.38 2046416 4.37 5 0.0195
gas_dyn 2.27 2029208 2.20 5 0.0841
induct 5.49 2146696 6.48 9 0.0896
linpk 1.27 1958760 7.60 10 0.1220
mdbx 2.46 1999856 7.54 5 0.0451
nf 1.80 1972664 9.90 10 0.1446
protein 3.28 2152456 25.91 8 0.3150
rnflow 6.17 2102016 36.23 6 0.2573
test_fpu 4.30 2111984 5.60 10 0.5644
tfft 1.17 1969288 1.58 10 0.1126
Geometric Mean Execution Time = 8.00 seconds
None of these codes use DTIO. I suspect the codes do very
little IO, which is perhaps, the majority of Fortran codes.
My codes and the codes of others that I use in my particular
corner of research use the basic model
Read input file(s) --> crunch numbers --> write output file(s)
The "crunch numbers" parts swamps IO.
I don't have a dog in this fight, and I don't dictate the
direction of gfortran. So, it seems Jerry will need to
wait for others to show results with and without his patch.
Fortunately, for everyone, this will be my last email
about DTIO.
HTH
--
Steve