Bug 1710599 Comment 17 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Ran some **decompression** benchmarks with hyperfine as suggested by :Sylvestre (thanks for the tool suggestion BTW!)

Note: vms running with the same version of debian on GCP
____
### 2 Core - 2GB ram - VM with balanced SSD disk
```
$ hyperfine --runs 10 --prepare 'rm -rf firefox/; sync; echo 3 | sudo tee /proc/sys/vm/drop
_caches' "tar xf firefox-130.0.tar.xz" "tar xf firefox-130.0.tar.zst" "tar xf firefox-130.0.tar.bz2"
Benchmark 1: tar xf firefox-130.0.tar.xz
  Time (mean ± σ):      6.273 s ±  0.251 s    [User: 6.057 s, System: 1.118 s]
  Range (min … max):    6.055 s …  6.690 s    10 runs
 
Benchmark 2: tar xf firefox-130.0.tar.zst
  Time (mean ± σ):     970.2 ms ±  59.9 ms    [User: 876.4 ms, System: 697.9 ms]
  Range (min … max):   867.2 ms … 1090.6 ms    10 runs
 
Benchmark 3: tar xf firefox-130.0.tar.bz2
  Time (mean ± σ):     20.612 s ±  1.315 s    [User: 20.216 s, System: 2.002 s]
  Range (min … max):   19.011 s … 22.862 s    10 runs
 
Summary
  'tar xf firefox-130.0.tar.zst' ran
    6.47 ± 0.48 times faster than 'tar xf firefox-130.0.tar.xz'
   21.25 ± 1.89 times faster than 'tar xf firefox-130.0.tar.bz2'
```
____
### 2 Core - 2GB ram - VM with basic HDD disk
```
$ hyperfine --runs 10 --prepare 'rm -rf firefox/; sync; echo 3 | sudo tee /proc/sys/vm/drop_caches' "tar xf firefox-130.0.tar.xz" "tar xf firefox-130.0.tar.zst" "tar xf firefox-130.0.tar.bz2"
Benchmark 1: tar xf firefox-130.0.tar.xz
  Time (mean ± σ):      7.420 s ±  0.058 s    [User: 6.950 s, System: 1.107 s]
  Range (min … max):    7.340 s …  7.515 s    10 runs
 
Benchmark 2: tar xf firefox-130.0.tar.zst
  Time (mean ± σ):      1.942 s ±  0.119 s    [User: 1.176 s, System: 0.758 s]
  Range (min … max):    1.813 s …  2.202 s    10 runs
 
Benchmark 3: tar xf firefox-130.0.tar.bz2
  Time (mean ± σ):     20.234 s ±  0.500 s    [User: 19.183 s, System: 1.370 s]
  Range (min … max):   19.793 s … 21.289 s    10 runs
 
Summary
  'tar xf firefox-130.0.tar.zst' ran
    3.82 ± 0.24 times faster than 'tar xf firefox-130.0.tar.xz'
   10.42 ± 0.69 times faster than 'tar xf firefox-130.0.tar.bz2'
```
_____

#### Thoughts

zstd is the fastest option, but uses a bit more ram compared to xz (~140mb vs ~75mb)
xz is the most efficient compression ratio (~20% reduction vs bzip2, zstd has ~15% reduction)

Either one of those options are a great improvement over bzip2.
Ran some **decompression** benchmarks with hyperfine as suggested by :Sylvestre (thanks for the tool suggestion BTW!)

Note: vms running with the same version of debian on GCP
____
### 2 Core - 2GB ram - VM with balanced SSD disk
```
$ hyperfine --runs 10 --prepare 'rm -rf firefox/; sync; echo 3 | sudo tee /proc/sys/vm/drop_caches' \
"tar xf firefox-130.0.tar.xz" \
"tar xf firefox-130.0.tar.zst" \
"tar xf firefox-130.0.tar.bz2"
Benchmark 1: tar xf firefox-130.0.tar.xz
  Time (mean ± σ):      6.273 s ±  0.251 s    [User: 6.057 s, System: 1.118 s]
  Range (min … max):    6.055 s …  6.690 s    10 runs
 
Benchmark 2: tar xf firefox-130.0.tar.zst
  Time (mean ± σ):     970.2 ms ±  59.9 ms    [User: 876.4 ms, System: 697.9 ms]
  Range (min … max):   867.2 ms … 1090.6 ms    10 runs
 
Benchmark 3: tar xf firefox-130.0.tar.bz2
  Time (mean ± σ):     20.612 s ±  1.315 s    [User: 20.216 s, System: 2.002 s]
  Range (min … max):   19.011 s … 22.862 s    10 runs
 
Summary
  'tar xf firefox-130.0.tar.zst' ran
    6.47 ± 0.48 times faster than 'tar xf firefox-130.0.tar.xz'
   21.25 ± 1.89 times faster than 'tar xf firefox-130.0.tar.bz2'
```
____
### 2 Core - 2GB ram - VM with basic HDD disk
```
$ hyperfine --runs 10 --prepare 'rm -rf firefox/; sync; echo 3 | sudo tee /proc/sys/vm/drop_caches' \
"tar xf firefox-130.0.tar.xz" \
"tar xf firefox-130.0.tar.zst" \
"tar xf firefox-130.0.tar.bz2"
Benchmark 1: tar xf firefox-130.0.tar.xz
  Time (mean ± σ):      7.420 s ±  0.058 s    [User: 6.950 s, System: 1.107 s]
  Range (min … max):    7.340 s …  7.515 s    10 runs
 
Benchmark 2: tar xf firefox-130.0.tar.zst
  Time (mean ± σ):      1.942 s ±  0.119 s    [User: 1.176 s, System: 0.758 s]
  Range (min … max):    1.813 s …  2.202 s    10 runs
 
Benchmark 3: tar xf firefox-130.0.tar.bz2
  Time (mean ± σ):     20.234 s ±  0.500 s    [User: 19.183 s, System: 1.370 s]
  Range (min … max):   19.793 s … 21.289 s    10 runs
 
Summary
  'tar xf firefox-130.0.tar.zst' ran
    3.82 ± 0.24 times faster than 'tar xf firefox-130.0.tar.xz'
   10.42 ± 0.69 times faster than 'tar xf firefox-130.0.tar.bz2'
```
_____

