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] PR37754 [4.4 Regression] READ I/O Performance regression from 4.3 to 4.4


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


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