Richard Oudkerk added the comment: RawIOBase.readall() does the sensible thing already. Maybe FileIO should be allowed to inherit it.
The alternative patch (which probably only works for raw unbuffered case) diff -r ca54c27a9045 Lib/subprocess.py --- a/Lib/subprocess.py Tue Aug 21 14:54:22 2012 +0100 +++ b/Lib/subprocess.py Wed Aug 22 00:39:32 2012 +0100 @@ -1152,7 +1152,7 @@ def _readerthread(self, fh, buffer): - buffer.append(fh.read()) + buffer.append(io.RawIOBase.readall(fh)) fh.close() produces amount = 1 MB; time taken = 0.01 secs; rate = 71.42 MB/s amount = 2 MB; time taken = 0.02 secs; rate = 83.33 MB/s amount = 4 MB; time taken = 0.04 secs; rate = 105.26 MB/s amount = 8 MB; time taken = 0.06 secs; rate = 135.59 MB/s amount = 16 MB; time taken = 0.09 secs; rate = 170.20 MB/s amount = 32 MB; time taken = 0.17 secs; rate = 190.46 MB/s amount = 64 MB; time taken = 0.32 secs; rate = 202.52 MB/s amount = 128 MB; time taken = 0.61 secs; rate = 211.56 MB/s ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue15758> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com