:: bzip3 / etc / BENCHMARKS.md 3.5 KB raw

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
tab: 248 wrap: offon