当前位置: 首页 > news >正文

一个从7zip中分离出来的高压缩比文本压缩工具ppmd

主页
生成二进制文件很简单

/par/ppmd-mini-master# make
cc -Ilib -g -O3 -flto -fwhole-program -Wall -Wextra -o ppmd-mini ppmd-mini.c lib/Ppmd8.c lib/Ppmd8Dec.c lib/Ppmd8Enc.c
/par/ppmd-mini-master# ./ppmd-mini
ppmid-mini: compressed data cannot be written to a terminal/par/ppmd-mini-master# time ./ppmd-mini sheet1.ppmd ../10/x/xl/worksheets/sheet1.xml
ppmid-mini: too many arguments
Usage: ppmid-mini [-d] [-k] [-c] [FILE]/par/ppmd-mini-master# time ./ppmd-mini -k ../10/x/xl/worksheets/sheet1.xmlreal    0m29.257s
user    0m19.373s
sys     0m0.659stime ../myzips ../10/x/xl/worksheets/sheet1.xml
写入sheet1.xml文件数据
成功创建ZIP文件: output.zip (1个条目)real    0m15.089s
user    0m8.063s
sys     0m0.746s
root@6ae32a5ffcde:/par/ppmd-mini-master# ls -l output.zip
-rwxrwxrwx 1 root root 123923992 Aug 31 13:32 output.ziproot@6ae32a5ffcde:/par/ppmd-mini-master# time xz -k ../10/x/xl/worksheets/sheet1.xmlreal    3m44.080s
user    3m31.611s
sys     0m0.587sroot@6ae32a5ffcde:/par/ppmd-mini-master# ls -l ../10/x/xl/worksheets/sheet1*
-rwxrwxrwx 1 root root 439043188 Jul  2  2012 ../10/x/xl/worksheets/sheet1.xml
-rwxrwxrwx 1 root root  91712087 Aug 31 13:25 ../10/x/xl/worksheets/sheet1.xml.ppmd
-rwxrwxrwx 1 root root  83660036 Jul  2  2012 ../10/x/xl/worksheets/sheet1.xml.xz

可见,压缩时间约是zip的两倍,大小约是zip的75%,虽然比xz格式大10%,但压缩时间仅为xz的1/7.

http://www.dtcms.com/a/360406.html

相关文章:

  • 使用PowerShell监听本地端口
  • 多线程案例、线程池
  • QT6(QStandardItemModel和QTableView及自定义代理)
  • 第3章 乱码的前世今生-字符集和比较规则
  • 部署在windows的docker中的dify知识库存储位置
  • 常见线程池的创建方式及应用场景
  • Cookie、Session 和 JWT
  • 【K8s-Day 22】深入解析 Kubernetes Deployment:现代应用部署的基石与滚动更新的艺术
  • 服装管理软件与工厂计件系统精选
  • 【OpenGL】LearnOpenGL学习笔记18 - Uniform缓冲对象UBO
  • [每周一更]-(第158期):构建高性能数据库:MySQL 与 PostgreSQL 系统化问题管理与优化指南
  • XPlayer播放器APP:安卓平台上的全能视频播放器
  • 网络代理协议深度对比
  • Linux/UNIX系统编程手册笔记:系统和进程信息、文件I/O缓冲、系统编程概念以及文件属性
  • Multi-Head RAG: Solving Multi-Aspect Problems with LLMs
  • ST-2110概述
  • MySQL专题Day(1)————事务
  • postman 用于接口测试,举例
  • Linux shell 脚本基础 003
  • centos7安装jdk17
  • c++程序员日常超实用工具(长期记录更新)
  • PS自由变换
  • 【人工智能99问】LLaMA中的RoPE是什么?(35/99)
  • 学习Python中Selenium模块的基本用法(12:操作Cookie)
  • 【系统分析师】高分论文:论大数据架构的应用
  • 写一个 RTX 5080 上的 cuda gemm fp16
  • 使用yt-dlp下载网页视频
  • synchronized的锁对象 和 wait,notify的调用者之间的关系
  • Wi-Fi技术——初识
  • Flink NettyBufferPool