NikPak

Benchmarks

NikPak, RAR 7.00, 7-Zip 23.01 and Info-ZIP 3.0, run one after another on the same machine and the same files.

Method

  • Linux x86-64 virtual machine (Intel Xeon, 2.8 GHz). Every tool pinned to one CPU core and run single-threaded.
  • Maximum levels: nikpak -m5, RAR -m5 -s, 7-Zip -mx9, ZIP -9. Fast levels: nikpak -m2, RAR -m3 -s, 7-Zip -mx5, ZIP -6.
  • All 92 archives were extracted again and compared with the originals: all were identical.
  • Public test material: scikit-image photographs, the libxmp MOD collection, LibreOffice gallery sounds, music rendered with TiMidity++, Project Gutenberg books, office files, the Python standard library and C headers.

Archive size at the maximum level

Percentage of the original size, lower is better.

8 BMP images

NikPak -m550.9 %
RAR 7 -m562.9 %
7-Zip -mx960.0 %
ZIP -971.2 %

16 ProTracker MOD files

NikPak -m550.1 %
RAR 7 -m556.1 %
7-Zip -mx951.8 %
ZIP -962.5 %

35 WAV sounds (mono 16-bit)

NikPak -m545.0 %
RAR 7 -m553.4 %
7-Zip -mx949.6 %
ZIP -961.9 %

Music 44.1 kHz stereo 16-bit

NikPak -m549.2 %
RAR 7 -m558.9 %
7-Zip -mx960.1 %
ZIP -985.7 %

Music 22.05 kHz mono 16-bit

NikPak -m555.4 %
RAR 7 -m563.0 %
7-Zip -mx962.7 %
ZIP -984.2 %

Music 22.05 kHz mono 8-bit

NikPak -m527.3 %
RAR 7 -m532.7 %
7-Zip -mx928.9 %
ZIP -937.7 %

Music 48 kHz stereo 24-bit

NikPak -m562.8 %
RAR 7 -m573.2 %
7-Zip -mx988.1 %
ZIP -993.0 %

18 plain-text books

NikPak -m523.2 %
RAR 7 -m529.8 %
7-Zip -mx927.6 %
ZIP -935.8 %

60 office files

NikPak -m517.6 %
RAR 7 -m528.6 %
7-Zip -mx925.8 %
ZIP -944.5 %

General data (11,473 files)

NikPak -m514.8 %
RAR 7 -m517.6 %
7-Zip -mx915.2 %
ZIP -932.7 %

Maximum level: archive size in bytes

The smallest archive in each row is highlighted.

Test setOriginalNikPak -m5RAR 7 -m57-Zip -mx9ZIP -9
8 BMP images6,987,8403,557,3504,394,3104,195,0434,974,680
16 ProTracker MOD files2,252,6041,127,6071,264,2451,166,8551,408,085
35 WAV sounds (mono 16-bit)2,991,8201,346,4841,596,9711,484,8791,852,279
Music 44.1 kHz stereo 16-bit17,760,4088,731,98910,460,04210,666,92215,225,764
Music 22.05 kHz mono 16-bit4,440,1362,458,8672,797,0262,784,0803,736,722
Music 22.05 kHz mono 8-bit2,220,090606,840725,416642,341836,989
Music 48 kHz stereo 24-bit28,996,59218,198,05621,229,46525,542,03626,980,770
18 plain-text books11,793,3182,741,8983,519,6223,259,8684,223,579
60 office files39,100,9156,887,72911,186,21710,085,77917,399,998
General data (11,473 files)190,454,63228,175,61833,606,89328,879,39862,198,510

Fast levels: size and creation time

Archive size as a percentage of the original, and creation time on one core. The smallest archive in each row is highlighted.

Test setNikPak -m2RAR 7 -m37-Zip -mx5ZIP -6
8 BMP images54.0 % · 0.39 s63.0 % · 2.1 s60.1 % · 3.5 s71.2 % · 0.35 s
16 ProTracker MOD files52.4 % · 0.61 s56.2 % · 0.43 s51.9 % · 0.69 s62.7 % · 0.10 s
35 WAV sounds (mono 16-bit)51.1 % · 0.41 s53.6 % · 0.71 s49.6 % · 2.0 s61.9 % · 0.24 s
Music 44.1 kHz stereo 16-bit49.2 % · 1.7 s59.9 % · 3.6 s60.1 % · 14.0 s85.7 % · 0.82 s
Music 22.05 kHz mono 16-bit55.4 % · 0.58 s64.1 % · 0.95 s62.7 % · 2.1 s84.2 % · 0.22 s
Music 22.05 kHz mono 8-bit27.4 % · 0.77 s33.3 % · 0.52 s28.9 % · 2.1 s38.2 % · 0.32 s
Music 48 kHz stereo 24-bit62.8 % · 2.1 s73.6 % · 7.5 s88.1 % · 13.5 s93.0 % · 1.2 s
18 plain-text books35.2 % · 0.11 s30.4 % · 5.5 s27.7 % · 11.8 s36.0 % · 0.89 s
60 office files38.0 % · 0.22 s29.5 % · 8.2 s26.2 % · 21.9 s44.7 % · 1.8 s
General data (11,473 files)25.3 % · 1.7 s18.0 % · 48.2 s17.0 % · 93.7 s32.9 % · 7.3 s

General data in detail

190 MB, 11,473 files: Python libraries, C headers and documentation.

Tool and levelSize (bytes)% of originalCreationExtraction
NikPak -m528,175,61814.8 %154.3 s5.6 s
7-Zip -mx928,879,39815.2 %120.9 s6.0 s
RAR 7 -m5 -s -md256m32,350,57517.0 %73.6 s7.0 s
7-Zip -mx532,375,80217.0 %93.7 s4.5 s
NikPak -m433,295,13317.5 %37.8 s3.3 s
RAR 7 -m5 -s33,606,89317.6 %72.4 s6.7 s
RAR 7 -m3 -s34,236,19818.0 %48.2 s5.9 s
NikPak -m248,229,28425.3 %1.7 s0.90 s
RAR 7 -m356,038,35129.4 %20.2 s6.9 s
ZIP -962,198,51032.7 %28.2 s6.9 s
ZIP -662,672,41532.9 %7.3 s5.4 s

Reading the results honestly

  • NikPak -m5 is the smallest on every set: 2.4 to 31.7 % smaller than 7-Zip -mx9, 10.8 to 38.4 % smaller than RAR 7 -m5 and 19.9 to 60.4 % smaller than ZIP -9.
  • Recorded audio: on the 24-bit music 7-Zip saves 12 % and NikPak 37 %, because the NAC codec predicts what general compressors can only match.
  • Office files, 31.7 % smaller than 7-Zip, thanks to Deflate recompression. The price at -m5 is time: 81 s against 26 s.
  • Text, 15.9 % smaller in half the time: PPMd wins on prose. It decodes as slowly as it encodes, so extraction takes 2.7 s instead of 0.2 s.
  • Fast level -m2: 1.7 s for the general set, against 93.7 s for 7-Zip -mx5, 48.2 s for RAR and 7.3 s for ZIP. It is not the smallest on text and source code, which is why -m5 is the default.
  • Extraction: 0.9 s (-m2) or 5.6 s (-m5) for the general set, against 6.0 s for 7-Zip, 6.7 s for RAR and 6.9 s for ZIP.
  • The cost: -m5 is single-threaded and slower than 7-Zip on large office and source-code sets. A faster maximum level is on the roadmap.

Figures from the NikPak technical guide (section 11.7, NikPak 1.2.0). Measure on your own files: nikpak mt shows what each media filter achieves without writing anything.