`
mingren135
  • 浏览: 69008 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java自带压缩方式的性能比较

    博客分类:
  • JAVA
阅读更多

Java常用的压缩方式是gzip,它的性能比另外一种zip压缩方式好多少呢,抽空写了个程序来验证一下

 

分别用以下长度的字节字符串进行压缩比较

int[] intArr = { 1, 10, 50, 100, 200, 300, 500, 700, 900, 1000, 2000, 5000, 10000, 100000, 1000000 };

 测试结果如下

// 压缩大小分析
origin=1,gzip=21,zip=123
origin=10,gzip=30,zip=132
origin=50,gzip=70,zip=172
origin=100,gzip=119,zip=221
origin=200,gzip=194,zip=296
origin=300,gzip=269,zip=371
origin=500,gzip=420,zip=522
origin=700,gzip=568,zip=670
origin=900,gzip=719,zip=821
origin=1000,gzip=790,zip=892
origin=2000,gzip=1535,zip=1637
origin=5000,gzip=3787,zip=3889
origin=10000,gzip=7540,zip=7642
origin=100000,gzip=75205,zip=75307
origin=1000000,gzip=752046,zip=752148

 

// 压缩率分析
origin=1,gzip=2100.00%,zip=12300.00%
origin=10,gzip=300.00%,zip=1320.00%
origin=50,gzip=140.00%,zip=344.00%
origin=100,gzip=119.00%,zip=221.00%
origin=200,gzip=97.00%,zip=148.00%
origin=300,gzip=89.67%,zip=123.67%
origin=500,gzip=84.00%,zip=104.40%
origin=700,gzip=81.14%,zip=95.71%
origin=900,gzip=79.89%,zip=91.22%
origin=1000,gzip=79.00%,zip=89.20%
origin=2000,gzip=76.75%,zip=81.85%
origin=5000,gzip=75.74%,zip=77.78%
origin=10000,gzip=75.40%,zip=76.42%
origin=100000,gzip=75.21%,zip=75.31%
origin=1000000,gzip=75.20%,zip=75.21%

 

// 压缩时间分析 
origin=1,gzip=58ms,zip=2ms
origin=10,gzip=0ms,zip=0ms
origin=50,gzip=0ms,zip=0ms
origin=100,gzip=1ms,zip=0ms
origin=200,gzip=0ms,zip=0ms
origin=300,gzip=0ms,zip=1ms
origin=500,gzip=0ms,zip=0ms
origin=700,gzip=0ms,zip=1ms
origin=900,gzip=0ms,zip=0ms
origin=1000,gzip=0ms,zip=1ms
origin=2000,gzip=0ms,zip=0ms
origin=5000,gzip=1ms,zip=0ms
origin=10000,gzip=1ms,zip=0ms
origin=100000,gzip=5ms,zip=5ms
origin=1000000,gzip=52ms,zip=55ms

 

 分析与结论

1)内容字节数偏小时,不适合进行压缩,压缩内容反而会更大

2)gzip压缩率大于zip,随着字节数增大,zip压缩率趋近与gzip

3)gzip与zip压缩时间差别不大

因此实际使用中大都采用gzip

分享到:
评论

相关推荐

    通过Java测试几种压缩算法的性能(附测试代码下载)

    主要介绍了通过Java测试几种压缩算法的实际性能的一个实验,包括Java自带的deflate与GZIP压缩方式,还是有一定借鉴意义的,需要的朋友可以参考下

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java开源包11

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包6

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包9

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包4

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包101

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包5

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包8

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包10

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包3

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包1

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包2

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包7

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    Java资源包01

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java面试题

    如果不使用Hibernate自带的分页,则采用什么方式分页? 62 71.16. hibernate中一对多配置文件返回的是什么? 63 71.17. hibernate拒绝连接、服务器崩溃的原因?最少写5个 63 71.18. Hibernate主键介绍 63 71.18.1. ...

    网管教程 从入门到精通软件篇.txt

    JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JFF,JFIF,JIF:JPEG文件 JPE,JPEG,JPG:JPEG图形...

Global site tag (gtag.js) - Google Analytics