Currently the gfortran IO library is based on a design called the "Alloc Stream
Facility" (ASF), described in the paper 

 *  "Exploiting the advantages of mapped files for stream I/O",
 *  O. Krieger, M. Stumm and R. Umrau, "Proceedings of the 1992 Winter
 *  USENIX conference", p. 27-42.

The idea is to present an interface that avoids an extra copy when used
together with mmap, and the application uses ASF directly instead of
read/write. However, Fortran IO follows a traditional read/write model, and
thus the buffer copy is still needed in the library.

Thus, ASF makes the IO library unnecessarily complex and doesn't improve
performance. If ASF would provide any real benefit, it could be implemented in
the C library or the kernel, and any program using read/write, including the
gfortran IO library, would benefit.


-- 
           Summary: Eventually get rid of the Alloc Stream Facility
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: libfortran
        AssignedTo: jb at gcc dot gnu dot org
        ReportedBy: jb at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25561

Reply via email to