Martin v. Löwis <mar...@v.loewis.de> added the comment:

> It's not a container type, just a small C struct that 
> gets allocated on the stack. Think of it as a library, like stringlib.

That's what I call a container type: a structure with a library :-)

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

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

----------

_______________________________________
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