64ビットプロセス内でC#コードを実行するAzureの役割で、ZIPファイルをダウンロードしてできるだけ早く解凍したいと思います。次のことができると思いました。MemoryStream
インスタンスを作成しMemoryStream
、そこにダウンロードしてから、ストリームをZIP処理ライブラリに渡して解凍し、解凍が完了したらストリームを破棄します。このようにして、多くのI/Oを不必要に実行する書き込み-読み取り-書き込みシーケンスを取り除くことができます。
MemoryStream
ただし、配列に裏打ちされた0.5ギガバイトの配列は、間違いなく「ラージオブジェクト」と見なされ、ガベージコレクションで圧縮されないラージオブジェクトヒープに割り当てられることを読みました。これは、おそらくこの使用法がMemoryStream
プロセスメモリの断片化と長期的な悪影響につながるのではないかと心配しています。
これは私のプロセスに長期的な悪影響を与える可能性がありますか?