Results 1 to 14 of 14

Thread: TurboHF - 1GB/s Huffman Coding Reincarnation

  1. #1
    Member
    Join Date
    Mar 2013
    Location
    Worldwide
    Posts
    565
    Thanks
    67
    Thanked 199 Times in 147 Posts

    Lightbulb TurboHF - 1GB/s Huffman Coding Reincarnation

    - TurboHF - Decoding more than one Billion Symbols per second
    - The first entropy coder exceeding 1 GB/s on a single core (without GPU)
    - Compress and decompress faster than any other known entropy coder incl. Asymmetric Numeral Systems
    - Compress better, ~3x faster and decompress ~4x faster than Huffman Coding from zlib
    - Compress better and is ~2x faster than FSE (Finite State Entropy) for typical distributions

    see: Entropy Coding Benchmark


    Last edited by dnd; 5th September 2015 at 17:49.

  2. #2
    Member just a worm's Avatar
    Join Date
    Aug 2013
    Location
    planet "earth"
    Posts
    96
    Thanks
    29
    Thanked 6 Times in 5 Posts
    Just to get this straight: TurboHF is the name of an implementation of the Huffman Coding and it's part of LzTurbo, right?

    The download link of LzTurbo doesn't work for me. I get this as the download link
    https://docs.google.com/viewer?a=v&p...IyMWI3YWM4YzQ4
    and it just shows me an empty page.

  3. #3
    Member snowcat's Avatar
    Join Date
    Apr 2015
    Location
    Vietnam
    Posts
    32
    Thanks
    48
    Thanked 12 Times in 8 Posts
    I can't see the source code anywhere on that page. It's closed source, isn't it?
    And, just like just a worm, I can't download LzTurbo

  4. #4
    Member
    Join Date
    Mar 2013
    Location
    Worldwide
    Posts
    565
    Thanks
    67
    Thanked 199 Times in 147 Posts
    Actually TurboHF is an optimized version used in a previous version of LzTurbo.
    It is not activated on the current version of LzTurbo v1.2.

    Please, click at the arrow on the right side.
    Do not click at the link "lzturbo.zip".


  5. Thanks:

    just a worm (29th August 2015)

  6. #5
    Member just a worm's Avatar
    Join Date
    Aug 2013
    Location
    planet "earth"
    Posts
    96
    Thanks
    29
    Thanked 6 Times in 5 Posts
    @dnd: Thanks. Well, there is no arrow but thanks to your help I found the download link on the right side now:
    https://sites.google.com/site/powtur...edirects=0&d=1
    So, if there is no source code and the TurboHF is not "activated"/contained in the executable (which is only for a 64 bit system available), then ... what is there? Is there a documentation how it works or something? Do you know why it is not beeing used in the current version of LzTurbo?
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	screenshot.png 
Views:	168 
Size:	35.7 KB 
ID:	3782  
    Last edited by just a worm; 29th August 2015 at 00:25.

  7. #6
    Member
    Join Date
    Mar 2013
    Location
    Worldwide
    Posts
    565
    Thanks
    67
    Thanked 199 Times in 147 Posts
    Sorry for the confusion.
    I've simply improved the huffman coder from the previous LzTurbo 1.1 version.
    The current version 1.2 is using "Asymmetric Numeral Systems" for method 3.

    I want simply to expose the results from my experiments and to offer a new image about huffman coding speed:
    "Decoding one Billion Symbols per Second" on a single core CPU.

    This new very fast version will be probably included in the next version of LzTurbo.
    If you can test on Ubuntu, I can send you a test program. Please, use the PM for communication.

  8. #7
    Member just a worm's Avatar
    Join Date
    Aug 2013
    Location
    planet "earth"
    Posts
    96
    Thanks
    29
    Thanked 6 Times in 5 Posts
    Are you using processor extensions like AVX?

  9. #8
    Member
    Join Date
    Mar 2013
    Location
    Worldwide
    Posts
    565
    Thanks
    67
    Thanked 199 Times in 147 Posts
    There is no limitation to a special CPU.

  10. #9
    Member just a worm's Avatar
    Join Date
    Aug 2013
    Location
    planet "earth"
    Posts
    96
    Thanks
    29
    Thanked 6 Times in 5 Posts
    then your implementation is indeed pretty fast

  11. #10
    Member just a worm's Avatar
    Join Date
    Aug 2013
    Location
    planet "earth"
    Posts
    96
    Thanks
    29
    Thanked 6 Times in 5 Posts
    dnd was so kind to send me a test programm. The test programm is a 32 bit application for Windows. It uses the 32 bit instruction set because I asked for it, but dnd said that the 64 bit version runs faster.

    I used the following test hardware:
    Code:
    MEMORY:
    =======
    manufacturer: Corsair Components Incorporated
    model: CM3X2GSD1066
    capacity: 2 Gigabyte
    clock rate
        effective: 1,066 megahertz
        physical: 533 Megahertz
    technology: double data rate 3 (DDR3)
    
    tCL: 7 periods
    tRCD: 7 periods
    tRP: 7 periods
    tRAS minimum: 20 periods
    tRC: 27 periods
    
    PROCESSOR:
    ==========
    manufacturer: Intel Corporation
    family: 6|d
    model: 54|d
    microarchitecture
        main group: Saltwell
        sub group: Cedarview
    variant: Atom D2550
    amount of cores: 2
    (ony 1 thread has been used for the tests)
    clock rate
        maximum on a short term: 1.86 gigahertz
        maximum on a long term: 1.86 gigahertz
        minimum on a long term: 1.86 gigahertz
    caches
        1st-level
            for data: 24 kilobytes
            for machine code: 32 kilobytes
            sum per core: 56 kilobytes
    
        2nd-level
            for data and machine code: 512 kilobytes
            sum per core: 512 kilobytes
    
        3rd-level
            sum per core: 0 kilobytes
    
        4th-level
            sum per core: 0 kilobytes
    And here are the test results. The results come directly from the test programm. The test programm did not write the output file and was always about the same time bussy - independend of the size of the input file. So I have not checked wether the test results are correct.

    Code:
    ╔═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
    ║TurboHF as of 2015-09-02 (version 15.08)                                                                                                             ║
    ║zlib version 1.2.8                                                                                                                                   ║
    ╟─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
    ║command line: tbench32.exe -v3 -R10 -eTurboHF "C:\1 Kilobyte bis 9 Kilobyte\1 Kilobyte\Nutzdaten.htm"                                                ║
    ║command line: tbench32.exe -v3 -R10 -ezlibh "C:\1 Kilobyte bis 9 Kilobyte\1 Kilobyte\Nutzdaten.htm"                                                  ║
    ╠════════════════════════════════════════╤═════════════════════════════════════════════════════════════════════════════════════════════╤══════════════╣
    ║size of the                             │speed of the                                                                                 │implementation║
    ╟─────────────┬─────────────┬────────────┼──────────────────────────────────────────────┬──────────────────────────────────────────────┤              ║
    ║input        │output       │output/input│compression                                   │decompression                                 │              ║
    ╠═════════════╪═════════════╪════════════╪═══════════════════════╤══════════════════════╪═══════════════════════╤══════════════════════╪══════════════╣
    ║  1,024 bytes│    711 bytes│       69.4%│ 48.48 megabytes/second│37 machine cycles/byte│ 53.96 megabytes/second│33 machine cycles/byte│TurboHF       ║
    ║  1,024 bytes│    694 bytes│       67.8%│ 20.06 megabytes/second│88 machine cycles/byte│ 39.44 megabytes/second│45 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║  2,048 bytes│  1,401 bytes│       68.4%│ 66.44 megabytes/second│27 machine cycles/byte│ 74.30 megabytes/second│24 machine cycles/byte│TurboHF       ║
    ║  2,048 bytes│  1,385 bytes│       67.6%│ 28.92 megabytes/second│61 machine cycles/byte│ 50.60 megabytes/second│35 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║  3,072 bytes│  2,067 bytes│       67.3%│ 76.24 megabytes/second│23 machine cycles/byte│ 84.91 megabytes/second│21 machine cycles/byte│TurboHF       ║
    ║  3,072 bytes│  2,050 bytes│       66.7%│ 34.38 megabytes/second│52 machine cycles/byte│ 55.16 megabytes/second│32 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║  4,096 bytes│  2,712 bytes│       66.2%│ 82.53 megabytes/second│21 machine cycles/byte│ 91.68 megabytes/second│19 machine cycles/byte│TurboHF       ║
    ║  4,096 bytes│  2,696 bytes│       65.8%│ 38.31 megabytes/second│46 machine cycles/byte│ 59.22 megabytes/second│30 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║  5,120 bytes│  3,364 bytes│       65.7%│ 86.20 megabytes/second│21 machine cycles/byte│ 95.37 megabytes/second│19 machine cycles/byte│TurboHF       ║
    ║  5,120 bytes│  3,348 bytes│       65.4%│ 40.45 megabytes/second│44 machine cycles/byte│ 60.60 megabytes/second│29 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║  6,144 bytes│  4,004 bytes│       65.2%│ 88.66 megabytes/second│20 machine cycles/byte│ 98.82 megabytes/second│18 machine cycles/byte│TurboHF       ║
    ║  6,144 bytes│  3,989 bytes│       64.9%│ 42.45 megabytes/second│42 machine cycles/byte│ 62.43 megabytes/second│28 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║  7,168 bytes│  4,647 bytes│       64.8%│ 91.14 megabytes/second│19 machine cycles/byte│101.30 megabytes/second│18 machine cycles/byte│TurboHF       ║
    ║  7,168 bytes│  4,632 bytes│       64.6%│ 44.51 megabytes/second│40 machine cycles/byte│ 63.28 megabytes/second│28 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║  8,192 bytes│  5,278 bytes│       64.4%│ 93.37 megabytes/second│19 machine cycles/byte│103.08 megabytes/second│17 machine cycles/byte│TurboHF       ║
    ║  8,192 bytes│  5,264 bytes│       64.3%│ 45.88 megabytes/second│39 machine cycles/byte│ 64.11 megabytes/second│28 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║  9,216 bytes│  5,906 bytes│       64.1%│ 94.36 megabytes/second│19 machine cycles/byte│104.17 megabytes/second│17 machine cycles/byte│TurboHF       ║
    ║  9,216 bytes│  5,892 bytes│       63.9%│ 47.03 megabytes/second│38 machine cycles/byte│ 64.59 megabytes/second│27 machine cycles/byte│zlib          ║
    ╠═════════════╪═════════════╪════════════╪═══════════════════════╪══════════════════════╪═══════════════════════╪══════════════════════╪══════════════╣
    ║ 10,240 bytes│  6,527 bytes│       63.7%│ 95.49 megabytes/second│19 machine cycles/byte│105.75 megabytes/second│17 machine cycles/byte│TurboHF       ║
    ║ 10,240 bytes│  6,513 bytes│       63.6%│ 48.12 megabytes/second│37 machine cycles/byte│ 65.26 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║ 20,480 bytes│ 12,798 bytes│       62.5%│ 96.64 megabytes/second│18 machine cycles/byte│107.84 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║ 20,480 bytes│ 12,795 bytes│       62.5%│ 49.20 megabytes/second│36 machine cycles/byte│ 65.38 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║ 30,720 bytes│ 19,024 bytes│       61.9%│ 97.16 megabytes/second│18 machine cycles/byte│108.84 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║ 30,720 bytes│ 19,060 bytes│       62.0%│ 49.67 megabytes/second│36 machine cycles/byte│ 66.28 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║ 40,960 bytes│ 25,161 bytes│       61.4%│ 96.01 megabytes/second│18 machine cycles/byte│109.13 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║ 40,960 bytes│ 25,192 bytes│       61.5%│ 50.03 megabytes/second│35 machine cycles/byte│ 66.35 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║ 51,200 bytes│ 31,354 bytes│       61.2%│ 96.97 megabytes/second│18 machine cycles/byte│109.35 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║ 51,200 bytes│ 31,383 bytes│       61.3%│ 50.02 megabytes/second│35 machine cycles/byte│ 66.45 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║ 61,440 bytes│ 37,437 bytes│       60.9%│ 97.72 megabytes/second│18 machine cycles/byte│109.85 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║ 61,440 bytes│ 37,467 bytes│       61.0%│ 50.38 megabytes/second│35 machine cycles/byte│ 66.69 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║ 71,680 bytes│ 43,479 bytes│       60.7%│ 97.73 megabytes/second│18 machine cycles/byte│109.85 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║ 71,680 bytes│ 43,504 bytes│       60.7%│ 50.61 megabytes/second│35 machine cycles/byte│ 66.84 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║ 81,920 bytes│ 49,509 bytes│       60.4%│ 98.18 megabytes/second│18 machine cycles/byte│109.64 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║ 81,920 bytes│ 49,534 bytes│       60.5%│ 50.78 megabytes/second│35 machine cycles/byte│ 66.93 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║ 92,160 bytes│ 55,563 bytes│       60.3%│ 98.37 megabytes/second│18 machine cycles/byte│110.36 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║ 92,160 bytes│ 55,544 bytes│       60.3%│ 51.73 megabytes/second│34 machine cycles/byte│ 67.68 megabytes/second│26 machine cycles/byte│zlib          ║
    ╠═════════════╪═════════════╪════════════╪═══════════════════════╪══════════════════════╪═══════════════════════╪══════════════════════╪══════════════╣
    ║102,400 bytes│ 61,617 bytes│       60.2%│ 98.20 megabytes/second│18 machine cycles/byte│110.03 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║102,400 bytes│ 61,628 bytes│       60.2%│ 51.14 megabytes/second│35 machine cycles/byte│ 67.31 megabytes/second│26 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║204,800 bytes│122,279 bytes│       59.7%│ 98.08 megabytes/second│18 machine cycles/byte│111.09 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║204,800 bytes│122,290 bytes│       59.7%│ 51.90 megabytes/second│34 machine cycles/byte│ 67.68 megabytes/second│26 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║307,200 bytes│184,539 bytes│       60.1%│ 98.13 megabytes/second│18 machine cycles/byte│111.01 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║307,200 bytes│184,514 bytes│       60.1%│ 51.45 megabytes/second│34 machine cycles/byte│ 67.58 megabytes/second│26 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║409,600 bytes│246,571 bytes│       60.2%│ 98.08 megabytes/second│18 machine cycles/byte│110.18 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║409,600 bytes│246,603 bytes│       60.2%│ 51.37 megabytes/second│35 machine cycles/byte│ 67.37 megabytes/second│26 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║512,000 bytes│309,412 bytes│       60.4%│ 96.99 megabytes/second│18 machine cycles/byte│110.25 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║512,000 bytes│309,362 bytes│       60.4%│ 50.69 megabytes/second│35 machine cycles/byte│ 66.99 megabytes/second│26 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║614,400 bytes│367,125 bytes│       59.8%│ 97.64 megabytes/second│18 machine cycles/byte│110.20 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║614,400 bytes│367,220 bytes│       59.8%│ 50.69 megabytes/second│35 machine cycles/byte│ 66.31 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║716,800 bytes│426,054 bytes│       59.4%│ 97.95 megabytes/second│18 machine cycles/byte│110.36 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║716,800 bytes│426,120 bytes│       59.4%│ 50.41 megabytes/second│35 machine cycles/byte│ 66.65 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║819,200 bytes│482,844 bytes│       58.9%│ 97.76 megabytes/second│18 machine cycles/byte│110.52 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║819,200 bytes│482,935 bytes│       59.0%│ 50.36 megabytes/second│35 machine cycles/byte│ 65.48 megabytes/second│27 machine cycles/byte│zlib          ║
    ╟─────────────┼─────────────┼────────────┼───────────────────────┼──────────────────────┼───────────────────────┼──────────────────────┼──────────────╢
    ║921,600 bytes│541,568 bytes│       58.8%│ 97.89 megabytes/second│18 machine cycles/byte│110.40 megabytes/second│16 machine cycles/byte│TurboHF       ║
    ║921,600 bytes│541,360 bytes│       58.7%│ 50.21 megabytes/second│35 machine cycles/byte│ 66.33 megabytes/second│27 machine cycles/byte│zlib          ║
    ╚═════════════╧═════════════╧════════════╧═══════════════════════╧══════════════════════╧═══════════════════════╧══════════════════════╧══════════════╝
    The results show that the speed is pretty good for the test machine. Not as amazing as advertised by dnd but still pretty good.
    Attached Files Attached Files
    Last edited by just a worm; 6th September 2015 at 02:44.

  12. #11
    Member
    Join Date
    Mar 2013
    Location
    Worldwide
    Posts
    565
    Thanks
    67
    Thanked 199 Times in 147 Posts
    Quote Originally Posted by just a worm View Post
    The results show that the speed is pretty good for the test machine. Not as amazing as advertised by dnd but still pretty good.
    Thanks for testing, it will be better to show also some results of zlibh if possible.

    i have found a comparison sheet (scroll to benchmarks):
    Atom D2550 vs 2600k (at 3,4Ghz)

    Additionally my benchmarks are done on a 5 years old sandy bridge CPU, but now we have Skylake with 30% more IPC, DDR4 support,...
    Last edited by dnd; 5th September 2015 at 19:01.

  13. #12
    Member just a worm's Avatar
    Join Date
    Aug 2013
    Location
    planet "earth"
    Posts
    96
    Thanks
    29
    Thanked 6 Times in 5 Posts
    Quote Originally Posted by dnd
    it will be better to show also some results of zlibh if possible.
    TurboHF was the fastest algorithm the benchmark programm had, if I remember correctly.


    Quote Originally Posted by dnd
    ...DDR4 support...
    A system with DDR4 memory isn't necessarily faster than a system with DDR3 memory because DDR4 memory has higher latencies so they need a higher clock rate to run at the same speed.
    Quote Originally Posted by InvalidError from TomsHardware.co.uk
    DDR4: 2400 MHz latency: 15-15-15
    DDR3: 2400 MHz latency: 11-11-11
    The main difference is the voltage the modules need:
    LP-DDR(1): 1.8 V (LP = low power)
    DDR2: 1.8 V
    LP-DDR2: 1.8 V + 1.2 V (LP = low power)
    DDR3: 1.5 V
    LP-DDR3: 1.8 V + 1.2 V (LP = low power)
    DDR3L: 1.35 V (L = low voltage)
    DDR3uL: 1.25 V (uL = ultra low voltage)
    DDR4: 1.20 V
    So you save about 150 mW if you replace standard DDR3 modules by standard DDR4 modules.

    I don't think that the benchmark (Atom D2550 vs Core i7 2600k) you found has much to do with the reality.

    TDP of Atom D2550:
    ark.intel.com: 10 W
    score by the benchmark: 6.0
    TDP of Core i7 2600k:
    ark.intel.com: 95 W
    score by the benchmark: 5.1
    performance of Atom D2550 when using all cores:
    ark.intel.com: 2 cores at 1.86 GHz, no turbo
    other source: in-order-execution but can do address calculations in advance
    score by the benchmark: 5.2
    performance of Core i7 2600k when using all cores:
    ark.intel.com: 4 cores at 3.4 GHz, turbo at 3.8 GHz
    other source: out-of-order-execution
    score by the benchmark: 7.1
    Last edited by just a worm; 6th September 2015 at 02:50.

  14. #13
    Member just a worm's Avatar
    Join Date
    Aug 2013
    Location
    planet "earth"
    Posts
    96
    Thanks
    29
    Thanked 6 Times in 5 Posts
    I added the zlib test results to post #10. The test results show that TurboHF has a small inefficiency regarding the compresion ratio on small files.

  15. #14
    Member
    Join Date
    Mar 2013
    Location
    Worldwide
    Posts
    565
    Thanks
    67
    Thanked 199 Times in 147 Posts
    A recent paper: Accelerating Huffman Decoding of Seismic Data on GPUs is reporting a decoding throughput of 260 MB/s on a GeForce GTX660 GPU.

Similar Threads

  1. Huffman on GPU
    By Bulat Ziganshin in forum Data Compression
    Replies: 9
    Last Post: 23rd December 2017, 04:30
  2. JPEG Huffman Coding
    By lorents17 in forum Data Compression
    Replies: 26
    Last Post: 15th December 2013, 23:51
  3. 2 Huffman methods
    By TheVoid in forum Data Compression
    Replies: 6
    Last Post: 13th February 2012, 04:49
  4. huffman's Coding
    By swapy in forum Data Compression
    Replies: 5
    Last Post: 12th August 2009, 22:51
  5. UNWHAP-like decompression or LZW reincarnation
    By encode in forum Forum Archive
    Replies: 5
    Last Post: 24th January 2008, 22:18

Posting Permissions

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