Algorithm 具有跨文件压缩表的文件系统

Algorithm 具有跨文件压缩表的文件系统,algorithm,filesystems,compression,Algorithm,Filesystems,Compression,我在学校学习了lempel-ziv压缩算法 其基本思想是维护一个常见位序列表,并为每个位序列分配一个唯一的符号 我想知道我们在文件系统中维护一个公共表的文件系统设计是否可行 然后,短代码可以跨多个文件重用 这会节省更多的空间吗?(因为LZW在更长的字符串上执行得更好),还是我们会达到这样的程度,即符号到序列表太大,以至于符号键开始占用它们所替换的字节字符串更多或相等的空间 这没有多大意义,因为压缩表必须是静态的。否则,如果它发生更改,则使用旧表压缩的文件将无法使用新表解压缩 如果压缩表是静态的,

我在学校学习了lempel-ziv压缩算法

其基本思想是维护一个常见位序列表,并为每个位序列分配一个唯一的符号

我想知道我们在文件系统中维护一个公共表的文件系统设计是否可行

然后,短代码可以跨多个文件重用


这会节省更多的空间吗?(因为LZW在更长的字符串上执行得更好),还是我们会达到这样的程度,即符号到序列表太大,以至于符号键开始占用它们所替换的字节字符串更多或相等的空间

这没有多大意义,因为压缩表必须是静态的。否则,如果它发生更改,则使用旧表压缩的文件将无法使用新表解压缩

如果压缩表是静态的,那么就不能获得每个文件压缩的优势。例如,一个文件可能有很多常用英语单词。它的压缩表将包含这些常见序列的“快捷方式”。另一个文件可能是通用法语单词,其压缩表将填充这些通用序列。但是,如果在整个系统中都有一个通用的压缩表,那么这两个文件都可能没有合适的压缩

LZW和类似方案提供的大部分压缩是局部最优压缩。如果你想要一张全系统的桌子,你就必须放弃。结果是压缩比要小得多