Results 1 to 15 of 15

Thread: PPMX - a new PPM encoder

  1. #1
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,979
    Thanks
    376
    Thanked 347 Times in 137 Posts

    Talking PPMX - a new PPM encoder

    OK, check out my very new and DRAFT yet PPM encoder. It's quite basic and has a very few special tricks at this early stage of development, however.

    No filters, just pure algo...

    All in all it is an order-7 PPM with a few tricks. Currently it is designed for speed, so it has no such things like symbol masking, SEE, SSE, etc. However it uses a special and my very own escape method...

    Enjoy!

    P.S.
    Finally someone did not CM or LZ related...
    Attached Files Attached Files

  2. #2

  3. #3
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,979
    Thanks
    376
    Thanked 347 Times in 137 Posts

  4. #4
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,239
    Thanks
    192
    Thanked 968 Times in 501 Posts
    Thats kinda unrelated

  5. #5
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,979
    Thanks
    376
    Thanked 347 Times in 137 Posts

  6. #6
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,979
    Thanks
    376
    Thanked 347 Times in 137 Posts
    ENWIK8 -> 24,369,312 bytes
    ENWIK9 -> 213,206,926 bytes

    world95.txt -> 535,733 bytes
    fp.log -> 630,767 bytes

    3200.txt -> 4,148,657 bytes


  7. #7
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,239
    Thanks
    192
    Thanked 968 Times in 501 Posts
    Also this, quoting ppmd readme:
    "[2] Very descriptive M.R.Nelson's COMP-2 program (PPMd is based on it)."
    http://shelwien.googlepages.com/nelson_comp2.rar

  8. #8
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,611
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Bookstar result:
    10318337B, 33.422s.
    About the same size and 3 times slower than 7z -m0=PPMD -mx3

  9. #9
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,239
    Thanks
    192
    Thanked 968 Times in 501 Posts
    Its really cool if the size is the same, btw.
    Because there's a known redundancy (no symbol masking) in ppmx.
    So compression ratio can be improved, and speed is a matter of working time.
    ...Which is also true for ppmd though

  10. #10
    Programmer osmanturan's Avatar
    Join Date
    May 2008
    Location
    Mersin, Turkiye
    Posts
    651
    Thanks
    0
    Thanked 0 Times in 0 Posts
    SFC benchmark on my laptop (Core2Duo 2.2 GHz, 2 GB RAM, Vista Business x64 SP1):
    Code:
    PPMX (540 MB memory usage)
    PPMd var.J rev.1 (-o7 -m540)
    
    A10.jpg (842,468 bytes)
    PPMX -> 878,972 @ 470 KB/s (1.752 seconds)
    PPMd -> 833,772 @ 767 KB/s (1.072 seconds)
    
    AcroRd32.exe (3,870,784 bytes)
    PPMX -> 1,733,372 @ 985 KB/s (3.836 seconds)
    PPMd -> 1,549,310 @ 1,844 KB/s (2.049 seconds)
    
    english.dic (4,067,439 bytes)
    PPMX ->   988,675 @ 1,483 KB/s (2.678 seconds)
    PPMd -> 1,067,526 @ 3,841 KB/s (1.034 seconds)
    
    FlashMX.pdf (4,526,946 bytes)
    PPMX -> 3.808.788 @ 861 KB/s (5.137 seconds)
    PPMd -> 3.721.723 @ 966 KB/s (4.576 seconds)
    
    FP.LOG (20,617,071 bytes)
    PPMX -> 630,767 @ 3,603 KB/s (5.588 seconds)
    PPMd -> 620,661 @ 25,105 KB/s (0.802 seconds)
    
    MSO97.DLL (3.782.416 bytes)
    PPMX -> 2,050,096 @ 961 KB/s (3.843 seconds)
    PPMd -> 1,872,522 @ 1,514 KB/s (2.439 seconds)
    
    ohs.doc (4,168,192 bytes)
    PPMX -> 913,950 @ 1,415 KB/s (2.876 seconds)
    PPMd -> 833,816 @ 4,022 KB/s (1.012 seconds)
    
    rafale.bmp (4,149,414 bytes)
    PPMX -> 886,972 @ 1,266 KB/s (3.201 seconds)
    PPMd -> 784,493 @ 4,126 KB/s (0.982 seconds)
    
    vcfiu.hlp (4,121,418 bytes)
    PPMX -> 735,942 @ 1,726 KB/s (2.332 seconds)
    PPMd -> 668,759 @ 4,702 KB/s (0.856 seconds)
    
    world95.txt (2,988,578 bytes)
    PPMX -> 535,733 @ 1,366 KB/s (2.136 seconds)
    PPMd -> 474,445 @ 3,923 KB/s (0.744 seconds)
    
    Total
    PPMX -> 13,163,267 bytes
    PPMd -> 12,427,027 bytes
    According to your fixed size memory usage, you probably used a hashed statistics which makes your coder very slow. Also, compression can be dropped due to hashing. So, I highly advice to use tree like statistics.

  11. #11
    Moderator

    Join Date
    May 2008
    Location
    Tristan da Cunha
    Posts
    2,034
    Thanks
    0
    Thanked 4 Times in 4 Posts

    Thumbs up

    Quote Originally Posted by encode View Post
    OK, check out my very new and DRAFT yet PPM encoder. It's quite basic and has a very few special tricks at this early stage of development, however.

    No filters, just pure algo...

    All in all it is an order-7 PPM with a few tricks. Currently it is designed for speed, so it has no such things like symbol masking, SEE, SSE, etc. However it uses a special and my very own escape method...

    Enjoy!

    P.S.
    Finally someone did not CM or LZ related...
    Thanks Ilia!

  12. #12
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,979
    Thanks
    376
    Thanked 347 Times in 137 Posts
    And this will happen if add masking (same coder and model + symbol masking):
    Code:
    book1 -> 231,223 bytes
    world95.txt -> 519,126 bytes
    ENWIK8 -> 23,898,278 bytes
    bookstar -> 10,028,609 bytes
    3200.txt -> 4,009,262 bytes
    And if add an extra order-12 model:
    Code:
    book1 -> 224,351 bytes
    world95.txt -> 492,022 bytes
    ENWIK8 -> 22,916,946 bytes
    bookstar -> 9,679,378 bytes
    3200.txt -> 3,955,708 bytes

  13. #13
    Member
    Join Date
    Sep 2007
    Location
    Denmark
    Posts
    870
    Thanks
    47
    Thanked 105 Times in 83 Posts
    yay more tools to test

    has been a god week first new rep and now this.
    i got a sick day today so i might do alot of testing.

    antthing speciel yo wan to have teste

    otherwise I'll just compare to 7-zip ppmd

  14. #14
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,979
    Thanks
    376
    Thanked 347 Times in 137 Posts

  15. #15
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,979
    Thanks
    376
    Thanked 347 Times in 137 Posts
    Added an extra compression:
    Code:
    ENWIK8 -> 22,580,291 bytes
    ENWIK9 -> 194,298,469 bytes
    BOOK1 -> 227,280 bytes
    world95.txt -> 493,122 bytes
    bookstar -> 9,613,763 bytes
    3200.txt -> 3,927,886 bytes

Similar Threads

  1. PPMX v0.05 - new PPM-based compressor
    By encode in forum Data Compression
    Replies: 49
    Last Post: 28th July 2010, 02:47
  2. ppmx v0.04 is here!
    By encode in forum Data Compression
    Replies: 62
    Last Post: 17th January 2009, 13:57
  3. ppmx v0.03 is here!
    By encode in forum Data Compression
    Replies: 13
    Last Post: 1st January 2009, 02:21
  4. about files to test encoder
    By Krzysiek in forum Data Compression
    Replies: 3
    Last Post: 9th July 2008, 21:22
  5. balz v1.00 - new LZ77 encoder is here!
    By encode in forum Forum Archive
    Replies: 61
    Last Post: 17th April 2008, 22:57

Tags for this Thread

Posting Permissions

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