ucl 数据压缩开源库 简介
目录
Key Facts 事实
Overview
How fast is fast ? 快就是快?
Portability 可塑性
UCL is a portable lossless data compression library written in ANSI C.
是一个用 ANSI c 编写的便携式无损数据压缩库。
UCL implements a number of compression algorithms that achieve an excellent compression ratio while allowing *very* fast decompression. Decompression requires no additional memory.
实现了一系列压缩算法,这些算法在实现优秀的压缩比/值的同时允许非常快速的解压缩。解压缩不需要额外的内存。
UCL is an OpenSource re-implementation of some NRV compression algorithms.
UCL 是对一些 NRV 压缩算法的 OpenSource 重新实现。
As compared to LZO, the UCL algorithms achieve a better compression ratio but decompression is a little bit slower. See below for some rough timings.
与 LZO 相比,UCL 算法实现了更好的压缩比/值,但是解压缩速度有点慢。以下是一些粗略的时间安排。
Overview
UCL is written in ANSI C. Both the source code and the compressed data format are designed to be portable across platforms.
UCL 是用 ANSI c 编写的,源代码和压缩的数据格式都被设计成可跨平台移植的。
UCL implements a number of algorithms with the following features:
伦敦大学学院实现了一系列具有以下特点的算法:
- Decompression is simple and * 减压很简单 *very 非常* fast. * 快速
- Requires no memory for decompression. 不需要解压缩内存
- The decompressors can be squeezed into less than 200 bytes of code. 可以将解压缩器压缩到少于200字节的代码中
- Focuses on compression levels for generating pre-compressed data which achieve a quite competitive compression ratio. 集中于压缩级别生成预压缩数据,实现一个相当有竞争力的压缩比
- Allows you to dial up extra compression at a speed cost in the compressor. The speed of the decompressor is not reduced. 允许您以压缩机中的速度成本拨号进行额外的压缩。减压器的速度并没有降低
- Algorithm is thread safe. 算法是线程安全的
- Algorithm is lossless. 算法是无损的
UCL supports in-place decompression.
UCL 支持就地减压。
UCL and the UCL algorithms and implementations are distributed under the terms of the GNU General Public License (GPL) { auf Deutsch }. Special licenses for commercial and other applications are available by contacting the author.
UCL 和 UCL 的算法和实现都是在 GNU通用公共许可协议协议(GPL)的条款下发布的。特殊许可证的商业和其他应用可与作者联系。
How fast is fast ? 快就是快?
Here are some original timings on an ancient Intel Pentium 133 back in the year 2000:
以下是2000年英特尔奔腾133的一些原始时间:
- memcpy(): ~60 MB/sec Memcpy () : ~ 60mb/sec
- UCL decompression in optimized assembler: ~13 MB/sec 优化汇编程序的 UCL 解压缩: ~ 13mb/sec
- LZO decompression in optimized assembler: ~20 MB/sec 优化汇编器中的 LZO 解压缩: ~ 20mb/sec
- LZO decompression in C: ~16 MB/sec C 中的 LZO 解压缩: ~ 16 MB/sec
Portability 可塑性
UCL's decompressors should work on any system around - they could even get ported to 8-bit processors such as the Z-80 or 6502. (In fact I expect a 6502 implementation too happen soon in the process of extending the UPX executable packer).
UCL 的解压缩器应该可以在周围的任何系统上工作——它们甚至可以被移植到8位处理器上,比如 z-80或6502。(事实上,我期望在扩展 UPX 可执行封装程序的过程中很快就能实现6502)。
The compressors currently require at least 32-bit integers. While porting them to more restricted environments (such as 16-bit DOS) should be possible without too much effort this is not considered important at this time.
压缩器目前至少需要32位整数。虽然可以将它们移植到更受限制的环境(例如16位 DOS) ,但不需要付出太多努力,这一点目前并不重要。
ucl 数据压缩开源库 简介相关推荐
- 整理的常用JAVA开源库简介
Jakarta common: Commons Logging Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于 ...
- 几种常用图像处理开源库简介及使用总结
1.OpenCV,主要以算法形式,展示其实现:也就是说,它实际提供的是各种图像处理算法.若需具体应用,需要组合其算法以实现某个功能. OpenCV 的全称 Open Source Computer V ...
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 交叉编译 OpenSSL 开源库 )
文章目录 一.OpenSSL 开源库简介 二.OpenSSL 源码及环境变量脚本下载 三.修改环境变量脚本 四.OpenSSL 交叉编译 五.OpenSSL 交叉编译相关资源下载 参考博客 : [An ...
- 学习 Intel 线程构建块开源库(TBB)
原文转载于:https://blog.csdn.net/zhu2695/article/details/51247267 学习 Intel 线程构建块开源库 简介 我们发现了 POSIX 线程和基于 ...
- Android 内存泄漏检测开源库LeakCanary 研究
1. Android 内存空间不足会引发的问题 1.1 异常 1.2 卡顿 1.3 从 Java 堆内存超限这个问题开始 2. 内存优化着手点 2.1 检测 RAM usage 2.2 进程 2.3 ...
- IOS 第三方开源库汇总
IOS 第三方开源库汇总 1. 常用开源库简介 2. 统计工具 3. 数据埋点工具 4. 社交分享集成工具 5. 网络通信,网络数据工具 6. 音视频处理工具 7. 图像处理工具 8. 云存储 9. ...
- 《Android开源库 ~ 1》 GitHub Android Libraries Top 100 简介
转载自GitHub Android Libraries Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitH ...
- 强大的Canvas开源库Fabric.js简介与开发指南
什么是Fabric.js? Fabric.js 是一个强大且简单的Javascript HTML5 Canvas库. 官网地址:http://fabricjs.com/ 为什么要使用Fabric.js ...
- 常用C/C++开源库
1. 框架 Apache C++ Standard Library : 是一系列算法,容器,迭代器和其他基本组件的集合 ASL : Adobe源代码库提供了同行的评审和可移植的C++源代码库. Boo ...
最新文章
- AR模型、MA(Moving Average)模型、ARMA模型、时间序列的定阶、ARIMA、SARIMAX
- java文件不存在就创建_Java中创建并写文件的5种方式
- vue表格导出到Excel
- OpenCASCADE绘制测试线束:布尔运算命令之两个操作数的布尔运算
- Sketch小技巧—画出各种星型和多边形的简单方法
- 刘作虎亲曝一加7T外包装盒:里里外外重新设计
- 汇编指令对应的机器码_汇编语言输出“welcome to you!”
- 对计算机硬件的工作原理的认识,计算机硬件的认识与安装.doc
- asp.net 利用DirectoryEntry来验证用户以及开机密码
- 金蝶kiss专业版财务软件下载。
- 计算机软件类自然科学基金标书,国家自然科学基金标书撰写——体会6(转发仅供参考)...
- arm版红帽企业linux,红帽:ARM架构下的Linux不是玩笑
- 分享 百度网盘,不用开会员也可以免费同步上传视频和照片的方法
- 2021年湖南省长沙市房地产行业发展现状分析(附开发投资额、施工面积、商品房销售、待售面积等)[图]
- Spring Boot配置(一)
- 关于自己在大学的一些经历
- 链表的基本操作(C语言)
- 世峰与深圳供电局就电力发展历史虚拟现实培训系统项目展开合作
- vue上传文件,实现单选 ,实现递归多选
- 在ubuntu上,绑定usb串口的几种方式(udev)
热门文章
- ADODB类库操作查询数据表
- 数据结构与算法分析c++第四版_研分享 | 人工智能学院数据结构与算法分析考研备考整理...
- Go 语言编程 — go 常用指令
- KVM — Overview
- 我非要捅穿这 Neutron(四)Open vSwitch in Neutron
- STM32H7的Cache和MPU
- 守护线程与线程阻塞的四种情况
- 什么是事务(transaction)?它有什么好处
- vim文本编辑器详解
- 工欲善其事,必先利其器 _SUBLIME TEXT 3_使用心得(上篇)