Results 1 to 10 of 10

Thread: lorz compressor

  1. #1
    Member
    Join Date
    Dec 2012
    Location
    japan
    Posts
    149
    Thanks
    30
    Thanked 59 Times in 35 Posts

    lorz compressor

    lorz is ROLZ + bit coding compressor. dictionary size is 1 - 32768(default 1024). more help is included. enjoy!
    Code:
    lorz c,12 enwik6 out -> 332508
    lorz e,12 enwik6 out -> 322264
    lorz x,12 enwik6 out -> 321844
    lorz c,12 book1 out -> 302264
    lorz e,12 book1 out -> 291252
    lorz x,12 book1 out -> 290532
    Attached Files Attached Files
    Last edited by xezz; 10th January 2018 at 13:12.

  2. The Following 6 Users Say Thank You to xezz For This Useful Post:

    Bulat Ziganshin (6th January 2018),comp1 (9th January 2018),encode (9th January 2018),nemequ (17th January 2018),Simorq (31st January 2018),Stephan Busch (9th January 2018)

  3. #2
    Tester
    Stephan Busch's Avatar
    Join Date
    May 2008
    Location
    Bremen, Germany
    Posts
    872
    Thanks
    457
    Thanked 175 Times in 85 Posts
    LORZ is an interesting compressor,
    but I cannot use full block size and full dictionary size.
    The maximum settings for me are:

    x11,12,1023,7,2,0

    But I want to increase block size to 15 and dictionary size to 15 or at least one of them.
    This is what LORZ displays then:

    terminate called after throwing an instance of 'std::bad_alloc'
    what(): std::bad_alloc

  4. #3
    Member Dimitri's Avatar
    Join Date
    Nov 2015
    Location
    Greece
    Posts
    48
    Thanks
    21
    Thanked 30 Times in 14 Posts
    Compiled using DevC++, the original didnt work for me due to dll missing
    Attached Files Attached Files

  5. The Following 5 Users Say Thank You to Dimitri For This Useful Post:

    78372 (17th January 2018),comp1 (9th January 2018),hunman (9th January 2018),oltjon (9th January 2018),Simorq (31st January 2018)

  6. #4
    Member
    Join Date
    Dec 2012
    Location
    japan
    Posts
    149
    Thanks
    30
    Thanked 59 Times in 35 Posts
    I'm sorry, compOptimal has bug. And its max block size is now about 512MB.
    But it should be 256MB to avoid overflow.


    terminate called after throwing an instance of 'std::bad_alloc'
    what(): std::bad_alloc
    x requires large memory(about block size * 13). And additional memory to store many matches. Maybe your system doesn't have enough memory.

  7. #5
    Tester
    Stephan Busch's Avatar
    Join Date
    May 2008
    Location
    Bremen, Germany
    Posts
    872
    Thanks
    457
    Thanked 175 Times in 85 Posts
    I have 16GB of which 14GB are free.
    Maybe its a limit of your 32-bit compile, because the compile of Dimitri works.

    Can you make LORZ chosing the e8e9 filter automatically if it gets gain?
    Would you please also consider adding more filters like those: https://github.com/fusiyuan2010/CSC/...sc_filters.cpp

  8. #6
    Member
    Join Date
    May 2017
    Location
    Sealand
    Posts
    15
    Thanks
    7
    Thanked 2 Times in 2 Posts
    64 bit static compile attached. (gcc 7.2.0)
    Attached Files Attached Files

  9. The Following User Says Thank You to Chirantan For This Useful Post:

    Simorq (12th January 2018)

  10. #7
    Member
    Join Date
    Dec 2012
    Location
    japan
    Posts
    149
    Thanks
    30
    Thanked 59 Times in 35 Posts
    v1.1 can set x14 and x15. but needed more space.
    Can you make LORZ chosing the e8e9 filter automatically if it gets gain?
    default is auto!
    Would you please also consider adding more filters like those:
    ok.
    Attached Files Attached Files

  11. The Following 3 Users Say Thank You to xezz For This Useful Post:

    Bulat Ziganshin (12th January 2018),hunman (12th January 2018),Simorq (12th January 2018)

  12. #8
    Member
    Join Date
    Jul 2013
    Location
    United States
    Posts
    194
    Thanks
    44
    Thanked 140 Times in 69 Posts
    Based on a pretty cursory skim of the code, it doesn't seem like you really need to know the full size of the input data ahead of time. It would be nice if you could just keep a record of how much data was read instead of doing the whole fseek/ftell thing… that should allow it to work on pipes.

  13. The Following User Says Thank You to nemequ For This Useful Post:

    Bulat Ziganshin (18th January 2018)

  14. #9
    Member
    Join Date
    Dec 2012
    Location
    japan
    Posts
    149
    Thanks
    30
    Thanked 59 Times in 35 Posts
    I want to avoid much many memory allocation. if block size > file size.
    if you mean last ftell, you are right.

  15. #10
    Tester
    Stephan Busch's Avatar
    Join Date
    May 2008
    Location
    Bremen, Germany
    Posts
    872
    Thanks
    457
    Thanked 175 Times in 85 Posts
    v1.1 crashes on the .tar of XML testset with x11,15,1023,7,2,2;
    the other testsets compress with highest settings x15,15,1023,7,2,2, but:
    LORZ does not handle well already compressed data - the compressed sizes of
    mobile and installer testsets are 8% larger than original .tar files.
    Also the audio testset input .tar grew.

  16. The Following User Says Thank You to Stephan Busch For This Useful Post:

    xezz (20th January 2018)

Similar Threads

  1. Kitty file compressor (Super small compressor)
    By snowcat in forum Data Compression
    Replies: 7
    Last Post: 26th April 2015, 16:46

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •