------- 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