木子屋 Dnawo's BLOG

DotNetZip 、SharpZipLib 和 WinZip 压缩比较

👤 dnawo 📅 2009-02-24 👁 7343 👍 0 💬 0 🔄 来源:本站原创
测试文件夹:

·E:\001 包含一些手机主题和图片文件,共44.7M
·E:\002 包含一些文本文件和图片文件,共313M

测试代码:

long i = DateTime.Now.Ticks;

//DotNetZip 1.7
using (ZipFile zip = new ZipFile(@"E:\001a.zip", Encoding.Default))
{
    zip.AddDirectory(@"E:\001");
    zip.Save();
}

//SharpZipLib 0.85
(new FastZip()).CreateZip(@"E:\001b.zip", @"E:\001", true, "");

//WinZip 10.0
Process process = new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.RedirectStandardOutput = false;//如果不需获取返回值,设置此属性为false,否则程序会卡死
process.StartInfo.FileName = "winzip.exe";
process.StartInfo.WorkingDirectory = Environment.CurrentDirectory;
process.StartInfo.Arguments = @"-p -r E:\001c.zip E:\001";
process.Start();
process.WaitForExit();
process.Close();

long j = DateTime.Now.Ticks;

MessageBox.Show(((j - i)/10000000).ToString());

测试结果:

E:\001压缩比较
DotNetZip:平均时间11s,zip文件大小44.4M;
SharpZipLib:平均时间7s,zip文件大小44.3M;
WinZip:平均时间5s,zip文件大小44.3M;

E:\002压缩比较
DotNetZip:平均时间47s,zip文件大小32M;
SharpZipLib:平均时间37s,zip文件大小30.9M;
WinZip:平均时间18s,zip文件大小32.2M;

测试结论:

总体来说,三者生成的zip文件大小都差不多,DotNetZip平均使用的时间最多,SharpZipLib其次,WinZip最少,压缩的文件越大越明显。

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 DotNetZip使用示例 下一篇 → SharpZipLib使用示例