Results 1 to 25 of 25

Thread: Nakamichi

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,610
    Thanks
    30
    Thanked 65 Times in 47 Posts

    Nakamichi

    Nakamichi is a LZSS codec with super-fast decompression, targeting mainly highly redundant text data.
    Written by Kaze.
    http://www.codeproject.com/Articles/...34#xx4807834xx
    http://www.sanmayce.com/Nakamichi/

    A very quick'n'rough bench on Phenom 2:
    Code:
    pcbsd-8973% ./fsbench -v all ~/bench/calgary.tar 
    Codec                                   version      args
    C.Size      (C.Ratio)        E.Speed   D.Speed      E.Eff. D.Eff.
    7z-deflate                              9.20         5
         986324 (x 3.197)     5608 KB/s  121 MB/s      3853e3 4061e3
    7z-deflate64                            9.20         5
         954413 (x 3.303)     4826 KB/s  129 MB/s      3365e3 4176e3
    crush                                   0.0.1        0
        1115260 (x 2.827)     14.6 MB/s  160 MB/s      9675e3   11e6
    LZ4                                     r114         
        1620566 (x 1.946)      252 MB/s 1082 MB/s       122e6  122e6
    LZ4hc                                   r114         
        1195650 (x 2.637)     17.0 MB/s 1287 MB/s        10e6   11e6
    LZF                                     3.6          
        1524761 (x 2.068)      108 MB/s  441 MB/s        55e6   55e6
    lzmat                                   1.1          
        1181402 (x 2.669)     16.6 MB/s  236 MB/s        10e6   11e6
    LZO                                     2.06         1x1
        1595374 (x 1.976)      269 MB/s  425 MB/s       132e6  133e6
    miniz                                   1.11         6
        1032885 (x 3.053)     14.0 MB/s  165 MB/s      9659e3   11e6
    Nakamichi                               round 5      
        2024249 (x 1.558)     36.0 KB/s 1825 MB/s        12e3 2199e3
    Nakamichi-nomemcpy                      round 5      
        2024249 (x 1.558)     25.8 KB/s 1750 MB/s      9440e0 2204e3
    QuickLZ                                 1.5.1b6      1
        1497111 (x 2.106)      303 MB/s  335 MB/s       159e6  160e6
    RLE64                                   R3.00        64
        2877120 (x 1.096)     1732 MB/s 4228 MB/s       151e6  151e6
    Snappy                                  1.1.0        
        1619277 (x 1.947)      221 MB/s  646 MB/s       107e6  107e6
    tornado                                 0.6a         6
         989437 (x 3.187)     17.1 MB/s 75.9 MB/s        11e6   12e6
    Yappy                                   v2           10
        1565492 (x 2.014)     55.9 MB/s 1119 MB/s        28e6   30e6
    zlib                                    1.2.8        6
        1034381 (x 3.048)     14.4 MB/s  234 MB/s      9883e3   12e6
    zling                                   20140324     0
        1036139 (x 3.043)     38.5 MB/s 96.2 MB/s        25e6   28e6
    zopfli/zlib                             1.0.0/1.2.8  15/6
         976086 (x 3.230)      141 KB/s  240 MB/s        97e3 4234e3
    CityHash32                              1.1.0        
        3152900 (x 1.000)     2165 MB/s 2311 MB/s       32e15  32e15
    CityHash64                              1.1.0        
        3152904 (x 1.000)     4071 MB/s 4582 MB/s       32e15  32e15
    CityHash128                             1.1.0        
        3152912 (x 1.000)     4294 MB/s 4715 MB/s       32e15  32e15
    uhash                                   2007-04-17   
        3152904 (x 1.000)     1350 MB/s 1431 MB/s       32e15  32e15
    vhash                                   2007-04-17   
        3152912 (x 1.000)     5238 MB/s 5905 MB/s       32e15  32e15
    umac                                    2007-04-17   
        3152904 (x 1.000)     1389 MB/s 1413 MB/s       32e15  32e15
    vmac                                    2007-04-17   
        3152912 (x 1.000)     5226 MB/s 5635 MB/s       32e15  32e15
    SipHash24                               reference    
        3152904 (x 1.000)     1014 MB/s 1056 MB/s       32e15  32e15
    murmur3_x86_32                          2012-02-29   
        3152900 (x 1.000)     2197 MB/s 2315 MB/s       32e15  32e15
    murmur3_x86_128                         2012-02-29   
        3152912 (x 1.000)     2225 MB/s 2293 MB/s       32e15  32e15
    murmur3_x64_128                         2012-02-29   
        3152912 (x 1.000)     3481 MB/s 3771 MB/s       32e15  32e15
    SpookyHash                              V2 2012-08-05 
        3152912 (x 1.000)     6098 MB/s 6651 MB/s       32e15  32e15
    FNV1a-Jesteress                         2013-06-16   
        3152900 (x 1.000)     5076 MB/s 5605 MB/s       32e15  32e15
    FNV1a-Mantis                            2013-06-16   
        3152900 (x 1.000)     5100 MB/s 5563 MB/s       32e15  32e15
    FNV1a-Meiyan                            2013-06-16   
        3152900 (x 1.000)     5082 MB/s 5557 MB/s       32e15  32e15
    FNV1a-Tesla                             2013-06-16   
        3152904 (x 1.000)     8100 MB/s 9351 MB/s       32e15  32e15
    FNV1a-Tesla3                            2013-06-16   
        3152904 (x 1.000)     8233 MB/s 9977 MB/s       32e15  32e15
    FNV1a-Yorikke                           2013-06-16   
        3152900 (x 1.000)     5923 MB/s 6856 MB/s       32e15  32e15
    FNV1a-YoshimitsuTRIAD                   2013-06-16   
        3152900 (x 1.000)     6224 MB/s 7030 MB/s       32e15  32e15
    FNV1a-Yoshimura                         2013-06-16   
        3152904 (x 1.000)     5761 MB/s 6525 MB/s       32e15  32e15
    Blake224                                SHA3 Final 64bit opt 
        3152924 (x 1.000)      138 MB/s  137 MB/s       32e15  32e15
    Blake256                                SHA3 Final 64bit opt 
        3152928 (x 1.000)      136 MB/s  137 MB/s       32e15  32e15
    Blake384                                SHA3 Final 64bit opt 
        3152944 (x 1.000)      227 MB/s  228 MB/s       32e15  32e15
    Blake512                                SHA3 Final 64bit opt 
        3152960 (x 1.000)      228 MB/s  230 MB/s       32e15  32e15
    Keccak224                               3.2          
        3152924 (x 1.000)      217 MB/s  225 MB/s       31e15  32e15
    Keccak256                               3.2          
        3152928 (x 1.000)      206 MB/s  209 MB/s       32e15  32e15
    Keccak384                               3.2          
        3152944 (x 1.000)      164 MB/s  165 MB/s       31e15  32e15
    Keccak512                               3.2          
        3152960 (x 1.000)      114 MB/s  114 MB/s       32e15  32e15
    JH224                                   SHA3 Final 64bit opt 
        3152924 (x 1.000)     27.4 MB/s 27.7 MB/s       29e15  30e15
    JH256                                   SHA3 Final 64bit opt 
        3152928 (x 1.000)     27.5 MB/s 27.4 MB/s       29e15  29e15
    JH384                                   SHA3 Final 64bit opt 
        3152944 (x 1.000)     29.0 MB/s 29.5 MB/s       31e15  32e15
    Skein224                                SHA3 Final 64bit opt 
        3152924 (x 1.000)      477 MB/s  476 MB/s       32e15  32e15
    Skein256                                SHA3 Final 64bit opt 
        3152928 (x 1.000)      473 MB/s  479 MB/s       32e15  32e15
    Skein384                                SHA3 Final 64bit opt 
        3152944 (x 1.000)      465 MB/s  475 MB/s       32e15  32e15
    Skein512                                SHA3 Final 64bit opt 
        3152960 (x 1.000)      478 MB/s  483 MB/s       32e15  32e15
    Skein1024                               SHA3 Final 64bit opt 
        3153024 (x 1.000)      272 MB/s  272 MB/s       32e15  32e15
    xxhash                                  r29          
        3152900 (x 1.000)     4366 MB/s 4727 MB/s       32e15  32e15
    AES128Bernstein                         little-4     128
        3152896 (x 1.000)      149 MB/s  152 MB/s         0e0    0e0
    AES256Hongjun                           v1           256
        3152896 (x 1.000)      152 MB/s  156 MB/s         0e0    0e0
    ChaCha                                  20080118     128
        3152896 (x 1.000)      554 MB/s  562 MB/s         0e0    0e0
    HC128                                   2007-01b     128
        3152896 (x 1.000)      939 MB/s  974 MB/s         0e0    0e0
    HC256                                   2007-01      256
        3152896 (x 1.000)      659 MB/s  668 MB/s         0e0    0e0
    Lex                                     v2           128
        3152896 (x 1.000)      401 MB/s  415 MB/s         0e0    0e0
    Rabbit                                  opt2         128
        3152896 (x 1.000)      338 MB/s  356 MB/s         0e0    0e0
    RC4                                     2005-08-21   128
        3152896 (x 1.000)      181 MB/s  181 MB/s         0e0    0e0
    Salsa20_8                               merged       256
        3152896 (x 1.000)      660 MB/s  664 MB/s         0e0    0e0
    Salsa20_12                              merged       256
        3152896 (x 1.000)      431 MB/s  437 MB/s         0e0    0e0
    Salsa20                                 merged       256
        3152896 (x 1.000)      291 MB/s  295 MB/s         0e0    0e0
    Snow2                                   fast         256
        3152896 (x 1.000)      631 MB/s  636 MB/s         0e0    0e0
    Sosemanuk                               2005-04-26   256
        3152896 (x 1.000)      403 MB/s  420 MB/s         0e0    0e0
    Trivium                                 2006-02-23   80
        3152896 (x 1.000)      547 MB/s  563 MB/s         0e0    0e0
    bswap16                                 0            
        3152896 (x 1.000)     1485 MB/s         -         0e0    0e0
    CRC mismatch!
    bswap32                                 0            
        3152896 (x 1.000)     1957 MB/s         -         0e0    0e0
    CRC mismatch!
    bswap64                                 0            
        3152896 (x 1.000)     2417 MB/s         -         0e0    0e0
    CRC mismatch!
    memcpy                                  0            
        3152896 (x 1.000)     2165 MB/s         -         0e0    0e0
    memmove                                 0            
        3152896 (x 1.000)     2195 MB/s         -         0e0    0e0
    nop                                     0            
              1 (x3152896.000)     7457 MB/s 2757 GB/s      7456e6 7456e6
    CRC mismatch!
    Codec                                   version      args
    C.Size      (C.Ratio)        E.Speed   D.Speed      E.Eff. D.Eff.
    done... (4*X*1) iteration(s)).
    It appears to be by far the fastest LZ decoder out there.
    Note: Unlike f.e. lz4 it's not safe against lz stream corruption.

    Note: There are also SIMD versions, I have not benchmarked them.
    Last edited by m^2; 4th May 2014 at 18: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
  •