This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
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