💾 Archived View for senioradmin.de › BenchmarkBSDLinux.gmi captured on 2021-12-03 at 14:04:38. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Following the little benchmark from a week ago, I wondered how other tests and systems would compare to this. So I enhanced the test series by adding more metrics and more operating systems.
It still doesn't apply to scientific standards (since I haven't a science lab here), so YMMV.
It all was tested on a virtual machine under Linux KVM on a Devuan 3 machine, which has a i3-2120 CPU. The VM got 4 GB RAM and a 70 GB virtual disk (which was a LVM partition on a 3 TB SATA HDD on the host).
The OpenSSL speed test is a benchmark on how well cryptographic routines do perform. The following tests were performed
256 byte md5 k/sec - higher is better
OpenBSD 6.8 ████████████████████████████████████████████ 203169 NetBSD 9.1 █████████████████████████████████████████████████████████████████████████████████████████████████ 439019 FreeBSD 12.2 ████████████████████████████████████████████████████████████████████████████████████████████████████ 452144 Alpine 3.13 ████████████████████████████████████████████████████████████████████████████████████████████ 416552 Debian 10.8 ██████████████████████████████████████████████████████████████████████████████████████████████████ 447324
256 byte blowfish k/sec - higher is better
OpenBSD 6.8 ███████████████████████████████████████████████████ 59387 NetBSD 9.1 ███████████████████████████████████████████████████████████████████████████████████████████████████ 114977 FreeBSD 12.2 █████████████████████████████████████████████████████████████████████████████████████████ 103381 Alpine 3.13 ████████████████████████████████████████████████████████████████████████████████████████████████████ 115875 Debian 10.8 ██████████████████████████████████████████████████████████████████████████████████████████████████ 114148
256 byte aes-256 k/sec - higher is better
OpenBSD 6.8 █████████████████████████████████████████████████████ 76958 NetBSD 9.1 ██████████████████████████████████████████████████████ 78440 FreeBSD 12.2 ████████████████████████████████████████████████████████████████████████████████████████ 127903 Alpine 3.13 ██████████████████████████████████████████████████████████████████████████████████████ 125829 Debian 10.8 ████████████████████████████████████████████████████████████████████████████████████████████████████ 144693
256 byte sha512 k/sec - higher is better
OpenBSD 6.8 ██████████████████████████████████████████████████████████████████ 175467 NetBSD 9.1 ██████████████████████████████████████████████ 122546 FreeBSD 12.2 ████████████████████████████████████████████████████████████████████████████████████████████████████ 262207 Alpine 3.13 ████████████████████████████████████████████████████████████████████████████████████████████ 242944 Debian 10.8 ████████████████████████████████████████████████████████████████████████████████████████████████ 253442
On Linux, FreeBSD and NetBSD OpenSSL were used for the test, on OpenBSD LibreSSL was used. Regarding hash functions MD5 and SHA-512 FreeBSD performed best, followed by Debian and Alpine. As for symmetric ciphers, Alpine and Debian were the best at Blowfish and Debian was the best at AES by far.
RSA is an asymmetric (public key) cryptosystem
sign/s - higher is better
OpenBSD 6.8 ██████████████████████████████████████████████████████████████████████ 80 NetBSD 9.1 ████████████████████████████████████████████████████████████████████████████████████████████████████ 113 FreeBSD 12.2 ████████████████████████████████████████████████████████████████████████████████████████████████████ 113 Alpine 3.13 ████████████████████████████████████████████████████████████████████████████████████████████████████ 113 Debian 10.8 ████████████████████████████████████████████████████████████████████████████████████████████████████ 113
verify/s - higher is better
OpenBSD 6.8 █████████████████████████████████████████████ 3344 NetBSD 9.1 ███████████████████████████████████████████████████████████████████████████████████████████████████ 7307 FreeBSD 12.2 ███████████████████████████████████████████████████████████████████████████████████████████████████ 7285 Alpine 3.13 ███████████████████████████████████████████████████████████████████████████████████████████████████ 7274 Debian 10.8 ████████████████████████████████████████████████████████████████████████████████████████████████████ 7324
At signing and verifying with the RSA algorithm, all OS produced almost identical results, with the exception of OpenBSD.
Towers of Hanoi is a mathematical game. I used an implementation in C++ from
https://raw.githubusercontent.com/marcovisona/hanoi-bench/master/hanoi.cpp
Time for hanoi 28 (28 decks) in ms - lower is better
OpenBSD 6.8 █████████████████████████████████ 12284 NetBSD 9.1 ██████████████████████████████████████████████ 16947 FBSD 12.2 g++10 ████████████████████████████████████████████ 16407 FBSD 12.2 clang ████████████████████████████████████████████████████████████████████████████████████████████████████ 36623 Alpine 3.13 ██████████████████████████████████████████ 15650 Debian 10.8 ███████████████████████████████████████ 14590
OpenBSD was best at solving this mathematical puzzle. FreeBSD, using the default C++ clang compiler was the worst by far, which I found very odd. So I installed g++10 on FreeBSD and built the test program with this compiler - now the result was comparable with the other systems. No idea why the Clang produced binary at FreeBSD performed so bad while OpenBSD (which uses Clang as default compiler as well) performed best.
LZMA is an algorithm used to perform lossless data compression. This test involves I/O as well as computing speed.
Extract firefox-86.0.source.tar.xz in seconds - lower is better
OpenBSD 6.8 ████████████████████████████████████████████████████████████████████████████████████████ 404 NetBSD 9.1 ████████████████████████████████████████████████████████████████████████████████████████████████████ 457 FBSD 12.2 ufs ██████████████████████████████████████████████████████ 248 FBSD 12.2 zfs ███████████████ 73 Alpine 3.13 ████████ 41 Debian 10.8 █████████ 43
Extraction of a huge tar.xz file was by far the best at Linux with ext4 file system, follwed by FreeBSD with ZFS.
Compress firefox-86.0 source tree in seconds - lower is better
OpenBSD 6.8 ██████████████████████████████████████████████████████████████████████████████████████████████ 1036 NetBSD 9.1 ██████████████████████████████████████████████████████████████████████████████████████████████ 1042 FBSD 12.2 ufs ████████████████████████████████████████████████████████████████████████████████████████ 977 FBSD 12.2 zfs ████████████████████████████████████████████████████████████████████████████████████████████████████ 1098 Alpine 3.13 ███████████████████████████████████████████████████████████████████████████████████████████████ 1048 Debian 10.8 ███████████████████████████████████████████████████████████████████████ 790
Compression was best done by Debian.
Bonnie++ is a free software file system benchmarking tool for Unix-like operating systems
I/O Output Char k/sec - higher is better
OpenBSD 6.8 █████████████████████████████████████████████ 340 NetBSD 9.1 ██████████████████████████████████████ 293 FBSD 12.2 ufs ████████████████████████████████████████████████████████████████████████████████████████ 668 FBSD 12.2 zfs ████████ 66 Alpine 3.13 ████████████████████████████████████████████████████████████████████████████���███ 605 Debian 10.8 ████████████████████████████████████████████████████████████████████████████████████████████████████ 754
I/O Output Block k/sec - higher is better
OpenBSD 6.8 █████████████████████████████████████████████████████████████████████████ 167997 NetBSD 9.1 ███████████████████████████████████████████ 99685 FBSD 12.2 ufs ██████████████████████████████████████████████████████████████████████████████████ 188000 FBSD 12.2 zfs ████████████████████████████████████████████████████████████████████████████████████████████████████ 229000 Alpine 3.13 ███████████████████████████████████████████████ 109000 Debian 10.8 █████████████████████████████████████████████████ 113000
I/O Input Char k/sec - higher is better
OpenBSD 6.8 ████████████████████ 390 NetBSD 9.1 ████████████████████████████████ 632 FBSD 12.2 ufs █████████████████████████████████████████████████████ 1038 FBSD 12.2 zfs ███████████████████████ 463 Alpine 3.13 ████████████████████████████████████████████████████████████████████████████████████████████████████ 1940 Debian 10.8 ███████████████████████████████████████████████████████████████████████████████████████████ 1780
I/O Input Block k/sec - higher is better
OpenBSD 6.8 ████████████████████████████████████████ 159307 NetBSD 9.1 █████████████████████████████████ 133764 FBSD 12.2 ufs ██████████████████████████████████████████████████ 201000 FBSD 12.2 zfs ████████████████████████████████████████████████████████████████████████████████████████████████████ 395000 Alpine 3.13 ███████████████████████████████████████████████████ 203000 Debian 10.8 ███████████████████████████████████████████████████ 202000
As the name says, char operations do write or read one byte at a time - while block operations do read/write a larger block. ZFS performed not so good when it comes to many small files, but it leads by far when using block operations (which means big files). FreeBSD on UFS is still good (comparable to ext4 reading large blocks, very good at writing blocks). Ext4 file system were somewhere in the middle.
The ASCII bar charts were made with
The raw data is available as CSV file