我想知道 JavaSnappyFramedInputStream
和之间的实现/性能差异SnappyInputStream
,以及它们各自的最佳使用场景。(对于他们的OutputStream
同行也是如此)。
提前致谢!
功能上的区别在于 SnappyInputStream 是专有的,而 SnappyFramedInputStream 实现了 google 定义的帧格式(由@andres.santana 链接)。
从性能的角度来看,我猜测您正在谈论 xerial snappy-java 实现(因为我相信这是当前存在的唯一 SnappyFramedInputStream)。不同之处在于成帧格式在每一帧上都包含一个 crc32c 校验和。SnappyFramedInputStream 允许禁用此校验和的验证,这有效地消除了纯阅读角度上的任何差异。