ComZip v20180405



---- Shareware Download

  You may download the binary executable codes of ComZip v20180405 in the following URLs:
    1. x86/64 platform: cz_v20180405_x64.tar     (Tested on Intel Core i7, Ubuntu Linux 12.10 x64)
    2. ARM platform: cz_v20180405_arm.tar     (Tested on Raspberry Pi 2 Model B, Raspbian Linux 7)


---- Introduction

    ComZip is a shareware of data compression/encryption. Its current version supports large data window up to 256 GB and large BWT block up to 2 GB. The performance depends on the actual RAM size. ComZip may have better compression ratio than WinRAR and 7-zip, and it may be faster than 7-zip.


---- Compression Command Line

  We take the version for x86/84 platform for example. If the platform is ARM, change the command "comzip2" into "comzip32".

  There are 2 steps to compress:
    1. Generate the index file (XML format) for the list of the original file(s).
    2. Compress the file(s) according to the index file.

  Usage:
    comxml <index XML file> [-f <config file>] <original file path>
    comzip2 <compressed file> <index XML file> <original file path>

  Example:
    comxml test.xml ./test.txt
    comzip2 test.cz test.xml .


---- Decompression Command Line

  We take the version for x86/84 platform for example. If the platform is ARM, change the command "comunzip" into "comunzip32".

  Usage:
    comunzip <compressed file> <index XML file> [<decompressed file path>]

  Example:
    comunzip test.cz test.xml /tmp


---- Configuration of Data Window and BWT Block Size

  To change the data window and BWT block size, and the choice of using BWT fileter or not, there are 2 ways:
    1. Before the command "comxml", modify the file "cz.ini".
    2. Before the command "comzip2", modify the index XML file.

  You can modify 3 parameters in the file "cz.ini" or the index XML file:
    1. "cache": Configure the data window size.
    2. "bwt": Choose the BWT filter or not (0 or 1).
    3. "block": Configure the BWT block size.

    And you can use odd values for "cache" and "block", for example, 371 MB, 1235 MB, etc.
    But if the value exceeds the capacity of RAM, the system will use the virtual memory. This will slow down the speed rapidly. Thus the data window is limited by the actual RAM size.
    You may estimate the memory usage of running ComZip to avoid the overflow of RAM. It includes 4 parts:

    1. Basic memory for Linux and ComZip.
    On the x86/64 platform, it's about 1-1.5 GB, while on the ARM platform, it's about 0.5 GB. It depends on the system configurations.

    2. BWT block buffer.
    If the parameter "bwt" is 0, this memory usage is 0. While if "bwt" is 1 and "block' is N, this block buffer is 4N.
    For example, bwt=1 and block=1024, this block buffer is 4 GB.

    3. Data window links memory.
    If the parameter "cache" C, this data window links memory is 4C.
    For example, cache=2000, this data window links memory is 8000 MB.

    4. Data window buffer.
    This memory usage depends on a hidden parameter W. W is determined by the parameter "cache". The memory usage is W.
    The calculation from cache to W: W isn't linear increasing. It jumps on 2k, such as 1, 2, 4, 8, ... , and W >= cache+14 , because ComZip uses 14 MB for the pipeline.
    For example, cache=2034, W=2034, this data window buffer is 2034 MB. If cache=2035, W=4096, this data window buffer is 4 GB.

    Totally for an example, if ComZip runs on the x86/64 platform, bwt=1, block=1024, cache=2000, the total memory usage is about 1.5+4+8+2 = 15.5 GB.



  Developer: Dragon Dream Studio (dragon_2k@21cn.com)