Menu

Example of how lzma works.

oscar ruiz
2016-02-10
2016-02-11
  • oscar ruiz

    oscar ruiz - 2016-02-10

    Im doing a small research in order to know how this algorithm works, since wikipedia says : "No complete natural language specification of the compressed format seems to exist, other than the one attempted in the following text" makes me search all over the internet for small clues about this topic (all content related of how it work its related to Igor Pavlov, this is how i end up here). This is what i got:

    • It uses a dictionary compression algorithm with special support for repeatedly used match distances.
    • Its a LZ77 variant optmized for high compression ratios and fast decompression.
    • The compression principle is similar to Deflate but uses Range encoding instead of Huffman
    • It uses binary tree.
    • I read lzma-specification.txt so i know how headers and other basics stuffs are working

    i know lz77,deflate,dinary tree, markov chains and range encoding works but.............

    Im not that good with c/c++ so looking at the code (and since its optmized) makes me hard to understand lmza and lmza2... maybe if you can tell me how LMZA will compress this data i will be able to understand the code:

    "This is how LZMA works, i know small strings doesnt compress well but its just for example purposes"

     
  • Igor Pavlov

    Igor Pavlov - 2016-02-11

    Look
    CPP\7zip\Bundles\LzmaSpec\LzmaSpec.cpp
    in LZMA SDK.
    That code is not optimized.
    So it's simpler to understand.

     

Log in to post a comment.

MongoDB Logo MongoDB