我正在为 Web 内容实现 Deflate 和 GZip 压缩。 .NET Framework DeflateStream 的性能非常好(它的压缩效果不如 SharpZipLib,但速度要快得多)。不幸的是,它(以及我知道的所有其他库)缺少一个函数来写入像 stream.WritePrecompressed(byte[] buffer) 这样的预压缩数据。
有了这个函数,就可以在流中插入预压缩 block 。这可以减少压缩这部分的 cpu 负载并增加 Web 服务器的总吞吐量。
是否有任何托管库能够执行此操作?或者除了 ComponentAce 的 ZLIB.NET 之外,还有什么好的起点可以做到这一点吗?
最佳答案
另一种方法是刷新 deflater 流(也可能关闭它),以保证所有缓冲的压缩数据都写入输出流,然后只需将预压缩数据写入底层输出流,然后重新打开deflater 流再次位于输出流之上。
关于c# - Deflate Compression Stream 可以插入预压缩数据。 .NET 库是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1410533/