2
我在學校學習了lempel ziv壓縮算法。跨文件壓縮表的文件系統
其基本思想是維護一個常見的比特序列表併爲每個比特序列分配一個唯一的符號。
我想知道如果一個文件系統設計我們在文件系統中維護一個公共表是否可行?
然後短代碼可以在多個文件中重複使用。 (因爲LZW在更長的字符串上表現更好)或者我們會達到一點,即我們的符號序列表非常大,符號鍵開始佔用更多或者等於字節字符串的空間他們正在取代?
我在學校學習了lempel ziv壓縮算法。跨文件壓縮表的文件系統
其基本思想是維護一個常見的比特序列表併爲每個比特序列分配一個唯一的符號。
我想知道如果一個文件系統設計我們在文件系統中維護一個公共表是否可行?
然後短代碼可以在多個文件中重複使用。 (因爲LZW在更長的字符串上表現更好)或者我們會達到一點,即我們的符號序列表非常大,符號鍵開始佔用更多或者等於字節字符串的空間他們正在取代?
這沒什麼意義,因爲壓縮表必須是靜態的。否則,如果它改變了,那麼用新表壓縮的文件就不能被解壓縮。
而且如果壓縮表是靜態的,那麼你就沒有得到每個文件壓縮的好處。例如,一個文件可能有很多常見的英文單詞。它的壓縮表將包含這些常見序列的「快捷鍵」。另一個文件可能是普通的法語單詞,並且其壓縮表將被這些常見序列填充。但是如果你在整個系統中都有一個共同的壓縮表,那麼這兩個文件都可能沒有像樣的壓縮。
LZW和類似方案給你的壓縮的很大一部分是局部最優壓縮。如果你想要一個系統級的表,你將不得不放棄。結果將是不太令人印象深刻的壓縮比。