如果恢复记录的大小足够大,5%或更多,新的纠错方案提供了比 RAR 4.x 更高的抗多种损害的能力。较小
的恢复记录,如 1 - 2%, 或较少的随机损坏类型时 4.x 和 5.0 的区别较少。对于单一连续损坏,4.x 和 5.0 的效率是相同的。
此外,通常的数据抹除,新的恢复记录比之前的 RAR 版本可以检测删除和插入更大的大小。最大的插入大小是几兆字节。最大的删除大小依赖于损坏的类型,在某些情况下可以和恢复记录的大小一样大。
不过,最好的恢复性能和效率是压缩文件没有删除和插入存在,包括受损区域的所有数据保持原来的位置。因此,如果你使用一些特殊的软件从损坏的媒介复制压缩文件,最好选择以零或任何其他数据填充受损区域的模式,而不是把它们完全从结果文件中切除。
RAR 5.0 恢复记录比恢复记录本身更耐损坏,可以利用部分损坏的恢复记录数据。但是,请注意,“修复”命令不修复恢复记录的损坏块。只有文件数据可以被更正。压缩文件修复成功后,您可能需要对保存的文件创建一个新的恢复记录。
新恢复记录不再是基于512字节区块,而是有更复杂的数据结构。所以不可能指定区块的大小。对于RAR 5.0 压缩文件 rr[N]开关和rr[N]命令的参数总是视为压缩文件大小的百分比,不管%字符是否存在。通常 N% 恢复记录可以修复 N%的连续损坏数据,增加压缩文件的大小仅略超过 N%。解决多个损坏的能力与N成正比。
我们使用 James S. Plank、Kevin M. Greenan 和 Ethan L. Miller 的 “Screaming Fast Galois Field Arithmetic Using Intel SIMD Instructions”论文来改进Reed-Solomon码性能。也感谢 Artem Drobanov 和 Bulat Ziganshin 提供例子和想法使Reed-Solomon码更有效率。