LZFSEApple开源的压缩算法
苹果开源了新的无损压缩算法LZFSE,该算法是去年在iOS 9和OS X 10.10中引入的。按照苹果公司的说法,LZFE的压缩增益和ZLib level 5相同,但速度要快2~3倍,能源效率也更高。
LZFSE基于Lempel-Ziv ,并使用了有限状态熵编码,后者基于Jarek Duda在非对称数字系统(ANS)方面所做的熵编码工作。简单地讲,ANS旨在“终结速度和比率的平衡”,既可以用于精确编码,又可以用于快速编码,并且具有数据加密功能。使用ANS代替更为传统的Huffman和算术编码方法的压缩库越来越多,LZFSE就位列其中。
显然,LZFSE的目标不是成为最好或最快的算法。事实上,苹果公司指出,LZ4的压缩速度比LZFSE快,而LZMA提供了更高的压缩率,但代价是比Apple SDK提供的其他选项要慢一个数量级。当压缩率和速度几乎同等重要,而你又希望降低能源效率时,LZFSE是苹果推荐的选项。
GitHub上提供了LZFSE的参考实现。在MacOS上构建和运行一样简单:
$ xcodebuild install DSTROOT=/tmp/lzfse.dst
如果希望针对当前的iOS设备构建LZFSE,可以执行:
xcodebuild -configuration "Release" -arch armv7 install DSTROOT=/tmp/lzfse.dst
除了API文档之外,苹果去年还提供了一个示例项目,展示如何使用LZFSE 进行块和流压缩,这是一个实用的LZFSE入门资源。
LZFSE是在谷歌brotli之后发布的,后者在去年开源。与LZFSE相比,brotli似乎是针对一个不同的应用场景进行了优化,比如压缩静态Web资产和Android APK,在这些情况下,压缩率是最重要的。
via:InfoQ
评论
李家沟村
李家沟村是辽宁省大连市旅顺口区三涧堡街道下辖的行政村,城乡分类代码为111,为主城区。区划代码为210212010200,居民身份证号码前6位为210212。邮政编码为116000,长途电话区号为04
李家沟村
0
李家沟村
李家沟村是山西省忻州市静乐县辛村乡下辖的行政村,城乡分类代码为220,为村庄。区划代码为140926205201,居民身份证号码前6位为140926。邮政编码为034000,长途电话区号为0350,
李家沟村
0
李家沟村
李家沟村是山西省忻州市岢岚县李家沟乡下辖的行政村,城乡分类代码为210,为乡中心区。区划代码为140929202200,居民身份证号码前6位为140929。邮政编码为034000,长途电话区号为035
李家沟村
0
李家沟村
李家沟村环境优美,资源丰富,土地肥沃,全村总户数为305户,人口1087人,设施齐全,自来水管道、有线闭路电视、上网宽带覆盖全村,交通便利。李家沟村与朝梁子村、大平台村、大兰窝村、干沟门村、小平台村、
李家沟村
0