[patch,libgfortran] PR37754 [4.4 Regression] READ I/O Performance regression from 4.3 to 4.4

Steve Kargl sgk@troutmask.apl.washington.edu
Fri Dec 26 01:28:00 GMT 2008


On Thu, Dec 25, 2008 at 03:40:17PM -0800, Jerry DeLisle wrote:
> Steve Kargl wrote:
> >

> >       real   user   sys
> >4.2.5  34.33  24.91  8.82  dynamic linked
> >4.3.3  30.49  21.48  8.90  dynamic linked
> >4.4.0  29.28  20.48  8.71  static linked, w/o patch
> >4.4.0  30.51  20.83  9.32  static linked, patched
> >
> >This is reading a 17.2 million line file with lines ranging from
> >0 to 100 or so characters.  The numbers are the averages of 5
> >consecutive runs.  The patch does appear to either help or
> >hinder gfortran on FreeBSD.  I'll leave it to Janne to review
> >since he's working in this area.
> >
> 
> Steve, your tests imply we have no regression to begin with.
> 
> It appears that the results are not consistent with what I was seeing on my 
> laptop.  The file I use is 8.2 mbytes with fixed length lines of about 80 
> characters. I am going to do some more tests on a few more systems.
> 
> Dominiq was not seeing any significant improvement on his system.
> 
> I wonder now about the usefulness of the test case. Maybe we are just 
> seeing disk latency or some similar side effect.
> 

There are a couple of things to consider.  First, if I understood
your original email, you've refactored the code to make it simpler
to understand with fewer branches.  This is always a win IMHO.
Second, neither Dominiq nor I have found a performance regression
and you've found a performance benefit.  This could be a buffer
cache effect.  Third, this is probably something that you should
work out with Janne (and maybe Thomas).

BTW, an easy way to get variable length lines in a file is 
(assuming a csh)

% cd gcc/testsuite/gfortran.dg/
% foreach i (*.f90 *.f *.F)
% cat $i >> data
% end 



-- 
Steve



More information about the Fortran mailing list