zoukankan      html  css  js  c++  java
  • 为何我用System.IO.Compression.GZipStream解压缩,速度这么慢?

    写出如下的代码,让我很是费力。
    .net 提供了System.IO.Compression.GZipStream的压缩示例,却没有很好的解压缩的代码。
    无奈自己实现了一段,但是在解压一段压缩后成为1.16MB,而原始数据为15MB的数据时,
    竟耗时达3000毫秒左右!

    不知原因为何,请高手不禀赐教!

    先贴一下代码:

    1 1. public object DeCompression(byte[] request)
    2 2. {
    3 3. object ob = new object();
    4 4. Stream sourceStream = new MemoryStream(request);
    5 5. System.IO.Compression.GZipStream zipStream = new System.IO.Compression.GZipStream(
    6 6. sourceStream,
    7 7. System.IO.Compression.CompressionMode.Decompress);
    8 8. byte[] buffer = new byte[20480];
    9 9. byte[] bt = new byte[0];
    10 10. int iread = 0;
    11 11. do
    12 12. {
    13 13. iread = zipStream.Read(buffer, 0, 20480);
    14 14. byte[] bswap = new byte[bt.Length + buffer.Length];
    15 15. Buffer.BlockCopy(bt, 0, bswap, 0, bt.Length);
    16 16. Buffer.BlockCopy(buffer, 0, bswap, bt.Length, buffer.Length);
    17 17. bt = bswap;
    18 18. bswap = null;
    19 19. GC.Collect();
    20 20. } while (iread > 0);
    21 21. zipStream.Close();
    22 22. sourceStream.Close();
    23 23. MemoryStream ms = new MemoryStream(bt);
    24 24. ob = DeSerializeBinary(ms);
    25 25. ms.Close();
    26 26. return ob;
    27 27. }

  • 相关阅读:
    P1064 金明的预算方案
    P1062 数列
    P2258 子矩阵
    P1095 守望者的逃离
    P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers
    P1203 [USACO1.1]坏掉的项链Broken Necklace
    P1478 陶陶摘苹果(升级版)
    P2485 [SDOI2011]计算器
    逆元模板
    CloudStack 物理网络架构
  • 原文地址:https://www.cnblogs.com/saptechnique/p/1966272.html
Copyright © 2011-2022 走看看