Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compression LZ4匹配搜索算法(快速扫描)_Compression_Lossless Compression_Lz4 - Fatal编程技术网

Compression LZ4匹配搜索算法(快速扫描)

Compression LZ4匹配搜索算法(快速扫描),compression,lossless-compression,lz4,Compression,Lossless Compression,Lz4,我实现了一个基于无限深度哈希链的LZ77/LZ4(无熵编码)压缩算法。它工作良好,速度可以接受,但压缩比接近LZ4。阅读LZ4项目的文档和浏览源代码时,我知道它使用了depth1的散列链,但如果我将实现的depth1修复为1,LZ4的性能将优于它 我不明白LZ4匹配搜索算法(快速扫描)是如何工作的。有人能解释一下吗 谢谢。扫描过程采用哈希搜索。例如: 旧字节-----------锚------新字节------当前 h=散列[int4] reference=hash.get(h) hash.pu

我实现了一个基于无限深度哈希链的LZ77/LZ4(无熵编码)压缩算法。它工作良好,速度可以接受,但压缩比接近LZ4。阅读LZ4项目的文档和浏览源代码时,我知道它使用了depth1的散列链,但如果我将实现的depth1修复为1,LZ4的性能将优于它

我不明白LZ4匹配搜索算法(快速扫描)是如何工作的。有人能解释一下吗


谢谢。

扫描过程采用哈希搜索。例如:

  • 旧字节-----------锚------新字节------当前
  • h=散列[int4]
  • reference=hash.get(h)
  • hash.put(h,当前)用于以后的匹配
  • int(参考)==int(当前)?处理匹配:重试
  • 处理火柴
  • seachMatchNb变量是一种跳过方式,用于快速匹配,但可能会丢失分钟匹配

    哈希表是一种JIT样式,它只保存偏移量。readIntEquals函数进行键匹配

    在学习模式中忽略它