Some interesting timeits: In [7]: timeit('sum(x)==0', 'x=bytes(10)') Out[7]: 0.30194770699927176
In [11]: timeit('x==bytes(10)', 'x=bytes(10)') Out[11]: 0.2181608650007547 In [12]: timeit('x==z*10', 'x=bytes(10); z=bytes(1)') Out[12]: 0.1092393600010837 In [13]: timeit('x==x2', 'x=bytes(10); z=bytes(1); x2=bytes(10)') Out[13]: 0.05795672599924728 niedz., 1 kwi 2018 o 19:55 użytkownik Arkadiusz Bulski < arek.bul...@gmail.com> napisał: > What would be the most performance efficient way of checking if a bytes is > all zeros? Currently its `key == b'\x00' * len(key)` however, because its > Python 2/3 compatible: > > sum(key) == 0 is invalid > key == bytes(len(key)) is invalid > > I already considered precomputing the rhs value. > Length of key is unknown, could be few bytes, could be megabytes. > > -- > ~ Arkadiusz Bulski > -- ~ Arkadiusz Bulski -- https://mail.python.org/mailman/listinfo/python-list