Skip to content
/ sharc Public

Simple Highspeed Archiver

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

g1mv/sharc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sharc

Simple High-speed ARChiver

sharc is a very fast file archiver, using the density compression library. It is ideal when speed is paramount, followed by compression ratio - although excellent ratios can be achieved with certain settings on low entropy data.

sharc uses parallel processing to achieve maximum encode/decode performance, and is thus particularly efficient with large files. Data integrity is verified using the fast, non-cryptographic seahash hashing algorithm.

MIT licensed Apache-2.0 licensed Crates.io Build Status

Build

sharc can be built on rust-compatible platforms. First use rustup to install rust.

a) get the source code:

    git clone https://github.com/g1mv/sharc.git
    cd sharc

b) build and print help:

    RUSTFLAGS="-C target-cpu=native" cargo build --release
    target/release/sharc -h

Output file format

The .sharc file format consists of a header, followed by a sequence of blocks. The header has the following structure:

Header Algorithm used Block size MB
5 bytes 1 byte 2 bytes

The sequence of blocks has the following structure:

Encoded block size (ebs) Encoded block Block hash
8 bytes {ebs} bytes 8 bytes

General usage

To compress a file named 'test.file' into 'test.file.sharc' using the default algorithm (density cheetah):

sharc test.file

To decompress 'test.file.sharc',

unsharc test.file.sharc

Algorithm selection

Compression algorithm can be selected with the -a option.

Algorithm Speed rank Ratio rank
chameleon 1st 3rd
cheetah 2nd 2nd
lion 3rd 1st

For example, to use the fastest available algorithm (density chameleon):

sharc -a chameleon test.file

Other options

For further information on all other options:

sharc -h

About

Simple Highspeed Archiver

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages