11# !/bin/sh
22set -e
33
4- # Benchmarks run on a Ubuntu 14.04 VM with 2 cores and 4 GiB of RAM.
5- # The VM is running on a Macbook Pro with a 3.1 GHz Intel Core i7 processor and
6- # 16 GB of RAM and an SSD.
4+ # Benchmarks run on a Ubuntu 22.04 VM with 2 cores and 8 GiB of RAM.
5+ # The VM is c6i.xlarge instance with a Intel 8375C 2.90GHz processor and gp3 SSD with throughput 500 MB/s.
6+ # Hyperthreading disabled
7+ # Kernel: 6.2
78
89# silesia is a directory that can be downloaded from
910# http://mattmahoney.net/dc/silesia.html
10- # ls -l silesia/
11+ # $ ls -lh ./ silesia/
1112# total 203M
12- # -rwxr-xr-x 1 terrelln 9.8M Apr 12 2002 dickens
13- # -rwxr-xr-x 1 terrelln 49M May 31 2002 mozilla
14- # -rwxr-xr-x 1 terrelln 9.6M Mar 20 2003 mr
15- # -rwxr-xr-x 1 terrelln 32M Apr 2 2002 nci
16- # -rwxr-xr-x 1 terrelln 5.9M Jul 4 2002 ooffice
17- # -rwxr-xr-x 1 terrelln 9.7M Apr 11 2002 osdb
18- # -rwxr-xr-x 1 terrelln 6.4M Apr 2 2002 reymont
19- # -rwxr-xr-x 1 terrelln 21M Mar 25 2002 samba
20- # -rwxr-xr-x 1 terrelln 7.0M Mar 24 2002 sao
21- # -rwxr-xr-x 1 terrelln 40M Mar 25 2002 webster
22- # -rwxr-xr-x 1 terrelln 8.1M Apr 4 2002 x-ray
23- # -rwxr-xr-x 1 terrelln 5.1M Nov 30 2000 xml
13+ # -rw-rw-r-- 1 ubuntu ubuntu 9.8M Apr 12 2002 dickens
14+ # -rw-rw-r-- 1 ubuntu ubuntu 49M May 31 2002 mozilla
15+ # -rw-rw-r-- 1 ubuntu ubuntu 9.6M Mar 20 2003 mr
16+ # -rw-rw-r-- 1 ubuntu ubuntu 32M Apr 2 2002 nci
17+ # -rw-rw-r-- 1 ubuntu ubuntu 5.9M Jul 4 2002 ooffice
18+ # -rw-rw-r-- 1 ubuntu ubuntu 9.7M Apr 11 2002 osdb
19+ # -rw-rw-r-- 1 ubuntu ubuntu 6.4M Apr 2 2002 reymont
20+ # -rw-rw-r-- 1 ubuntu ubuntu 21M Mar 25 2002 samba
21+ # -rw-rw-r-- 1 ubuntu ubuntu 7.0M Mar 24 2002 sao
22+ # -rw-rw-r-- 1 ubuntu ubuntu 40M Mar 25 2002 webster
23+ # -rw-rw-r-- 1 ubuntu ubuntu 8.1M Apr 4 2002 x-ray
24+ # -rw-rw-r-- 1 ubuntu ubuntu 5.1M Nov 30 2000 xml
2425
2526# $HOME is on a ext4 filesystem
2627BENCHMARK_DIR=" $HOME /silesia/"
2728N=10
2829
2930# Normalize the environment
30- sudo umount /mnt/btrfs 2> /dev/null > /dev/null || true
31- sudo mount -t btrfs $@ /dev/sda3 /mnt/btrfs
31+ sudo umount /mnt/btrfs 2> /dev/null > /dev/null || true
32+ sudo mount -t btrfs $@ /dev/nvme1n1 /mnt/btrfs
3233sudo rm -rf /mnt/btrfs/*
3334sync
3435sudo umount /mnt/btrfs
35- sudo mount -t btrfs $@ /dev/sda3 /mnt/btrfs
36+ sudo mount -t btrfs $@ /dev/nvme1n1 /mnt/btrfs
3637
3738# Run the benchmark
3839echo " Compression"
3940time sh -c " for i in \$ (seq $N ); do sudo cp -r $BENCHMARK_DIR /mnt/btrfs/\$ i; done; sync"
4041
4142echo " Approximate compression ratio"
42- printf " %d / %d\n" \
43- $( df /mnt/btrfs --output=used -B 1 | tail -n 1) \
44- $( sudo du /mnt/btrfs -b -d 0 | tr ' \t' ' \n' | head -n 1) ;
43+ printf " print(1 / ( %d / %d)) \n" \
44+ $( df /mnt/btrfs --output=used -B 1 | tail -n 1) \
45+ $( sudo du /mnt/btrfs -b -d 0 | tr ' \t' ' \n' | head -n 1) | python3 -
4546
4647# Unmount and remount to avoid any caching
4748sudo umount /mnt/btrfs
48- sudo mount -t btrfs $@ /dev/sda3 /mnt/btrfs
49+ sudo mount -t btrfs $@ /dev/nvme1n1 /mnt/btrfs
4950
5051echo " Decompression"
51- time sudo tar -c /mnt/btrfs 2> /dev/null | wc -c > /dev/null
52+ time sudo tar -c /mnt/btrfs 2> /dev/null | wc -c > /dev/null
5253
5354sudo rm -rf /mnt/btrfs/*
5455sudo umount /mnt/btrfs
@@ -60,45 +61,45 @@ sudo umount /mnt/btrfs
6061
6162# none
6263# compress: 4.205 s
63- # decompress: 3.090 s
64+ # decompress: 3.808 s
6465# ratio: 0.99
6566
6667# lzo
67- # compress: 5.328 s
68- # decompress: 4.793 s
69- # ratio: 1.66
68+ # compress: 3.021 s
69+ # decompress: 8.162 s
70+ # ratio: 1.68
7071
7172# zlib
72- # compress: 32.588 s
73- # decompress: 8.791 s
74- # ratio : 2.58
73+ # compress: 23.656 s
74+ # decompress: 17.454 s
75+ # ratio : 2.64
7576
7677# zstd 1
77- # compress: 8.147 s
78- # decompress: 5.527 s
79- # ratio : 2.57
78+ # compress: 4.502 s
79+ # decompress: 9.569 s
80+ # ratio : 2.64
8081
8182# zstd 3
82- # compress: 12.207 s
83- # decompress: 5.195 s
84- # ratio : 2.71
83+ # compress: 6.225 s
84+ # decompress: 9.576 s
85+ # ratio : 2.78
8586
8687# zstd 6
87- # compress: 30.253 s
88- # decompress: 5.324 s
89- # ratio : 2.87
88+ # compress: 13.551 s
89+ # decompress: 9.632 s
90+ # ratio : 2.94
9091
9192# zstd 9
92- # compress: 49.659 s
93- # decompress: 5.220 s
94- # ratio : 2.92
93+ # compress: 23.065 s
94+ # decompress: 10.379 s
95+ # ratio : 2.99
9596
9697# zstd 12
97- # compress: 99.245 s
98- # decompress: 5.193 s
99- # ratio : 2.93
98+ # compress: 62.375 s
99+ # decompress: 11.503 s
100+ # ratio : 3.00
100101
101102# zstd 15
102- # compress: 196.997 s
103- # decompress: 5.992 s
104- # ratio : 3.01
103+ # compress: 133.582 s
104+ # decompress: 12.124 s
105+ # ratio : 3.14
0 commit comments