Perbandingan Software Kompresi/Compression untuk Berbagai Jenis File
Summary of the multiple file compression benchmark tests
File type : Multiple file types (46 in total)
# of files to compress in this test : 510
Total File Size (bytes) : 316.355.757
Average File Size (bytes) : 620,305
Largest File (bytes) : 18,403,071
Smallest File (bytes) : 3,554
This test is designed to model 'real-world' performance of lossless data compressors. The test set contains a mix of different file types which are chosen with 'What do people use archivers for the most' in mind. The testset should contain data, weighted (in both type and proportion of files in the set) by how often these files are used for compression by normal users using compression software. So for example there will be more txt files then .ocx files in the set (yes, this is arbitrary). The set contains 100's of files and has a total size of over 300 Mb. The idea of a large collection is filtering out the 'noise'. A compressor might perform bad on 1 or 2 filetypes, but on a very large collection it will not hurt as much.
Some programs like CCM and BZIP2 can only compress one file at a time. For these programs a single TAR-file is created containing all files. The files in this TAR-file are ordered alphabetically on suffix, then name. Results of these compressors are marked with an 'Y' in the tarred column.
The testset consists of the following file types :
Filetype(s) | Description | % of total | # of files |
---|---|---|---|
TOC, MBX | Eudora mailboxes | 12.31 | 16 |
EXE, DLL, OCX, DRV | Executables | 10.99 | 35 |
TXT, RTF, DIC, LNG | Text files in several languages | 10.21 | 41 |
BMP, TIFF | Bitmaps/TIF images | 7.88 | 15 |
LOG | Log files | 6.34 | 6 |
HTM, PHP | HTML files | 6.13 | 19 |
DOC | MS Word files | 6.08 | 30 |
C, CPP, PAS, DCU | Source Code | 6.00 | 235 |
MDB, CSV | Databases | 4.26 | 7 |
HLP | Windows Help files | 4.23 | 7 |
CBF, CBG | Precompressed chess-databases | 3.55 | 2 |
WAV | Wave soundfiles | 3.45 | 9 |
XLS | XLS Spreadsheets | 2.41 | 16 |
Adobe Acrobat document | 1.59 | 6 | |
TTF | True Type Fonts | 1.15 | 15 |
DEF | Virus definition files | 1.10 | 3 |
JPG, GIF | Image files | 0.53 | 9 |
CHM | Precompressed help files | 0.49 | 2 |
INI, INF | INI files | 0.42 | 10 |
Others | DAT,JAR,M3D,SYS,PPT,MAP,WP,RLL,RIB.. | 10.88 | 27 |
Considering the fact it's supposed to be a 'real-world' test I will not look at the best possible (command-line or gui) switch combination to use for optimal compression, but only test a limited set as 'normal users' would do. For 7-zip this means for example I will use the GUI and select the Ultra compression method (which can be easily beaten with some good command line switches), WinRar will be tested with max dictionary size and solid archiving etc. Programs are allowed to use a maximum of 800 MB memory and must finish the compression stage within 12h. Compressed size must be 50% or less compared to the original size to be listed on MFC.
For my single file tests I got lots of requests to add the compression time to the tables. I did not do this for the reasons stated in the single file summary file, but I'm planning to measure compression times for this multiple file test!. I also decided to make this testset 'non public', so it's harder for developers to tune their program towards this specific test. I think this is the most fair way to get 'real life' performance tests.
Scoring system: The program yielding the lowest compressed size is considered the best program. The most efficient (read:use full) program is calculated by multiplying the compression + decompression time (in seconds) it took to produce the archive with the power of the archive size divided by the lowest measured archive size. The lower score the better. The basic idea is a compressor X has the same efficiency as compressor Y if X can compress twice as fast as Y and resulting archive size of X is 10% larger than size of Y. (Special thanks to Uwe Herklotz to get this formula right)
score_X = POWER(2; ((size_X / size_TOP) - 1) / 0,1) * time_X with score_X efficiency score for a certain compressor X time_X time elapsed by compressor X (comp + decomp time) size_X archive size achieved with compressor X size_TOP archive size by top archiver (smallest benchmark result)
"0,1" represents 10% and power of 2 ensures that for each 10% worse results (compared with top) the time is doubled, so any archiver (except top compressor) will get a penalty on time. The score of top compressor is always equal to its time value.
google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);
Results sorted on compressor efficiency
Pos | Program | Switches used | TAR | Q6600 | Compressed | Compression | Comp time | Decomp time | Efficiency |
---|---|---|---|---|---|---|---|---|---|
Size (bytes) | Ratio (%) | (sec) | (sec) | lower is better | |||||
000 | TESTSET | N | Y | 316355757 | 0.00 | 0 | 0 | 0 | |
001 | FreeARC 0.666 | (none) | N | Y | 81234951 | 74.32 | 24.1 | 11.8 | 289 |
002 | FreeARC 0.666 | -m3 | N | Y | 85905882 | 72.85 | 13.6 | 10.5 | 326 |
003 | FreeARC 0.666 | -m2 | N | Y | 91650028 | 71.03 | 6.9 | 7.8 | 376 |
004 | NanoZip 0.08a | -cDp | N | Y | 90823973 | 71.29 | 20.3 | 7.1 | 640 |
005 | FreeARC 0.666 | -mx | N | Y | 78406220 | 75.22 | 83.9 | 33.5 | 691 |
006 | WinRAR 3.91 | Normal solid 4096Kb | N | Y | 90402898 | 71.42 | 36.3 | 6.1 | 945 |
007 | WinRAR 3.91 | Normal | N | Y | 91995231 | 70.92 | 29.6 | 6.1 | 949 |
008 | NanoZip 0.08a | (none) | N | Y | 78598663 | 75.15 | 136.3 | 23.2 | 958 |
009 | NanoZip 0.08a | -cO | N | Y | 75586875 | 76.11 | 195 | 40 | 1011 |
010 | 7-Zip 9.15 | Norm LZMA2 16Mb ws=32 | N | Y | 88580415 | 72.00 | 49.5 | 8.2 | 1050 |
011 | WinRAR 3.91 | Best solid 4096Kb | N | Y | 86669536 | 72.60 | 48.6 | 26.3 | 1102 |
012 | CCM 1.30c | 6 | Y | Y | 77926922 | 75.37 | 107 | 103 | 1171 |
013 | WinRK 3.1.2 | Normal | N | Y | 78882890 | 75.07 | 157 | 33.5 | 1181 |
014 | FlashZIP 0.99b8 | -m1 | N | Y | 94690080 | 70.07 | 20.2 | 12.9 | 1187 |
015 | CCM 1.30c | (none) | Y | Y | 78598980 | 75.15 | 102 | 98 | 1202 |
016 | SBC 0.970 rev3 | -b9 | N | Y | 85740265 | 72.90 | 60 | 33 | 1235 |
017 | SBC 0.970 rev3 | (none) | N | Y | 86245288 | 72.74 | 57 | 33 | 1264 |
018 | WinRK 3.1.2 | Fastest | N | Y | 90821411 | 71.29 | 30.9 | 23.7 | 1274 |
019 | CCMx 1.30c | 6 | Y | Y | 77079949 | 75.64 | 130 | 126 | 1300 |
020 | CSC 3.2a6 | -m3 | Y | Y | 93295468 | 70.51 | 35.8 | 9.2 | 1382 |
021 | 7-Zip 9.15 | Ultra LZMA2 64Mb 3thr | N | Y | 87209288 | 72.43 | 92 | 9.5 | 1586 |
022 | SBC 0.970 rev3 | -m3 -b62 | N | Y | 84736176 | 73.21 | 102 | 40 | 1686 |
023 | WINZIP 14 | Zipx Best Method | N | Y | 86276462 | 72.73 | 95 | 27.5 | 1726 |
024 | WinACE 2.69 | Norm solid ace20 | N | Y | 89742715 | 71.63 | 74 | 12.3 | 1787 |
025 | DURILCA light 0.5 | -m800 -t1 | N | Y | 81666474 | 74.19 | 155 | 76 | 1951 |
026 | NanoZip 0.08a | -cc -m800m | N | Y | 69886947 | 77.91 | 448 | 432 | 2011 |
027 | StuffIt 14.0 | Auto filetype L16 M30 BP E | N | Y | 90125515 | 71.51 | 30.1 | 67 | 2098 |
028 | WinACE 2.69 | Max 4096Kb solid ace20 | N | Y | 88485215 | 72.03 | 108 | 12.3 | 2166 |
029 | ACE 2.6 | -m5 -d4096 | N | Y | 88486031 | 72.03 | 109 | 12.9 | 2195 |
030 | SQUEEZ 5.63 | Ultra 32Mb M E Solid | N | Y | 83565058 | 73.59 | 181 | 29.6 | 2196 |
031 | StuffIt 14.0 | BWT L3 M23 BP | N | Y | 89683391 | 71.65 | 32.3 | 78.2 | 2273 |
032 | FlashZIP 0.99b8 | -m2 -c7 | N | Y | 92635469 | 70.72 | 65.3 | 16.7 | 2340 |
033 | SLUG X | (none) | Y | Y | 112286383 | 64.51 | 4.4 | 5.2 | 2427 |
034 | CTXf 0.75 | (none) | N | N | 90038884 | 71.54 | 66 | 48 | 2439 |
035 | DGCA 1.10 | (none) | N | N | 89834304 | 71.60 | 83 | 34 | 2447 |
036 | SQUEEZ 5.63 | Norm 4Mb M E Solid | N | Y | 94082622 | 70.26 | 54.3 | 19.2 | 2463 |
037 | StuffIt 14.0 | Auto Inline L9 M30 BP E | N | Y | 89310142 | 71.77 | 35.4 | 89.8 | 2471 |
038 | COMPRESSIA 1.0b | sol dict 15 Mb | N | N | 88152784 | 72.13 | 86 | 62 | 2568 |
039 | CTXf 0.75 | -me | N | N | 88357992 | 72.07 | 83 | 64 | 2610 |
040 | Tornado 0.4a | (none) | Y | Y | 105742922 | 66.57 | 13.9 | 8.1 | 2690 |
041 | RZM 0.07h | (none) | Y | N | 84030374 | 73.44 | 230 | 19 | 2734 |
042 | SQUEEZ 5.63 | Max 8Mb M E Solid | N | Y | 87695358 | 72.28 | 155.7 | 19.2 | 2885 |
043 | UHARC 0.6b | (none) | N | Y | 84954506 | 73.15 | 209 | 33 | 2945 |
044 | BSC 2.2.5 | (none) | Y | Y | 102373221 | 67.64 | 19.9 | 15.4 | 2970 |
045 | UHARC 0.6b | -mx -md32768 -mm+ | N | Y | 78344876 | 75.24 | 278 | 234 | 2991 |
046 | WINIMP 1.21 | 1 Normal MM 4Mb B=600Kb | N | Y | 99638862 | 68.50 | 34.2 | 14.1 | 3000 |
047 | BSSC 0.95a | (none) | Y | N | 95811218 | 69.71 | 52 | 25 | 3127 |
048 | JAR 1.02 | (none) | N | N | 101169071 | 68.02 | 37 | 9 | 3386 |
049 | UHARC 0.6b | -mz -md32768 -mm+ | N | Y | 99251157 | 68.63 | 28.6 | 36 | 3843 |
050 | LZTurbo 0.95 | -43 | Y | Y | 113898203 | 64.00 | 6.7 | 6.5 | 3991 |
051 | DURILCA 0.5 | -m800 -t1 | N | Y | 72175578 | 77.19 | 738 | 657 | 4109 |
052 | WINIMP 1.21 | 1 BEST MM 16Mb B=1020Kb | N | Y | 97237727 | 69.26 | 72.3 | 14.1 | 4110 |
053 | THOR 0.96 | e5 | Y | Y | 112275112 | 64.51 | 12.6 | 3.8 | 4141 |
054 | LZTurbo 0.95 | -59 | N | Y | 93646784 | 70.40 | 126 | 7.2 | 4254 |
055 | GRZipII 0.2.4 | -b8m -a | Y | N | 97484136 | 69.19 | 48 | 43 | 4449 |
056 | CMM4 0.2b | 26 | Y | N | 82435458 | 73.94 | 250 | 256 | 4655 |
057 | WinRK 3.1.2 | High | N | Y | 69003458 | 78.19 | 1311 | 980 | 4745 |
058 | BMA 1.35b | (none) | N | N | 98728900 | 68.79 | 54 | 40 | 5277 |
059 | Ultra7z Opt 0.05 | (none) | N | Y | 84932335 | 73.15 | 406 | 40.2 | 5416 |
060 | Etincelle RC2 | (none) | Y | Y | 121778066 | 61.51 | 3.9 | 3.6 | 5438 |
061 | WinTurtle 1.60 | (none) | N | N | 103567658 | 67.26 | 28 | 30 | 5571 |
062 | WinTurtle 1.60 | Solid | N | N | 103129672 | 67.40 | 31 | 33 | 5856 |
063 | LZPX(J) 1.2h | (none) | Y | N | 92075183 | 70.90 | 110 | 111 | 5927 |
064 | LZPX(J) 1.2h | -8 | Y | N | 91451359 | 71.09 | 119 | 118 | 5931 |
065 | Blizzard 0.24b | (none) | Y | N | 98296282 | 68.93 | 60 | 52 | 5992 |
066 | Tornado 0.4a | -11 | Y | Y | 99959838 | 68.40 | 87 | 8.1 | 6120 |
067 | BIT 0.7 | (none) | Y | Y | 83321888 | 73.66 | 305 | 298 | 6121 |
068 | LPAQ8 | 8 | Y | N | 78704186 | 75.12 | 508 | 511 | 6195 |
069 | BMA 1.35b | -m16m -ax -mx | N | N | 95284418 | 69.88 | 101 | 61 | 6204 |
070 | BA 1.01 | (none) | Y | N | 99873098 | 68.43 | 59 | 40 | 6310 |
071 | PPMonstr J | -m800 -o32 | N | Y | 77699686 | 75.44 | 587 | 593 | 6417 |
072 | PPMonstr J | (none) | N | Y | 78443862 | 75.20 | 568 | 573 | 6739 |
073 | DURILCA light 0.5 | (none) | N | Y | 96823565 | 69.39 | 71 | 80 | 6861 |
074 | PPMd var J rev.1 | -m256 -o16 | N | Y | 96737515 | 69.42 | 73 | 80 | 6885 |
075 | DARK 0.51 | (none) | N | N | 100877062 | 68.11 | 60 | 38 | 6983 |
076 | RINGS 1.6 | 5 | Y | Y | 105796514 | 66.56 | 28.8 | 28.4 | 7036 |
077 | BIX 1.00 b7 | (none) | N | Y | 99694432 | 68.49 | 101 | 11.7 | 7042 |
078 | DARK 0.51 | -b128m | N | N | 100785450 | 68.14 | 61 | 39 | 7053 |
079 | GRZipII 0.2.4 | (none) | Y | N | 101686370 | 67.86 | 48 | 45 | 7249 |
080 | BALZ 1.15 | ex | Y | Y | 99123753 | 68.67 | 108 | 21.3 | 7584 |
081 | MNZIP | (none) | Y | N | 98488045 | 68.87 | 111 | 28 | 7597 |
082 | THOR 0.96 | e3 | Y | Y | 124588656 | 60.62 | 3.8 | 3.9 | 7628 bagikan di Facebook bagikan di Twitter
Kirim Komentar
Comments |