| 1 |
|
| 2 | [Testing corpus](https://github.com/iczelia/bzip3/releases/download/corpus/corpus.7z) |
| 3 |
|
| 4 | ``` |
| 5 | 17256 bee_movie.txt.bz3 |
| 6 | 18109 bzip2/bee_movie.txt.bz2 |
| 7 | 55315 bee_movie.txt |
| 8 |
|
| 9 | 72320 bzip3-master.tar.bz3 |
| 10 | 77575 bzip2/bzip3-master.tar.bz2 |
| 11 | 501760 bzip3-master.tar |
| 12 |
|
| 13 | 256680 lua-5.4.4.tar.bz3 |
| 14 | 285841 bzip2/lua-5.4.4.tar.bz2 |
| 15 | 1361920 lua-5.4.4.tar |
| 16 |
|
| 17 | 468272 cantrbry.tar.bz3 |
| 18 | 570856 bzip2/cantrbry.tar.bz2 |
| 19 | 2821120 cantrbry.tar |
| 20 |
|
| 21 | 807959 calgary.tar.bz3 |
| 22 | 891321 bzip2/calgary.tar.bz2 |
| 23 | 3265536 calgary.tar |
| 24 |
|
| 25 | 1229840 shakespeare.txt.bz3 |
| 26 | 1479261 bzip2/shakespeare.txt.bz2 |
| 27 | 5458199 shakespeare.txt |
| 28 |
|
| 29 | 2347278 decoda.tar.bz3 |
| 30 | 2580600 bzip2/decoda.tar.bz2 |
| 31 | 6154240 decoda.tar |
| 32 |
|
| 33 | 2052611 2b2t_signs.txt.bz3 |
| 34 | 2388597 bzip2/2b2t_signs.txt.bz2 |
| 35 | 9635520 2b2t_signs.txt |
| 36 |
|
| 37 | 41187299 audio.tar.bz3 |
| 38 | 95526840 bzip2/audio.tar.bz2 |
| 39 | 115742720 audio.tar |
| 40 |
|
| 41 | 12753530 chinese.txt.bz3 |
| 42 | 17952181 bzip2/chinese.txt.bz2 |
| 43 | 79912971 chinese.txt |
| 44 |
|
| 45 | 22677651 enwik8.bz3 |
| 46 | 29008758 bzip2/enwik8.bz2 |
| 47 | 100000000 enwik8 |
| 48 |
|
| 49 | 47227855 silesia.tar.bz3 |
| 50 | 54538771 bzip2/silesia.tar.bz2 |
| 51 | 211968000 silesia.tar |
| 52 |
|
| 53 | 8437731 lisp.mb.bz3 |
| 54 | 13462295 bzip2/lisp.mb.bz2 |
| 55 | 371331415 lisp.mb |
| 56 |
|
| 57 | 83624620 gcc.tar.bz3 |
| 58 | 109065903 bzip2/gcc.tar.bz2 |
| 59 | 824309760 gcc.tar |
| 60 |
|
| 61 | 157642102 dna.tar.bz3 |
| 62 | 180075480 bzip2/dna.tar.bz2 |
| 63 | 685619200 dna.tar |
| 64 |
|
| 65 | 129023171 linux.tar.bz3 |
| 66 | 157810434 bzip2/linux.tar.bz2 |
| 67 | 1215221760 linux.tar |
| 68 |
|
| 69 | 406343457 Windows NT 4.0.vmdk.bz3 |
| 70 | 437184515 bzip2/Windows NT 4.0.vmdk.bz2 |
| 71 | 804192256 Windows NT 4.0.vmdk |
| 72 | ``` |
| 73 |
|
| 74 | ## Benchmark on the Calgary corpus |
| 75 |
|
| 76 | Downloaded from http://corpus.canterbury.ac.nz/resources/calgary.tar.gz |
| 77 |
|
| 78 | Results: |
| 79 |
|
| 80 | ``` |
| 81 | % wc -c corpus/calgary.tar.bz2 corpus/calgary.tar.lzma corpus/calgary.tar.gz corpus/calgary.tar |
| 82 | 891321 corpus/calgary.tar.bz2 |
| 83 | 853112 corpus/calgary.tar.lzma |
| 84 | 1062584 corpus/calgary.tar.gz |
| 85 | 3265536 corpus/calgary.tar |
| 86 | ``` |
| 87 |
|
| 88 | Performance: |
| 89 |
|
| 90 | ``` |
| 91 | Benchmark 1: gzip -9 -k -f corpus/calgary.tar |
| 92 | Time (mean ± σ): 224.3 ms ± 2.6 ms [User: 221.4 ms, System: 2.5 ms] |
| 93 | Range (min … max): 219.9 ms … 230.9 ms 30 runs |
| 94 |
|
| 95 | Benchmark 2: lzma -9 -k -f corpus/calgary.tar |
| 96 | Time (mean ± σ): 787.9 ms ± 9.6 ms [User: 753.6 ms, System: 33.7 ms] |
| 97 | Range (min … max): 764.8 ms … 813.1 ms 30 runs |
| 98 |
|
| 99 | Benchmark 3: bzip3 -e -b 3 corpus/calgary.tar corpus/calgary.tar.bz3 |
| 100 | Time (mean ± σ): 265.3 ms ± 1.8 ms [User: 257.6 ms, System: 5.9 ms] |
| 101 | Range (min … max): 262.5 ms … 269.0 ms 11 runs |
| 102 |
|
| 103 | Benchmark 4: bzip2 -9 -k -f corpus/calgary.tar |
| 104 | Time (mean ± σ): 172.9 ms ± 2.4 ms [User: 168.4 ms, System: 4.4 ms] |
| 105 | Range (min … max): 169.5 ms … 179.4 ms 30 runs |
| 106 | ``` |
| 107 |
|
| 108 | Memory usage (as reported by `zsh`'s `time`): |
| 109 |
|
| 110 | ``` |
| 111 | bzip2 8M memory |
| 112 | bzip3 17M memory |
| 113 | lzma 95M memory |
| 114 | gzip 5M memory |
| 115 | ``` |
| 116 |
|
| 117 | ## Benchmark on the Linux kernel |
| 118 |
|
| 119 | ``` |
| 120 | bzip3 -e -b 16 corpus/linux.tar corpus/linux.tar.bz3 76.93s user 0.41s system 99% cpu 89M memory 1:17.38 total |
| 121 | bzip2 -9 -k linux.tar 61.23s user 0.35s system 99% cpu 8M memory 1:01.58 total |
| 122 | gzip -9 -k linux.tar 43.08s user 0.35s system 99% cpu 4M memory 43.435 total |
| 123 | lzma -9 -k linux.tar 397.30s user 0.90s system 99% cpu 675M memory 6:38.28 total |
| 124 | ``` |
| 125 |
|
| 126 | ``` |
| 127 | wc -c linux.tar* |
| 128 | 1215221760 linux.tar |
| 129 | 157810434 linux.tar.bz2 |
| 130 | 208100532 linux.tar.gz |
| 131 | 125725455 linux.tar.lzma |
| 132 | ``` |
| 133 |
|
| 134 | ## The Silesia corpus |
| 135 |
|
| 136 | ``` |
| 137 | lzma -9 -k silesia.tar 76.88s user 0.31s system 99% cpu 675M memory 1:17.20 total |
| 138 | bzip3 -e -b 16 silesia.tar 17.42s user 0.08s system 99% cpu 98M memory 17.510 total |
| 139 | zstd -19 silesia.tar 83.43s user 0.20s system 100% cpu 237M memory 1:23.47 total |
| 140 |
|
| 141 | % wc -c silesia* |
| 142 | 211968000 silesia.tar |
| 143 | 47227855 silesia.tar.bz3 |
| 144 | 48761670 silesia.tar.lzma |
| 145 | 53000145 silesia.tar.zst |
| 146 | ``` |
| 147 |
|