News for hackers. Stuff that matters.
Re:Python 3 makes it easier to develop high-quality software by lqdc13 on Wednesday November 18, 2015 @08:43PM (#10592196)
I don't have a reference, but bytearray concatenation with some more bytes is amortized O(1) w.r.t. original bytearray size, but for bytes it is O(n) where n is the length of the byte string, because bytes are immutable and they are copied to a new byte string on each concatenation.

In python2 strings/bytes are also immutable but concatenation is O(1) w.r.t. original string. Not sure about internal implementation differences.

so basically whenever you see code like:

    some_bstr = b''
    for something in get_something():
        some_bstr += something
And if you have to do it this way, make sure that some_bstr is a bytearray or make it a list that you later join.

There are no comments on this comment yet.