Results 1 to 2 of 2

Thread: MTF: There can be only one!

  1. #1
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    733
    Thanked 659 Times in 354 Posts

    MTF: There can be only one!

    Eugene Shelwien further optimized his vectorizable constant-speed MTF implementation. Now, according to my tests it delivers constant speed of 114 MiB/s with AVX2 and 93 MiB/s with SSE2. The best-so-far implementation from BSC runs at 70 MiB/s on enwik9 and only 20 MiB/s on random data. All these measurements were taken on my Haswell i7-4770, with single thread running at 3.9 GHz.

    usage example:
    encoding: mtf_gc70_SSE2.exe c infile outfile
    decoding: mtf_gc70_SSE2.exe d infile outfile

    Older MTF-related threads:
    http://encode.ru/threads/509-MTF-and...and-Codec-APIs
    http://encode.ru/threads/546-Move-to...Implementation

    Meanwhile, i work on GPU implementation. I invite to this thread everyone who want to compete with us!

    Attached Files Attached Files
    Last edited by Bulat Ziganshin; 4th June 2016 at 22:59.

  2. The Following 5 Users Say Thank You to Bulat Ziganshin For This Useful Post:

    comp1 (4th June 2016),Cyan (4th June 2016),GOZARCK (4th June 2016),RamiroCruzo (14th June 2016),Razor12911 (5th June 2016)

  3. #2
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    733
    Thanked 659 Times in 354 Posts
    I've replaced archive in the first post with new, 5-10% faster version. Please redownload.

    First direct comparison of BSC and Shelwien algorithms as compiled by GCC 4.9 -O3, on plain enwik9:
    Code:
    x64 AVX2:
    bsc     :   71.6 MiB/s,  13324.488 ms
    shelwien:  114   MiB/s,   8337.480 ms  (60% faster)
    
    
    x64 SSE2:
    bsc     :   68.7 MiB/s,  13878.604 ms
    shelwien:   93.0 MiB/s,  10255.390 ms  (35% faster)

  4. The Following User Says Thank You to Bulat Ziganshin For This Useful Post:

    GOZARCK (4th June 2016)

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
  •