[Python-Dev] PEP 467: Minor API improvements to bytes, bytearray, and memoryview
Serhiy Storchaka
storchaka at gmail.com
Wed Jun 8 07:05:19 EDT 2016
On 08.06.16 13:37, Paul Sokolovsky wrote:
>> The obvious way to create the bytes object of length n is b'\0' * n.
>
> That's very inefficient: it requires allocating useless b'\0', then a
> generic function to repeat arbitrary memory block N times. If there's a
> talk of Python to not be laughed at for being SLOW, there would rather
> be efficient ways to deal with blocks of binary data.
Do you have any evidences for this claim?
$ ./python -m timeit -s 'n = 10000' -- 'bytes(n)'
1000000 loops, best of 3: 1.32 usec per loop
$ ./python -m timeit -s 'n = 10000' -- 'b"\0" * n'
1000000 loops, best of 3: 0.858 usec per loop
More information about the Python-Dev
mailing list