Python的LZ4绑定

lz4ext的Python项目详细描述


(以前的python-lz4)

https://travis-ci.org/sigman78/python-lz4.svg?branch=master

概述

这个包为yann collet的lz4 compression library提供绑定。

特定于此项目的代码包含在BSD 3-Clause License

安装

包裹寄存于PyPI

$ pip install lz4
$ easy_install lz4

用法

库的使用非常简单:

>>> import lz4
>>> compressed_data = lz4.dumps(data)
>>> data == lz4.loads(compressed_data)
True
>>>

方法和常数

绑定还提供了一些别名:

>>> import lz4
>>> lz4.LZ4_compress == lz4.compress == lz4.dumps
True
>>> lz4.LZ4_uncompress == lz4.uncompress == z4.decompress == lz4.loads
True
>>> lz4.VERSION == lz4.__version__  # e.g. "0.7.0"
True
>>>

快吗?

是的。以下是2011款MacBook Pro i7的结果,其中lz4.c是输入数据:

$ python tests/bench.py
Data Size:
  Input: 24779
  LZ4: 10152 (0.41)
  Snappy: 9902 (0.40)
  LZ4 / Snappy: 1.025247
Benchmark: 200000 calls
  LZ4 Compression: 9.737272s
  Snappy Compression: 18.012336s
  LZ4 Decompression: 2.686854s
  Snappy Decompression : 5.146867s

重要提示

因为lz4没有定义容器格式,所以python绑定将在压缩负载的开头插入原始数据大小作为整数,就像大多数绑定一样(java…)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用Jena获取类上的OWL限制   我需要用javadoc记录每一个方法还是java中的“main”方法?   ssl我的Java密钥库中需要什么?   java如何在安卓中实现视图寻呼机适配器?   java LibreOffice 4.4.3在不同服务器上使用jodconverter访问文档   Selenium Webdriver(Java)脚本之间的时间延迟   混合使用路径参数和请求参数的java Rest API   爪哇超级。基类中的toString()方法?   java IntelliJ Idea 2019.2与NPW崩溃   java replaceAll不适用于以下查询   java递归相关:两个数的乘积   java在屏幕/活动之间切换,无需按钮   java试图在GridBagLayout中对齐JcheckBox   java安全远程密码协议SRP和Spring安全