You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
alemauri.eu/src/commonsizes.md

7.1 KiB

Size in loc of common software

Bloat is everywhere, in 2018 I started my journey on debloating my digital life, so far I mostly use linux as my main OS (the mostly is due to uni stuff I don't want and/or have time to deal with), I don't use a desktop environment, got rid of systemd, pulseaudio and polkit just to name a few. I could go on about how I debloated most of my computing life but that is not the goal of this article, that is I recently started to wonder: how much bloat is really there?

In order to answer that question I rolled up my sleeves and with the mighty power of post-its, git and scc I cloned the repositories of many common programs in order to check their bloat suckless style, with lines of code. Let's get to the data.

Init systems

Name loc
systemd 722K
OpenRC 21K
s6 20K
runit 12K
sysVinit 9K

Logging daemons

Technically systemd includes its own logging daemon but here is omitted.

Name loc
rsyslog 157K
socklog 5.6K
metalog 2.5K

Network

Generic network management programs.

Name loc
wpa_supplicant 555K
kea 486K
NetworkManager 429K
ModemManager 194K
connman 103K
(e)iwd 86K
dhcpcd 41K

Music players

Name loc
mpd 102K
cmus 42K
moc(p) 35K
ncmpcpp 25K
herrie 7.4K

Text editors

Don't tell me you saw that one coming.

Name loc
vim 931K
neovim 771K
vis 109K
kakoune 31K
micro 29K
nano 17K

Build systems

Name loc
cmake 854K
tup 271K
meson 107K
GNU make 34K
ninja 20K
samurai 3.7K

Shells (POSIX or not)

Name loc
bash 210K
fish 165K
zsh 119K
ksh93 72K
tcsh 65K
mksh 30K
ash 21K
dash 13K

Boot loaders/managers

Name loc
CloverBoot 1.8M
GRUB 331K
syslinux 254K
eEFInd 75K
LILO 36K

Display servers

Dependencies are counted two levels "deep" excluding duplicates, from the alpine linux x86_64 package repositories.
U: Not built, protocol code not generated B: Code generated

Name loc dependencies
xorg-server 422K 44
- - -
wayland +
wayland-protocols +
wlroots U: 97K, B:268K 27

SSH servers/clients

Name loc
dropbear 144K
OpenSSH 123K
TinySSH 14K

Terminal multiplexers

Name loc
tmux 132K
GNU screen 36K
dvtm 4.0K

Terminal emulators

Name loc
kitty 114K
alacritty 26K
wayst 24K
havoc 10K
wterm 10K
st 4.4K

Kernels

Name loc
netbsd 40M
linux 21M
FreeBSD 18M
OpenBSD 17M
DragonflyBSD 934K

Permission managers

Name loc
sudo 195K
polkit 26K
OpenDoas 2.9K
PAM 61K

Compilers

Name loc
gcc 9.0M
llvm 8.0M
zig 2.1M
rust 856K
tcc 93K

Torrent clients

Name loc
qBittorrent 762K
transmission 329K
deluge 137K
rtorrent 24K

Web browsers

Does not include libraries, only the main repos.

Name loc
chromium
Firefox 27M
badwolf 1.8K

Window managers

Name loc
awesome 83K
i3 58K
openbox 42K
bspwm 12K
2bwm 3.3K
dwm 2.5K

Wayland compositors

Name loc
weston 117K
sway 42K
wayfire 27K
hikari 15K
river 5.9K

Application launchers

Name loc
rofi 84K
bemenu 6.6K
wofi 4.3K
nwg-launchers 3.5K
dmenu 1.3K

Device managers

NOTE: mdev is only one source file, so loc count doesn't include anything but that file.

Name loc
eudev 28K
mdevd 2.3K
smdev 771
mdev 751

Initramfs generators

Name loc
dracut 32K
tinyramfs 1.0K

Code counters

Name loc
scc 19K
tokei 11K

Package managers

Name loc
apt 100K
xbps 43K
pacman 37K
apk 17K
kiss 1.1K

Webservers

Name loc
apache 419K
nginx 142K
lighttpd 75K

Syncronization and backup programs

Name loc
borg 236K
syncthing 153K
rsync 56K
restic 49K
casync 33K

Others

Stuff that doesn't fit any other category (for now)

Name loc
openssl 894K
bluez 395K
libressl 384K
elogind 145K
dbus 126K
tint2 37K
lowdown 19K
pass 3.5K