This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]