2015-10-11 62 views
0

不是一個真正的編程問題,而是一個「我無法相信我的眼球」的問題。zlib是真實的嗎?

基本上,我想看看如果我可以壓縮一些字段,我可以給我的搜索引擎項目節省什麼樣的空間。輸入zlib,使用「壓縮」功能,它將樣本數據的大小從〜7mb降到〜7kb,而im像「gtf out of here」一樣。樣本數據是近200萬個整數ID的列表,按升序排列,最高值爲800萬。

爲了仔細檢查,我再次壓縮數據,保存在一個文件中,在另一個程序中打開壓縮數據,解壓縮並檢查錯誤,沒有任何錯誤。儘管如此,我仍然無法把頭圍繞在它上面,但我的確可以將我的測試數據表徵爲相當可預測但99.9%的壓縮比率?

我是再次幻覺還是錯過了什麼?

+0

你應該看看zlib用黑色位圖做什麼。 99.99999%的壓縮比。 –

+0

@MikeNakis:zlib的最大壓縮比是1032:1。 –

+0

@MarkAdler真的嗎?我的另一個偶像被毀壞了。 –

回答

0

其實這聽起來有點奇怪。事實上,zlib會壓縮一個相同字節的字符串,它會一直重複大約1000:1,但大多數其他數據不會很好地壓縮。你可能想檢查你的數據,看它是否真的是你的想法。

+0

對吧!它花了我永遠的解決它,但我做了noob錯誤保存/加載數據作爲字符串(而不是二進制)。由於這個原因,原始數據被一個空終止符或什麼東西截斷了,結果是有很少的數據要壓縮,而且這個過程對我的錯誤檢查也是不可見的。 實際壓縮的大小竟然是〜800kb,這與winrar對該文件的操作類似。 – user81993

1

您的字符空間由0到9之間的數字組成,大部分朝向底部,除了最後幾位數字之外,可能還有大量文件大塊重複數字。

爲什麼你會感到驚訝,壓縮這麼多從256個可能的字符到只有10個是相對容易的?

+0

請注意,_by本身,從256個符號到10個符號,只會給你一個0.415的壓縮比。不是0.001。 –