Antoine Pitrou <pit...@free.fr> added the comment: StringIO:
$ ./python -m timeit -s "import io; n=2000; d=['a'*n,'bb'*n,'ccc'*n]*1000" "s=io.StringIO(); w=s.write" "for x in d: w(x)" "global y; y = s.getvalue()" -> Linux: 1000 loops, best of 3: 985 usec per loop -> Windows: 100 loops, best of 3: 4.26 msec per loop Unpatched BytesIO: $ ./python -m timeit -s "import io; n=2000; d=[b'a'*n,b'bb'*n,b'ccc'*n]*1000" "s=io.BytesIO(); w=s.write" "for x in d: w(x)" "global y; y = s.getvalue()" -> Linux: 100 loops, best of 3: 2.44 msec per loop -> Windows: 10 loops, best of 3: 38.4 msec per loop b''.join(): $ ./python -m timeit -s "import io; n=2000; d=[b'a'*n,b'bb'*n,b'ccc'*n]*1000" "l = list(d)" "global y; y = b''.join(l)" -> Linux: 1000 loops, best of 3: 821 usec per loop -> Windows: 100 loops, best of 3: 4.09 msec per loop bytearray: $ ./python -m timeit -s "import io; n=2000; d=[b'a'*n,b'bb'*n,b'ccc'*n]*1000" "b = bytearray()" "for x in d: b += x" "global y; y = b" -> Linux: 1000 loops, best of 3: 834 usec per loop -> Windows: 10 loops, best of 3: 37.8 msec per loop ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue15381> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com