使用SevenZipSharp库解压缩内存时出现的问题

时间:2013-11-28 03:56:33

标签: c# compression sevenzipsharp

我在c#中使用SevenZipSharp库解压缩内存中的.gz文件,遇到了一个奇怪的行为,文件大小增长了2-3倍,解压缩时间明显延长。更具体地说,.gz文件的平均大小约为40MB(解压缩时为700-800MB),并且解压缩时间最多为数十秒。但是解压缩这个特定的.gz文件需要花费半个多小时的时间,大小为90MB(解压后为1.6GB)。每个.gz文件都是通过7-zip从单个txt文件进行原始压缩。我附上了代码:

        for (int i = 0; i < fileNames.Length; i++)
        {
            using (FileStream fs = File.OpenRead(fileNames[i]))
            {
                using (var sze = new SevenZip.SevenZipExtractor(fs))                    
                {
                    MemoryStream mem = new MemoryStream();

                    sze.ExtractFile(0, mem);

                    using (StreamReader sr = new StreamReader(mem))
                    {
                        // do something
                    }
                }
             }
         }

知道为什么减压时间会在这里爆炸吗?这只是与调整内存流大小相关的开销吗?

0 个答案:

没有答案