Results 1 to 4 of 4

Thread: TC - What's next

  1. #1
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,982
    Thanks
    377
    Thanked 351 Times in 139 Posts
    Here are the some future improvements of TC:

    + More efficient index table. This new table uses half of the memory used by current table - with no loss of compression and speed. New table do not store the whole 32-bit context for hash checking, instead, it will do just backward matching.

    + Ring buffer. Currently TC/PIMPLE/LZPX/LZPXJ compresses data by blocks - as a result performance on files larger than block size is poorer. Using ring buffer (or sliding window, in terms of LZ77) TC can achieve a little bit higher compression - especially on large files.

    + Lower memory usage. Using efficient index table and ring buffer, we can reduce memory usage with no compression loss.

    Current memory usage:
    * 8 MB - Hash table (Order-4 with 20-bit hashing, 32-bit pointers + 32-bit contexts)
    * 256 KB - Table (Order-2 with no hashing, 32-bit pointers)
    * 16 MB - Data buffer
    * 512 KB - Order-1 range encoding (alphabet power of 512)
    Total: ~24 MB

    New variant:
    * 4 MB - Hash table (Order-4 with 20-bit hashing, 32-bit pointers)
    * 256 KB - Table (Order-2 with no hashing, 32-bit pointers)
    * 8 MB - Ring buffer
    * 512 KB - Order-1 range encoding (alphabet power of 512)
    Total: ~12 MB

  2. #2
    Guest
    + More efficient index table. This new table uses half of the memory used by current table - with no loss of compression and speed. New table do not store the whole 32-bit context for hash checking, instead, it will do just backward matching.

    Will it be any faster?

  3. #3
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,982
    Thanks
    377
    Thanked 351 Times in 139 Posts
    Will it be any faster?

    Speed will be about the same. Also note, speed is significantly affected only by range (arithmetic) encoding. Furthermore, very soon I release TC 5.0 dev3 with this index table, for comparison. (It will be fully compatible with current version)

  4. #4
    The Founder encode's Avatar
    Join Date
    May 2006
    Location
    Moscow, Russia
    Posts
    3,982
    Thanks
    377
    Thanked 351 Times in 139 Posts
    In addition, I guess I will change the range encoder, since current variant is not optimal - decompression speed is a bit slower than compression. I know different variants - with a little bit higher speeds with the same compression ratio, also they are symmetric (decompression speed is about the same as compression).

Similar Threads

  1. LZPM's future
    By encode in forum Forum Archive
    Replies: 129
    Last Post: 3rd March 2008, 20:23
  2. peazip's pea format
    By l1t in forum Forum Archive
    Replies: 6
    Last Post: 22nd October 2007, 20:00
  3. SouceForge's community choiche awards
    By giorgiotani in forum Forum Archive
    Replies: 2
    Last Post: 20th June 2007, 02:12
  4. ENCODE's music
    By encode in forum Forum Archive
    Replies: 1
    Last Post: 17th October 2006, 00:19
  5. Dwing's UDA v3.00
    By spark in forum Forum Archive
    Replies: 6
    Last Post: 10th August 2006, 11:11

Posting Permissions

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