------- Comment #4 from jvdelisle at gcc dot gnu dot org 2007-04-18 06:12 ------- Looking at sf_read in transfer.c, we can see that we are reading one character at a time with internal units. This was done for external units because we can not anticipate where the end of the file is until we hit it. This does not make sense with internal units because we know the record length at run time.
I should be able to improve this quite a bit by doing one larger read. I also may be able to do a straight memcpy which will further improve this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31501