首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么zlib.crc32比binascii.crc32快?

为什么zlib.crc32比binascii.crc32快?
EN

Stack Overflow用户
提问于 2017-06-12 15:11:18
回答 1查看 1.1K关注 0票数 8

在下面的基准测试中,我发现函数zlib.crc32binascii.crc32快2.5倍。为什么,使用zlib模块的实现有什么坏处?

代码语言:javascript
复制
#!/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))

结果:

代码语言:javascript
复制
b: 1.0176826480001182
z: 0.4006126120002591
EN

回答 1

Stack Overflow用户

发布于 2020-08-05 21:03:06

我发现了这样的讨论:https://mail.python.org/pipermail/python-3000/2008-March/012728.html,格雷戈里·P·史密斯(在与Guido的讨论中)写道:

从binascii中删除会破坏平台或嵌入式系统的功能,这些平台或嵌入式系统需要不包括zlib的crc32。有人在乎吗?

TL;DR:binascii实现是针对没有zlib (或者不想包含它)的系统的,因此它被认为是次优的,但是如果删除就会破坏。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44502855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档