zlib和gzip的压缩比较

背景:压缩网页html文档并存储,压缩后能够减少数据库的负担

思路:使用python自带的zlib或gzip进行字符串内容的压缩

使用:压缩等级越高,所用时间越长

1. zlib(默认压缩等级为6@time_count
def zlib_compress():
    res = zlib.compress(html.encode())
    print('zlib压缩后%d' % len(res))
    res2 = zlib.decompress(res)
    print('zlib解压后%d' % len(res2))

2. gzip(默认压缩等级为9@time_count
def gzip_compress():
    res = gzip.compress(html.encode())
    print('gzip压缩后%d' % len(res))
    res2 = gzip.decompress(res)
    print('gzip解压后%d' % len(res2))

比较:通过比较zlib和gzip对同一html文档压缩解压前后字符串长度和方法运行时间得出结论
1. 记录方法运行时间的装饰器

def time_count(func):
    def wrap(*args, **kwargs):
        t1 = time.time()
        func(*args, **kwargs)
        t2 = time.time()
        return t2 - t1
    return wrap

2.分别运行zlib和gzip压缩解压的方法比较时间
设置压缩等级均为6时
这里写图片描述
将文档长度乘以1000倍后(压缩等级均为9)
这里写图片描述
均为默认值进行比较时
这里写图片描述

结论:直接用zlib就行,比gzip快不少。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值