------- Comment #8 from jvdelisle at gcc dot gnu dot org  2010-02-13 06:17 
-------
Created an attachment (id=19856)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19856&action=view)
Prelinary patch to fix this

The attached patch is preliminary.  It borrows the existing gfc_trans_do code
and creates special versions just for implied do loops in I/O statements.  This
adds a simple test to exit the loop on iostat of END, EOR, or EOF.  The
overhead is light relative to the I/O.

Speeds up the testcase from:

real    0m2.100s
user    0m0.777s
sys     0m0.009s

to:

real    0m0.013s
user    0m0.000s
sys     0m0.004s

I plan to refactor the code to simplify it all.  This first patch is just proof
of principle and does pass regression tests.


-- 

jvdelisle at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


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

Reply via email to