User Tools

Site Tools


base:compression_benchmarks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
base:compression_benchmarks [2017-03-24 04:57] – created shrydarbase:compression_benchmarks [2017-03-27 09:16] – [Compression Benchmarks] shrydar
Line 3: Line 3:
 Here are how various packers perform on the Pearl for Pigs corpus, as  Here are how various packers perform on the Pearl for Pigs corpus, as 
 included in [[http://csdb.dk/release/?id=81773|LZWVL]], the file "bin.rar". included in [[http://csdb.dk/release/?id=81773|LZWVL]], the file "bin.rar".
 +
 +Note that Bitfire and ByteBoozer 2.0 have nigh identical performance, so only one is visible in this plot.
 +Times not yet available for Exomizer raw or for subsizer, so those two show as a pair of horizontal lines on around 45% mean compressed size.
 +
 +{{:base:compression_benchmarks.png}}
 +
 +All file sizes exclusive of unpacker, all times measured in cycles with interrupts disabled and screen blanked.  JSON raw data to follow.
  
 ==== Packers tested ==== ==== Packers tested ====
Line 20: Line 27:
 | pu-f       | [[http://csdb.dk/release/?id=6089|PuCrunch]] (fast) | | pu-f       | [[http://csdb.dk/release/?id=6089|PuCrunch]] (fast) |
 | LZMPi      | LZMPi ([[https://github.com/martinpiper/C64Public/tree/master/Compression|compression]], [[https://github.com/martinpiper/C64Public/tree/master/Decompression|decompression]]) | | LZMPi      | LZMPi ([[https://github.com/martinpiper/C64Public/tree/master/Compression|compression]], [[https://github.com/martinpiper/C64Public/tree/master/Decompression|decompression]]) |
 +| subsizer   | [[http://csdb.dk/release/?id=154516|Subsizer 0.5]] |
  
- (tests mostly peformed in February 2016. Some may have since improved)+ 
 + (tests mostly performed in February 2016. Some may have since improved)
  
 ==== Results ==== ==== Results ====
-    +
 === compressed filesizes in bytes === === compressed filesizes in bytes ===
-| ^ bin  ^ rle  ^ wvl-f  ^ wvl-s  ^ LZMV256  ^ tc  ^ LZMV4k  ^ nucrunch  ^ bb2.0  ^ bitfire  ^ doynax  ^ exomem  ^ pu-f  ^ LZMPi  ^ exoraw +| ^ bin  ^ rle  ^ wvl-f  ^ wvl-s  ^ LZMV256  ^ tc  ^ LZMV4k  ^ nucrunch  ^ bb2.0  ^ bitfire  ^ doynax  ^ exomem  ^ pu-f  ^ LZMPi  ^ exoraw  ^ subsizer  | 
-^ 1 |   11008 |    8020 |    4529 |    4151 |    4539 |    4329 |    4205 |    3225 |    3322 |    3324 |    3265 |    2988 |    3711 |    3184 |    2988 | +^ 1 |   11008 |    8020 |    4529 |    4151 |    4539 |    4329 |    4205 |    3225 |    3322 |    3324 |    3265 |    2988 |    3711 |    3184 |    2988 |    2956 
-^ 2 |    4973 |    4314 |    3532 |    3309 |    3575 |    3423 |    3183 |    2498 |    2513 |    2515 |    2512 |    2225 |    3005 |    2410 |    2241 | +^ 2 |    4973 |    4314 |    3532 |    3309 |    3575 |    3423 |    3183 |    2498 |    2513 |    2515 |    2512 |    2225 |    3005 |    2410 |    2241 |    2205 
-^ 3 |    3949 |    3498 |    2991 |    2617 |    3018 |    2972 |    2551 |    2091 |    2098 |    2097 |    2108 |    1808 |    2530 |    1931 |    1817 | +^ 3 |    3949 |    3498 |    2991 |    2617 |    3018 |    2972 |    2551 |    2091 |    2098 |    2097 |    2108 |    1808 |    2530 |    1931 |    1817 |    1788 
-^ 4 |    7016 |    6456 |    4242 |    4085 |    4314 |    4225 |    4343 |    3622 |    3682 |    3682 |    3617 |    3442 |    3924 |    3571 |    3454 | +^ 4 |    7016 |    6456 |    4242 |    4085 |    4314 |    4225 |    4343 |    3622 |    3682 |    3682 |    3617 |    3442 |    3924 |    3571 |    3454 |    3456 
-^ 5 |   34760 |   27647 |   25781 |   24895 |   26116 |   25210 |   23845 |   20447 |   20530 |   20531 |   20405 |   19715 |   21182 |   20362 |   19631 | +^ 5 |   34760 |   27647 |   25781 |   24895 |   26116 |   25210 |   23845 |   20447 |   20530 |   20531 |   20405 |   19715 |   21182 |   20362 |   19631 |   19519 
-^ 6 |   31605 |   12511 |   11283 |   10923 |   11352 |   11614 |   10619 |    8915 |    8998 |    9004 |    8904 |    8322 |    9203 |    8719 |    8337 | +^ 6 |   31605 |   12511 |   11283 |   10923 |   11352 |   11614 |   10619 |    8915 |    8998 |    9004 |    8904 |    8322 |    9203 |    8719 |    8337 |    8396 
-^ 7 |   20392 |   17295 |   12108 |   11285 |   12188 |   11445 |   11154 |    9140 |    9241 |    9242 |    9289 |    8765 |    9789 |    9256 |    8751 | +^ 7 |   20392 |   17295 |   12108 |   11285 |   12188 |   11445 |   11154 |    9140 |    9241 |    9242 |    9289 |    8765 |    9789 |    9256 |    8751 |    8766 
-^ 8 |    5713 |    5407 |    4179 |    3916 |    3987 |    3936 |    3959 |    3166 |    3165 |    3162 |    3132 |    3081 |    3656 |    3048 |    3059 | +^ 8 |    5713 |    5407 |    4179 |    3916 |    3987 |    3936 |    3959 |    3166 |    3165 |    3162 |    3132 |    3081 |    3656 |    3048 |    3059 |    3063 
-^ 9 |    8960 |    7986 |    6914 |    6896 |    6943 |    6572 |    6505 |    5502 |    5491 |    5491 |    5430 |    5304 |    6000 |    5563 |    5295 |+^ 9 |    8960 |    7986 |    6914 |    6896 |    6943 |    6572 |    6505 |    5502 |    5491 |    5491 |    5430 |    5304 |    6000 |    5563 |    5295 |    5307 |
  
 === compression ratio (%) === === compression ratio (%) ===
-| ^ bin  ^ rle  ^ wvl-f  ^ wvl-s  ^ LZMV256  ^ tc  ^ LZMV4k  ^ nucrunch  ^ bb2.0  ^ bitfire  ^ doynax  ^ exomem  ^ pu-f  ^ LZMPi  ^ exoraw +| ^ bin  ^ rle  ^ wvl-f  ^ wvl-s  ^ LZMV256  ^ tc  ^ LZMV4k  ^ nucrunch  ^ bb2.0  ^ bitfire  ^ doynax  ^ exomem  ^ pu-f  ^ LZMPi  ^ exoraw  ^ subsizer  | 
-^ 1 |  100.0 |   72.9 |   41.1 |   37.7 |   41.2 |   39.3 |   38.2 |   29.3 |   30.2 |   30.2 |   29.7 |   27.1 |   33.7 |   28.9 |   27.1| +^ 1 |  100.0 |   72.9 |   41.1 |   37.7 |   41.2 |   39.3 |   38.2 |   29.3 |   30.2 |   30.2 |   29.7 |   27.1 |   33.7 |   28.9 |   27.1 |   26.9
-^ 2 |  100.0 |   86.7 |   71.0 |   66.5 |   71.9 |   68.8 |   64.0 |   50.2 |   50.5 |   50.6 |   50.5 |   44.7 |   60.4 |   48.5 |   45.1| +^ 2 |  100.0 |   86.7 |   71.0 |   66.5 |   71.9 |   68.8 |   64.0 |   50.2 |   50.5 |   50.6 |   50.5 |   44.7 |   60.4 |   48.5 |   45.1 |   44.3
-^ 3 |  100.0 |   88.6 |   75.7 |   66.3 |   76.4 |   75.3 |   64.6 |   53.0 |   53.1 |   53.1 |   53.4 |   45.8 |   64.1 |   48.9 |   46.0| +^ 3 |  100.0 |   88.6 |   75.7 |   66.3 |   76.4 |   75.3 |   64.6 |   53.0 |   53.1 |   53.1 |   53.4 |   45.8 |   64.1 |   48.9 |   46.0 |   45.3
-^ 4 |  100.0 |   92.0 |   60.5 |   58.2 |   61.5 |   60.2 |   61.9 |   51.6 |   52.5 |   52.5 |   51.6 |   49.1 |   55.9 |   50.9 |   49.2| +^ 4 |  100.0 |   92.0 |   60.5 |   58.2 |   61.5 |   60.2 |   61.9 |   51.6 |   52.5 |   52.5 |   51.6 |   49.1 |   55.9 |   50.9 |   49.2 |   49.3
-^ 5 |  100.0 |   79.5 |   74.2 |   71.6 |   75.1 |   72.5 |   68.6 |   58.8 |   59.1 |   59.1 |   58.7 |   56.7 |   60.9 |   58.6 |   56.5| +^ 5 |  100.0 |   79.5 |   74.2 |   71.6 |   75.1 |   72.5 |   68.6 |   58.8 |   59.1 |   59.1 |   58.7 |   56.7 |   60.9 |   58.6 |   56.5 |   56.2
-^ 6 |  100.0 |   39.6 |   35.7 |   34.6 |   35.9 |   36.7 |   33.6 |   28.2 |   28.5 |   28.5 |   28.2 |   26.3 |   29.1 |   27.6 |   26.4| +^ 6 |  100.0 |   39.6 |   35.7 |   34.6 |   35.9 |   36.7 |   33.6 |   28.2 |   28.5 |   28.5 |   28.2 |   26.3 |   29.1 |   27.6 |   26.4 |   26.6
-^ 7 |  100.0 |   84.8 |   59.4 |   55.3 |   59.8 |   56.1 |   54.7 |   44.8 |   45.3 |   45.3 |   45.6 |   43.0 |   48.0 |   45.4 |   42.9| +^ 7 |  100.0 |   84.8 |   59.4 |   55.3 |   59.8 |   56.1 |   54.7 |   44.8 |   45.3 |   45.3 |   45.6 |   43.0 |   48.0 |   45.4 |   42.9 |   43.0
-^ 8 |  100.0 |   94.6 |   73.1 |   68.5 |   69.8 |   68.9 |   69.3 |   55.4 |   55.4 |   55.3 |   54.8 |   53.9 |   64.0 |   53.4 |   53.5| +^ 8 |  100.0 |   94.6 |   73.1 |   68.5 |   69.8 |   68.9 |   69.3 |   55.4 |   55.4 |   55.3 |   54.8 |   53.9 |   64.0 |   53.4 |   53.5 |   53.6
-^ 9 |  100.0 |   89.1 |   77.2 |   77.0 |   77.5 |   73.3 |   72.6 |   61.4 |   61.3 |   61.3 |   60.6 |   59.2 |   67.0 |   62.1 |   59.1| +^ 9 |  100.0 |   89.1 |   77.2 |   77.0 |   77.5 |   73.3 |   72.6 |   61.4 |   61.3 |   61.3 |   60.6 |   59.2 |   67.0 |   62.1 |   59.1 |   59.2
-| |  100.0 |   80.9 |   63.1 |   59.5 |   63.2 |   61.3 |   58.6 |   48.1 |   48.4 |   48.4 |   48.1 |   45.1 |   53.7 |   47.1 |   45.1 |+| |  100.0 |   80.9 |   63.1 |   59.5 |   63.2 |   61.3 |   58.6 |   48.1 |   48.4 |   48.4 |   48.1 |   45.1 |   53.7 |   47.1 |   45.1 |   44.9 |
  
 === number of frames to depack === === number of frames to depack ===
Line 86: Line 95:
 ^ 8 |     23.6 |   40.0 |   42.7 |   43.9 |   52.4 |   51.1 |   94.5 |  105.2 |  105.9 |  116.1 |  285.8 |  256.4 |  419.5 |   | ^ 8 |     23.6 |   40.0 |   42.7 |   43.9 |   52.4 |   51.1 |   94.5 |  105.2 |  105.9 |  116.1 |  285.8 |  256.4 |  419.5 |   |
 ^ 9 |     23.4 |   35.5 |   35.6 |   40.2 |   49.3 |   50.2 |   94.8 |  105.9 |  105.4 |  117.6 |  292.4 |  267.7 |  414.7 |   | ^ 9 |     23.4 |   35.5 |   35.6 |   40.2 |   49.3 |   50.2 |   94.8 |  105.9 |  105.4 |  117.6 |  292.4 |  267.7 |  414.7 |   |
 +
 +==== Sources and credits ====
 +
 +Benchmarks originally posted at
 +  * [[http://csdb.dk/forums/?roomid=11&topicid=103226&showallposts=1|CSDb User Forums - Doynamite 1.x]]
 +  * [[http://csdb.dk/forums/?roomid=11&topicid=114681&showallposts=1|CSDb User Forums - Nucrunch 0.1]]
 +  * [[http://csdb.dk/forums/?roomid=12&topicid=123048&showallposts=1|CSDb User Forums - Subsizer 0.5]]
 +
 +as measured by WVL, Christopher Jam, MagerValp, Martin Piper, and tlr.
base/compression_benchmarks.txt · Last modified: 2017-04-21 09:33 by shrydar