On Tue, Oct 11, 2016 at 9:08 PM, INADA Naoki <songofaca...@gmail.com> wrote: > From Python 3.4, bytearray is good solution for I/O buffer, thanks to > #19087 [1]. > Actually, asyncio uses bytearray as I/O buffer often.
Whoa what?! This is awesome, I had no idea that bytearray had O(1) deletes at the front. I literally reimplemented this myself on type of bytearray for some 3.5-only code recently because I assumed bytearray had the same asymptotics as list, and AFAICT this is totally undocumented. Shouldn't we write this down somewhere? Maybe here? -> https://docs.python.org/3/library/functions.html#bytearray > # when length=-1 (default), use until end of *byteslike*. > bytes.frombuffer(byteslike, length=-1, offset=0) This seems reasonable to me. Mostly I've dealt with the problem by writing functions like your read_line so that they return bytearray objects, since that's the only thing you can get out of a bytearray without double-copying. But returning bytes would feel a bit cleaner, and this would allow that. -n -- Nathaniel J. Smith -- https://vorpus.org _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com