Antoine Pitrou <pit...@free.fr> added the comment:

> > That's another possibility. But we'd have to expose a 
> > C API anyway, and this one is as good as any other.
> 
> No, it's not: it's additional clutter. If new API needs to be added,
> adding it for existing structures is better. Notice that you don't
> *need* new API, as you can use StringIO just fine from C also.

Yes, but using StringIO without a dedicated C API is more tedious and
quite slower.

> > Note that StringIO will copy data twice (once when calling 
> > write(), once when calling getvalue()), while ''.join() only once (at 
> > the end, when concatenating all strings).
> 
> Sounds like a flaw in StringIO to me. It could also manage a list of
> strings that have been written, rather than only using a flat buffer.
> Only when someone actually needs a linear buffer, it could convert it
> (and use a plain string.join when getvalue is called and there is no
> buffer at all).

That's what I thought as well. However, that's probably too much for a
bugfix release (and this issue is meant to allow test_bigmem to pass on
3.x).

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12911>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to