zlib 是真的吗?

Is zlib for real?

不是真正的编程问题,而是 "i can't believe my eyeballs" 问题。

基本上,我想看看如果我可以压缩某些字段,我可以为我的搜索引擎项目节省多少 space。输入 zlib,使用 "compress" 函数将样本数据的大小从 ~7mb 降低到 ~7kb,我喜欢 "gtf out of here"。示例数据是一个包含近 200 万个整数 ID 的列表,按升序排列,直到约 800 万个值。

为了仔细检查,我再次压缩数据,保存在一个文件中,在另一个程序中打开压缩数据,解压并检查错误,没有,它完美无缺。尽管如此,我仍然无法理解它,我的意思是肯定的是,我的测试数据可以被描述为相当可预测但压缩率为 99.9%?

我是又出现幻觉了还是漏掉了什么?

您的角色 space 由 0 到 9 的数字组成,大部分在底部,除了最后几位数字外,您的文件的大部分内容可能还有很多重复数字。

为什么您会惊讶于将这么多可能的字符从 256 个压缩到仅 10 个相对容易?

实际上这听起来有点奇怪。 zlib 实际上会压缩相同字节的字符串,永远重复大约 1000:1,但大多数其他数据不会压缩得那么好。您可能想检查您的数据,看看它是否真的如您所想。