#### Thoughts

zstd is the fastest option, but uses a bit more ram compared to xz (~140mb vs ~75mb)
xz is the most efficient compression ratio (~20% reduction vs bzip2, zstd has ~15% reduction)

Either one of those options are a great improvement over bzip2.
Ran some **decompression** benchmarks with hyperfine as suggested by :Sylvestre (thanks for the tool suggestion BTW!)

Note: vms running with the same version of debian on GCP
____
### 2 Core - 2GB ram - VM with balanced SSD disk
```
$ hyperfine --runs 10 --prepare 'rm -rf firefox/; sync; echo 3 | sudo tee /proc/sys/vm/drop_caches' \
"tar xf firefox-130.0.tar.xz" \
"tar xf firefox-130.0.tar.zst" \
"tar xf firefox-130.0.tar.bz2"
Benchmark 1: tar xf firefox-130.0.tar.xz
  Time (mean ± σ):      6.273 s ±  0.251 s    [User: 6.057 s, System: 1.118 s]
  Range (min … max):    6.055 s …  6.690 s    10 runs
 
Benchmark 2: tar xf firefox-130.0.tar.zst
  Time (mean ± σ):     970.2 ms ±  59.9 ms    [User: 876.4 ms, System: 697.9 ms]
  Range (min … max):   867.2 ms … 1090.6 ms    10 runs
 
Benchmark 3: tar xf firefox-130.0.tar.bz2
  Time (mean ± σ):     20.612 s ±  1.315 s    [User: 20.216 s, System: 2.002 s]
  Range (min … max):   19.011 s … 22.862 s    10 runs
 
Summary
  'tar xf firefox-130.0.tar.zst' ran
    6.47 ± 0.48 times faster than 'tar xf firefox-130.0.tar.xz'
   21.25 ± 1.89 times faster than 'tar xf firefox-130.0.tar.bz2'
```
____
### 2 Core - 2GB ram - VM with basic HDD disk
```
$ hyperfine --runs 10 --prepare 'rm -rf firefox/; sync; echo 3 | sudo tee /proc/sys/vm/drop_caches' \
"tar xf firefox-130.0.tar.xz" \
"tar xf firefox-130.0.tar.zst" \
"tar xf firefox-130.0.tar.bz2"
Benchmark 1: tar xf firefox-130.0.tar.xz
  Time (mean ± σ):      7.420 s ±  0.058 s    [User: 6.950 s, System: 1.107 s]
  Range (min … max):    7.340 s …  7.515 s    10 runs
 
Benchmark 2: tar xf firefox-130.0.tar.zst
  Time (mean ± σ):      1.942 s ±  0.119 s    [User: 1.176 s, System: 0.758 s]
  Range (min … max):    1.813 s …  2.202 s    10 runs
 
Benchmark 3: tar xf firefox-130.0.tar.bz2
  Time (mean ± σ):     20.234 s ±  0.500 s    [User: 19.183 s, System: 1.370 s]
  Range (min … max):   19.793 s … 21.289 s    10 runs
 
Summary
  'tar xf firefox-130.0.tar.zst' ran
    3.82 ± 0.24 times faster than 'tar xf firefox-130.0.tar.xz'
   10.42 ± 0.69 times faster than 'tar xf firefox-130.0.tar.bz2'
```
_____

#### Thoughts

zstd is the fastest option, but uses a bit more ram compared to xz (~140mb vs ~75mb)
xz is the most efficient compression ratio (~20% reduction vs bzip2, zstd has ~15% reduction)

Either one of those options are a great improvement over bzip2.

I'd be happy to run other scenarios if you need.

Back to Bug 1710599 Comment 17