Question

  • Creator
    Topic
  • #2149250

    xdelta3, how to use it for max compression

    Locked

    by chin85u ·

    my friend and i r using this program but he gets better compression than me and is not tellin me how he is getting almost double the compression, i make the file 650mb from 1gb but he makes it 349mb, same source files r used the command m using is delta3.exe -e -9 -S djw -s source target patch what is the command line for maximum compression

All Answers

  • Author
    Replies
    • #2915435

      Clarifications

      by chin85u ·

      In reply to xdelta3, how to use it for max compression

      Clarifications

    • #2915425

      RTFM

      by oh smeg ·

      In reply to xdelta3, how to use it for max compression

      BetterCompression
      Better compression options
      Introduction
      VCDIFF specifies a byte-code data format. The data format does not use variable-bit-length codes. This was done because a byte-code-only format that is good on its own is desireable for many reasons, but a variable-bit-length encoding is naturally more efficient than a fixed-length code. VCDIFF also includes options for encoding/decoding with alternate byte-code tables.
      Details
      The flags -1, … -9 flags support alternate compression levels: faster/better compression options. If you want fastest compression, try -1. If you want best compression, try -9. Even better compression can be achieved using a variable-bit-length encoding, i.e., secondary compression. Xdelta3 supports a method called DJW, enabled by the command-line flag -S djw.
      Named after Wheeler. DJW described this encoding to follow the Burrows-Wheeler transform, a sort of semi-adaptive Huffman code implemented in bzip2 (following the Burrows-Wheeler transform). DJW’s decription, DJW’s code. The algorithm works with multiple Huffman-code tables and several iterations. The input is divided into fixed-length chunks, each chunk assigned to a Huffman table. Each iteration, chunks are assigned to the table which gives the shortest encoding, then the tables are recomputed according to the chunks they were assigned.
      The chunk encodings plus the chunk-table assignments are then transformed by move-to-front. Move-to-front works very well (especially following Burrows-Wheeler), but it presents another problem for later Huffman coding, because after move-to-front coding there tend to be many 0s, and a symbol having frequency greater than 50% will not be efficiently encoded by Huffman coding–even the shortest 1-bit code has redundency. To address this problem, the 0 symbol is replaced by two symbols (call them 0_0 and 0_1). These two symbols are used to code the run-length of 0s in binary.
      Xdelta3 implements alternate code tables, but no work has been done on their optimization potential. See the -DGENERIC_ENCODE_TABLES=1 flag and related tests, which are not compiled by default.
      See also: bsdiff is another differential compression program, based on bzip2.

      The complete XDelta Documentation is available here for all to read.

      http://code.google.com/p/xdelta/w/list

      Col

      • #2915385

        tried all that

        by chin85u ·

        In reply to RTFM

        i have read every possible page i can google on xdelta and all teh documentation and stuff even then i m not able to get as good compression as he is
        previously i was able to get 650mb out of 1gb now i get 400mb out of 1 gb , so its an improvement. i achieved this by increasing the source buffer size to 704776022 bytes but if i go even one byte more the compression wont start.

        i just need the command line for max compression using xdelta3
        or any other help that can give me better compression

      • #2915383

        tried all that

        by chin85u ·

        In reply to RTFM

        i have read every possible page i can google on xdelta and all teh documentation and stuff even then i m not able to get as good compression as he is
        previously i was able to get 650mb out of 1gb now i get 400mb out of 1 gb , so its an improvement. i achieved this by increasing the source buffer size to 704776022 bytes but if i go even one byte more the compression wont start.

        i just need the command line for max compression using xdelta3
        or any other help that can give me better compression

Viewing 1 reply thread