目录

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 数据压缩开源库 简介相关推荐

  1. 整理的常用JAVA开源库简介

    Jakarta common: Commons Logging Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于 ...

  2. 几种常用图像处理开源库简介及使用总结

    1.OpenCV,主要以算法形式,展示其实现:也就是说,它实际提供的是各种图像处理算法.若需具体应用,需要组合其算法以实现某个功能. OpenCV 的全称 Open Source Computer V ...

  3. 【Android 安全】DEX 加密 ( 代理 Application 开发 | 交叉编译 OpenSSL 开源库 )

    文章目录 一.OpenSSL 开源库简介 二.OpenSSL 源码及环境变量脚本下载 三.修改环境变量脚本 四.OpenSSL 交叉编译 五.OpenSSL 交叉编译相关资源下载 参考博客 : [An ...

  4. 学习 Intel 线程构建块开源库(TBB)

    原文转载于:https://blog.csdn.net/zhu2695/article/details/51247267 学习 Intel 线程构建块开源库 简介 我们发现了 POSIX 线程和基于 ...

  5. Android 内存泄漏检测开源库LeakCanary 研究

    1. Android 内存空间不足会引发的问题 1.1 异常 1.2 卡顿 1.3 从 Java 堆内存超限这个问题开始 2. 内存优化着手点 2.1 检测 RAM usage 2.2 进程 2.3 ...

  6. IOS 第三方开源库汇总

    IOS 第三方开源库汇总 1. 常用开源库简介 2. 统计工具 3. 数据埋点工具 4. 社交分享集成工具 5. 网络通信,网络数据工具 6. 音视频处理工具 7. 图像处理工具 8. 云存储 9. ...

  7. 《Android开源库 ~ 1》 GitHub Android Libraries Top 100 简介

    转载自GitHub Android Libraries Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitH ...

  8. 强大的Canvas开源库Fabric.js简介与开发指南

    什么是Fabric.js? Fabric.js 是一个强大且简单的Javascript HTML5 Canvas库. 官网地址:http://fabricjs.com/ 为什么要使用Fabric.js ...

  9. 常用C/C++开源库

    1. 框架 Apache C++ Standard Library : 是一系列算法,容器,迭代器和其他基本组件的集合 ASL : Adobe源代码库提供了同行的评审和可移植的C++源代码库. Boo ...

最新文章

  1. AR模型、MA(Moving Average)模型、ARMA模型、时间序列的定阶、ARIMA、SARIMAX
  2. java文件不存在就创建_Java中创建并写文件的5种方式
  3. vue表格导出到Excel
  4. OpenCASCADE绘制测试线束:布尔运算命令之两个操作数的布尔运算
  5. Sketch小技巧—画出各种星型和多边形的简单方法
  6. 刘作虎亲曝一加7T外包装盒:里里外外重新设计
  7. 汇编指令对应的机器码_汇编语言输出“welcome to you!”
  8. 对计算机硬件的工作原理的认识,计算机硬件的认识与安装.doc
  9. asp.net 利用DirectoryEntry来验证用户以及开机密码
  10. 金蝶kiss专业版财务软件下载。
  11. 计算机软件类自然科学基金标书,国家自然科学基金标书撰写——体会6(转发仅供参考)...
  12. arm版红帽企业linux,红帽:ARM架构下的Linux不是玩笑
  13. 分享 百度网盘,不用开会员也可以免费同步上传视频和照片的方法
  14. 2021年湖南省长沙市房地产行业发展现状分析(附开发投资额、施工面积、商品房销售、待售面积等)[图]
  15. Spring Boot配置(一)
  16. 关于自己在大学的一些经历
  17. 链表的基本操作(C语言)
  18. 世峰与深圳供电局就电力发展历史虚拟现实培训系统项目展开合作
  19. vue上传文件,实现单选 ,实现递归多选
  20. 在ubuntu上,绑定usb串口的几种方式(udev)

热门文章

  1. ADODB类库操作查询数据表
  2. 数据结构与算法分析c++第四版_研分享 | 人工智能学院数据结构与算法分析考研备考整理...
  3. Go 语言编程 — go 常用指令
  4. KVM — Overview
  5. 我非要捅穿这 Neutron(四)Open vSwitch in Neutron
  6. STM32H7的Cache和MPU
  7. 守护线程与线程阻塞的四种情况
  8. 什么是事务(transaction)?它有什么好处
  9. vim文本编辑器详解
  10. 工欲善其事,必先利其器 _SUBLIME TEXT 3_使用心得(上篇)