Benchmarking Artix | Complete Table

Value Arch Artix OpenRC Artix runit Artix s6 Artix dinit Debian
ISO [1] archlinux-2024.07.01-x86_64.iso artix-base-openrc-20240722-x86_64.iso artix-base-runit-20240722-x86_64.iso artix-base-s6-20240722-x86_64.iso artix-base-dinit-20240722-x86_64.iso debian-12.6.0-amd64-DVD-1.iso
OS type [2] Arch Linux Arch Linux Arch Linux Arch Linux Arch Linux Debian 12
Basic Setup
Bootstrap command [3] pacstrap -K /mnt base linux linux-firmware grub vi basestrap /mnt base openrc elogind-openrc linux linux-firmware grub vi dash basestrap /mnt base runit elogind-runit linux linux-firmware grub vi dash basestrap /mnt base s6-base elogind-s6 linux linux-firmware grub vi basestrap /mnt base dinit elogind-dinit linux linux-firmware grub vi all "Software Selection" boxes unchecked
First boot 5.2 seconds 9.6 seconds 6.6 seconds 4.7 seconds 5 seconds 8 seconds
Second boot 5.2 seconds 8.1 seconds 6.5 seconds 4.7 seconds 5 seconds 6.8 seconds
Optimized Boot [4] - 5.7 seconds 6 seconds - - -
Shutdown 2.3 seconds 6.3 seconds 4.6 seconds 5.9 seconds 2.8 seconds 2.8 seconds
Boot according to init [5] 4.3 seconds 2.7 seconds 4.5 seconds 5 seconds 4.7 seconds 4.5 seconds
RAM usage [6] 270 MiB 250 MiB 257 MiB 258 MiB 251 MiB 280 MiB
CPU usage 0.2% 0.2% 0.2% 0.8% 0.2% 0.2%
Tasks 118 total, 1 running 120 total, 1 running 124 total, 1 running 139 total, 1 running 114 total, 1 running 109 total, 1 running
Packages installed [7] 129 143 141 145 140 220
Packages manually installed [8] 5 8 8 7 7 -
Basic Setup + Services [9]
First boot 10.5 seconds 13.6 seconds 6.4 seconds 6.3 seconds 5.4 seconds 9.2 seconds
Second boot 7.2 seconds 13.3 seconds 5.9 seconds 6.5 seconds 5.4 seconds 9.5 seconds
Optimized boot [10] - 9 seconds 5.8 seconds - - -
Shutdown 2.3 seconds 8.6 seconds 5.3 seconds 4.7 seconds 2.6 seconds 3 seconds
Optimized shutdown - 6 seconds 5.3 seconds - - -

What is this?

This is a website with organized results from benchmarking different operating systems. The main goal is to compare Artix and its available init systems with other Linux distributions. I tried recording concrete numbers and making everything as objective as possible, but some inconsistencies may appear. I plan on making more measurements and adding more systems, so any suggestions/corrections/comments are welcome!

How were the measurements made?

All of the systems were installed in separate virtual machines with the help of QEMU (qemu-full 9.0.2-1) and virt-manager (virt-manager 4.1.0-3) with no custom XML and with default settings, except for the following:

For Arch/Artix, installations were performed by following the respective wikis step by step, with some minor exceptions. After bootstrapping, no additional packages were installed unless specified. Boot time was captured using a digital stopwatch, with the count down starting right after the grub menu timed out. Shutdown time was captured right after sending the appropriate "shutdown" command for each init system ("shutdown -h now" for Arch/Debian and Artix OpenRC/runit, "shutdown -p now" for s6, "shutdown" for dinit). For more details, see the footnotes

What are the available data formats?

Here are the current options:

You can find all of the sources on Codeberg

Footnotes

  1. Image used for the install media, the most current version was picked (weekly for Artix) [↩]
  2. OS type used for the virtual machine (see the "osinfo-query os" command) [↩]
  3. Command for intalling the base system. Since Debian has a gui install, the options used are described [↩]
  4. What "optimized" means:
    • OpenRC: parallel startup enabled + dash as /bin/sh (fun fact: when only enabling parallel startup the system boots in 7.3 seconds)
    • runit: dash as /bin/sh
    • Optimized shutdown didn't make a difference so it's not included [↩]
  5. Probably the most inaccurate values, corrections are welcome. Multiple approaches used:
    • Arch: systemd-analyze: Startup finished in 2.293s (kernel) + 2.051s (userspace) = 4.344s
    • Artix OpenRC: following the instructions from here (boot optimized)
    • Artix runit: adding "cat /proc/uptime/ > /var/boottime.log" to /etc/runit/2 (boot optimized)
    • Artix s6: adding "foreground { cat /proc/uptime }" to /etc/s6/sv/tty1/run
    • Artix dinit: copying /etc/dinit.d/tty1 and modifying it to run a script that logs the uptime to /var/boottime.log
    • Debian: systemd-analyze: Startup finished in 2.916s (kernel) + 1.667s (userspace) = 4.584s [↩]
  6. RAM/CPU usage and tasks as reported by "top" [↩]
  7. Packages as reported by "pacman -Q | wc -l" for Arch/Artix and "dpkg -l | grep "^ii" | wc -l" for Debian. For OpenRC and runit you can subtract 2 packages due to dash [↩]
  8. Packages as reported by "pacman -Qe | wc -l". For OpenRC and runit the extra package is dash. Debian doesn't provide a stable way to list manually installed packages [↩]
  9. For this test, a number of programs that include services were installed: tor, networkmanager, chrony, dnsmasq, ufw, bluetooth, cups, postfix, base-devel (only for Arch/Artix) and, on Artix, the respective init scripts. Then, /etc/default/grub was edited and updated to remove the "quiet" parameter. /bin/sh was re-linked to bash and all of the services were enabled before rebooting [↩]
  10. See footnote 5, though shutdown did make a difference this time [↩]