Why is zlib.crc32 faster than binascii.crc32?

In the next benchmark, I found the function to be zlib.crc32

about 2.5 times faster binascii.crc32

. Why is this, and are there any drawbacks to using a module implementation zlib

?

#!/usr/bin/python3
import timeit

print("b:", timeit.timeit("binascii.crc32(data)", setup="import binascii, zlib; data=b'X'*4096", number=100000))
print("z:", timeit.timeit("zlib.crc32(data)",     setup="import binascii, zlib; data=b'X'*4096", number=100000))

      

Result:

b: 1.0176826480001182
z: 0.4006126120002591

      

+3


source to share





All Articles