Compression zlib压缩的最小数据大小?

Compression zlib压缩的最小数据大小?,compression,memcached,zlib,Compression,Memcached,Zlib,我有一个应用程序,它对一些数据使用外部缓存(特别是在另一台服务器上使用memcached)。有一个选项可以在缓存之前使用zlib压缩数据。问题是——哪种数据大小值得压缩?例如,如果我们有10字节的数据项,那么浪费时间压缩/解压缩它可能是无用的。但如果我们有10万个数据,这可能是值得的。存储的数据主要是ASCII字符串 我知道这在很大程度上取决于网络速度、CPU速度、数据等等,但是否有任何指导或启发?不一定是完美的,但如果它可以节省一些周期,这将是伟大的 Zlib的deflate具有非常小的块头大

我有一个应用程序,它对一些数据使用外部缓存(特别是在另一台服务器上使用memcached)。有一个选项可以在缓存之前使用zlib压缩数据。问题是——哪种数据大小值得压缩?例如,如果我们有10字节的数据项,那么浪费时间压缩/解压缩它可能是无用的。但如果我们有10万个数据,这可能是值得的。存储的数据主要是ASCII字符串


我知道这在很大程度上取决于网络速度、CPU速度、数据等等,但是否有任何指导或启发?不一定是完美的,但如果它可以节省一些周期,这将是伟大的

Zlib的deflate具有非常小的块头大小(4位)。第3.2.3节

它可以存储未压缩的块,或者使用固定的huffmann表对其进行压缩,因此即使数据非常短,也不太可能大量扩展数据

更新:

有一个压缩短字符串的项目
smaz
,作者说

想象一下,像zlib一样,通常无法压缩小于100字节的文本

为了速度。也许你应该写一个小的基准测试程序。我可以找到这项研究,其中有一些有趣的数据:用不同的压缩方式(no、zlib、lzo、bzip2)编写短记录的速度;阅读简短记录


Zlib在写入时比未压缩时慢5倍,在读取时慢8倍。此外,lzo在这次评估中表现更好。

我不担心扩展,也不担心在压缩和解压缩数据时浪费时间,而不会从压缩中获得任何加速。我认为压缩比网络数据包小的数据可能不值得,因为发送数据所需的时间大致相同。。。我想知道这是否正确?