首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zlib解压缩与解压缩性能

Zlib解压缩与解压缩性能
EN

Stack Overflow用户
提问于 2019-05-10 08:46:09
回答 1查看 382关注 0票数 0

使用zlib解压缩函数而不是解压缩会有性能下降吗?

我之所以这样问是因为我使用的python应用程序使用zlib解压缩文件。在过去的几个月里,所有的文件都正常工作,但是,有一种类型的文件超过了服务器内存限制,导致解压缩功能失败。基于doc,我可以切换到解压函数,它可以工作在块上,并且可以处理大文件。问题是,我对解压缩函数有更多的用法,我正在考虑将它们全部转换为解压缩函数。这样可以吗?还是会使代码变慢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-10 11:36:01

首先,在实践中,premature optimization is the root of all evil.只在效率太低的情况下才对某些东西进行优化,并且您确定了资源占用率(例如,使用分析),而且效果足够大,值得付出努力并增加复杂性(=额外的维护负担)。

zlib.decompresszlib.decompressobj.decompress实现都在zlibmodule.c中,与之对应的是zlib_decompress_implzlib_Decompress_decompress_impl

它们不共享代码,但它们的代码与预期的大致相同,并委托给相同的zlib C库函数。

所以,哪一种使用原始的减压方法没有什么区别。

带有额外逻辑和重复的Python调用的decompressobj可能会有一个很小的开销--但是如果数据很大,解压缩时间就会使它相形见绌。

  • 因此,用decompress替换decompressobj是否值得(或是否会产生任何影响)将取决于内存、处理器或I/O是否是每个特定情况下的瓶颈(内存为正效应,处理器为负效应,I/O为零)。(因此,请到第一段寻求指导。)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56073882

复制
相关文章

相似问题

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