2

WebコンテンツにDeflateとGZip圧縮を実装しています。.NET Framework DeflateStreamは非常に優れたパフォーマンスを発揮します(SharpZipLibほど圧縮されませんが、はるかに高速です)。残念ながら、それ(および私が知っている他のすべてのライブラリ)は、stream.WritePrecompressed(byte [] buffer)のような事前圧縮されたデータを書き込む関数を見逃しています。

この機能を使用すると、事前に圧縮されたブロックをストリームに挿入できます。これにより、この部分を圧縮するためのCPU負荷が軽減され、Webサーバーの合計スループットが向上する可能性があります。

これを実行できるマネージドライブラリはありますか?または、ComponentAceからZLIB.NETを超えてこれを行うための良い出発点はありますか?

4

3 に答える 3

1

もう 1 つの方法は、デフレーター ストリームをフラッシュして (場合によっては閉じることも)、バッファーに格納されたすべての圧縮データが出力ストリームに書き込まれるようにし、事前に圧縮されたデータを基になる出力ストリームに書き込み、デフレーター ストリームを再度開くことです。再び出力ストリームの上に。

于 2009-10-06T23:01:19.763 に答える