aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-10-27 11:50:34 +0100
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-10-28 13:57:50 +0100
commit89e07bb07642f77739f7d85c032c9739718d7b9d (patch)
tree3db9774d50ec3874afbb4ddfc0312d3ba618634b /doc
parentbd9133b1b12c4fa481ff9dd9d0572f363e7bfb59 (diff)
Add an initial decompression benchmark
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'doc')
-rw-r--r--doc/benchmark.odsbin53760 -> 60946 bytes
-rw-r--r--doc/benchmark.txt70
2 files changed, 70 insertions, 0 deletions
diff --git a/doc/benchmark.ods b/doc/benchmark.ods
index 62ee480..9335389 100644
--- a/doc/benchmark.ods
+++ b/doc/benchmark.ods
Binary files differ
diff --git a/doc/benchmark.txt b/doc/benchmark.txt
index ed44cb3..9098fa2 100644
--- a/doc/benchmark.txt
+++ b/doc/benchmark.txt
@@ -135,3 +135,73 @@
Repeating the benchmark without tail-end-packing and with fragments completely
disabled would also show the effectiveness of tail-end-packing and fragment
packing as a side effect.
+
+
+ 2) Reference Decompression Benchmark
+ ************************************
+
+ 2.1) How was the Benchmark Performed?
+
+ An optimized build of squashfs-tools-ng was compiled and installed to a tmpfs:
+
+ $ mkdir /dev/shm/temp
+ $ ln -s /dev/shm/temp out
+ $ ./autogen.sh
+ $ ./configure CFLAGS="-O3 -Ofast -march=native -mtune=native" \
+ LDFLAGS="-O3 -Ofast" --prefix=$(pwd)/out
+ $ make -j install
+ $ cd out
+
+ A SquashFS image to be tested was repacked with a desired compressor in
+ this directory:
+
+ $ ./bin/sqfs2tar <IMAGE> | ./bin/tar2sqfs -c <COMPRESSOR> test.sqfs
+
+ And then unpacked as follows:
+
+ $ time ./bin/sqfs2tar test.sqfs > /dev/null
+
+
+ Out of 4 runs, the worst wall-clock time ("real") was used for comparison.
+
+
+ 2.2) What Image was Tested?
+
+ A Debian image extracted from the Debian 10.2 LiveDVD for AMD64 with XFCE
+ was used.
+
+ The input size and resulting output sizes turned out to be as follows:
+
+ - As LZ4 compressed SquashFS image: ~3.1GiB (3,381,751,808)
+ - As LZO compressed SquashFS image: ~2.5GiB (2,732,015,616)
+ - As zstd compressed SquashFS image: ~2.1GiB (2,295,017,472)
+ - As gzip compressed SquashFS image: ~2.3GiB (2,471,276,544)
+ - As lzma compressed SquashFS image: ~2.0GiB (2,102,169,600)
+ - As XZ compressed SquashFS image: ~2.0GiB (2,098,466,816)
+ - As uncompressed tarball: ~6.5GiB (7,008,118,272)
+
+
+ The Debian image is expected to contain realistic input data for a Linux
+ file system and also provide enough data for an interesting benchmark.
+
+
+ 2.3) What Test System was used?
+
+ AMD Ryzen 7 3700X
+ 32GiB DDR4 RAM
+ Fedora 32
+
+
+ 2.4) What software version was used?
+
+ squashfs-tools-ng commit cc1141984a03da003e15ff229d3b417f8e5a24ad
+
+
+ 2.5) Results
+
+ gzip 20.466s
+ lz4 2.519s
+ lzma 1m58.455s
+ lzo 10.521s
+ xz 1m59.451s
+ zstd 7.833s