2
0
mirror of https://github.com/vasi/pixz synced 2024-11-03 09:40:24 +00:00
Go to file
2010-01-13 11:09:19 -05:00
.gitignore ignore list 2010-01-12 21:31:23 -05:00
common.c multi-threaded encoding 2010-01-13 00:40:07 -05:00
list.c factor out common code 2010-01-12 22:16:25 -05:00
Makefile factor out common code 2010-01-12 22:16:25 -05:00
pixz.h Find blocksize dynamically based on dict_size 2010-01-13 11:00:40 -05:00
read.c factor out common code 2010-01-12 22:16:25 -05:00
README docs 2010-01-13 01:04:56 -05:00
tar.c create a compressed tar file with a file index 2010-01-12 03:26:09 -05:00
test.sh multi-threaded encoding 2010-01-13 00:40:07 -05:00
TODO docs 2010-01-13 01:04:56 -05:00
write.c Use slightly more efficient (?) block size 2010-01-13 11:09:19 -05:00

Pixz (pronounced 'pixie') is a parallel, indexing version of XZ.


The existing XZ Utils ( http://tukaani.org/xz/ ) provide great compression in the .xz file format, but they have two significant problems:

* They are single-threaded, while most users nowadays have multi-core computers.
* The .xz files they produce are just one big block of compressed data, rather than a collection of smaller blocks. This makes random access to the original data impossible.


With pixz, both these problems can eventually be solved. Currently these pixz tools are available:

* write INPUT.tar OUTPUT.tpxz: Compresses an uncompressed tarball. The compression uses two cores. An index of all the files in the tarball is stored within the file, yet it remains compatible with standard xz and tar.

* read INPUT.tpxz PATH: Efficiently extracts a single file from a tarball compressed by 'write'.

* list [-t] INPUT.xz: Lists the xz blocks present within any .xz file. Optionally also lists a file index as stored by 'write'.