Skip to content
Jpak compression format
C++ Meson
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Unpacks entries. Dec 30, 2016
COPYING Beginneth. Dec 30, 2016
file.cpp
file.hpp
fileutils.cpp
fileutils.hpp
jpack.cpp Reorder files for better compression. Closes #3. Mar 12, 2017
jpacker.cpp Negation is hard. Jan 1, 2017
jpacker.hpp Compress small files in clumps. Jan 1, 2017
junpack.cpp Unpack clump format. Jan 1, 2017
meson.build Compress entries with lzma. Dec 31, 2016
mmapper.cpp
mmapper.hpp
readme.md Added 7zip measurements. Jan 2, 2017
utils.cpp
utils.hpp

readme.md

Jpak compression format

Not stable or properly tested! Do not use to store any data you care about

This is a compression format designed for:

  • similar compression ratio as tar + xz
  • random access of files
  • parallel packing and unpacking

Note that parallel operations are not yet implemented.

Measurements

Article about results is online here.

Compressed file sizes for different archivers including some not listed in the article above. Archives listed in decreasing order of size.

  • Zip 164 MB
  • 7zip 150 MB
  • jpa-10M 102 MB
  • jpa-10M 93 MB
  • tar.xz 92 MB
  • jpa-100M 91 MB
  • 7zip solid 91 MB
  • jpa-1000M 91 MB

The last three are very close to the same size, jpa-1000M is only around 100 kB smaller than 7zip solid.

All archivers used LZMA compression with default settings.

You can’t perform that action at this time.