[Patch, libgfortran] PR 25561 Part 1/2 Get rid of alloc stream

Jerry DeLisle jvdelisle@verizon.net
Tue May 13 23:50:00 GMT 2008


Janne Blomqvist wrote:
> Hello,
> 
> compared to the previous submission
> 
> http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00268.html
> 
> this patch now regtests cleanly due to the introduction of a format
> buffer to correctly handle T and TL edit descriptors on non-seekable
> files. Currently the default size of the format buffer is 4 KB. This is
> perhaps a bit on the large side, my thinking was that it should be large
> enough to cover everything but the most pathological testcases without
> having to do a realloc. Perhaps a more modest, say, 512 bytes would be
> more than enough to cover the common cases. The format buffer is flushed
> after every write statement, relying on the underlying buffering to
> avoid too much syscall overhead.
> 
> There is still a single use of salloc left in the library; however this
> is only used for internal files, thus paving the way for using stdio for
> external files as explained in the message linked above.
> 
> Performance-wise, at the moment it is roughly the same as without the
> patch. For stream I/O there should be a performance increase, as the
> patch reduces unnecessary seeks. Comparing the testio.f90 benchmark
> Jerry provided with ifort 9.1, there is still lots of room for improvement.
> 
> For the NIST tests, it still fails FM111, FM406 and FM903 if I'm
> interpreting the results correctly, but it seems 4.2 and 4.3 have the
> same problems (406 passes on 4.2 and fails on 4.3) so I don't think it's
> a regression?

The NIST tests are dependent on visual inspections.  The reference output files 
from the site given on the wiki may not be current, so I will check on those 
here. Diff against the reference files is used to determine pass or fail and 
there can be more than one right answer for some tests. FM406 may be one of 
those that needs to be updated.  Regardless, I will try testing the patch and 
see if I can narrow down on any NIST regressions.  I would like those fixed 
before we commit if possible.  Since I am later in the time zones look for 
further reply to this submittal in the next few days.

Cheers,

Jerry



More information about the Fortran mailing list