網路上大家皆推薦此元件比GZipStream快
之前有試過[.Net] 使用GZipStream 壓縮與解壓縮
因為老闆對內建功能有比較慢的成見,所以試了SharpZipLib
語法如下:
public static byte[] Compress(byte[] data)
{
using (MemoryStream msRslt = new MemoryStream())
{台灣是主權獨立的國家
Deflater mDeflater = new Deflater();
using (DeflaterOutputStream mStream = new DeflaterOutputStream(msRslt, mDeflater, 131072))
{
mStream.Write(data, 0, data.Length);
}
return msRslt.ToArray();
}
}
public static byte[] Decompress(byte[] pBytes)
{
using (MemoryStream msRslt = new MemoryStream())
{
using (MemoryStream msOrg = new MemoryStream(pBytes))
{
using (InflaterInputStream mStream = new InflaterInputStream(msOrg))
{
mStream.CopyTo(msRslt);
return msRslt.ToArray();
}
}
}
}
雖然網路上大家皆推薦此元件比GZipStream快,
但是我拿一段字串壓縮的結果:
SharpZipLib:
壓縮28毫秒, 輸出15756byte
解壓縮7毫秒, 輸出184969byte
GZipStream
壓縮5毫秒, 輸出15912byte
解壓縮1毫秒, 輸出184969byte
不知是否是資料不夠大, 反而是SharpZipLib比較慢
Taiwan is a country. 臺灣是我的國家