started re-counting some programs with cloc

master
Alessandro Mauri 4 years ago
parent f8cfa1fbcd
commit 8a5e6a70c1
  1. 250
      src/commonsizes.md

@ -15,95 +15,104 @@ power of post-its, git and [scc][1] I cloned the repositories of many
common programs in order to check their bloat suckless style, with common programs in order to check their bloat suckless style, with
lines of code. Let's get to the data. lines of code. Let's get to the data.
**UPDATE**: I changed the method for counting lines of code, that is I changed
utility from [scc][1] to [cloc][2]. The reason behind this is that [cloc][2]
allows to excude a list of languages from the code count, that way I can count
only the lines that matter excluding stuff like documentation and so on.
So entries marked with *"x"* mean that they were re-counted using the following
command (that's a big command):
```
cloc --exclude-lang='make,m4,YAML,SVG,CMake,DTD,Markdown,CSS,Meson,diff,Dockerfile,NAnt script,HTML,TeX,PO File,reStructuredText,vim script,AsciiDoc'
```
## Init systems ## Init systems
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| systemd | 722K | | systemd | 566K | x
| OpenRC | 21K | | OpenRC | 14K | x
| s6 | 20K | | s6 | 10K | x
| runit | 12K | | runit | 6.2K | x
| sysVinit | 9K | | sysVinit | 8.7K | x
## Logging daemons ## Logging daemons
Technically systemd includes its own logging daemon but here is omitted. Technically systemd includes its own logging daemon but here is omitted.
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| rsyslog | 157K | | rsyslog | 152K | x
| socklog | 5.6K | | socklog | 3.7K | x
| metalog | 2.5K | | metalog | 1.9K | x
## Network ## Network
Generic network management programs. Generic network management programs.
| Name | loc | | Name | loc |
| --------------- | --------- | | --------------- | --------- |
| wpa_supplicant | 555K | | wpa_supplicant | 529K | x
| kea | 486K | | kea | 454K | x
| NetworkManager | 429K | | NetworkManager | 413K | x
| ModemManager | 194K | | ModemManager | 192K | x
| connman | 103K | | connman | 98K | x
| (e)iwd | 86K | | iwd | 85K | x
| dhcpcd | 41K | | dhcpcd | 38K | x
## Music players ## Music players
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| mpd | 102K | | mpd | 93K | x
| cmus | 42K | | cmus | 40K | x
| moc(p) | 35K | | mocp | 35K | x
| ncmpcpp | 25K | | ncmpcpp | 23K | x
| herrie | 7.4K | | herrie | 7.1K | x
## Text editors ## Text editors
Don't tell me you saw that one coming. Don't tell me you saw that one coming.
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| vim | 931K | | vim | 667K | x
| neovim | 771K | | neovim | 550K | x
| vis | 109K | | vis | 32K | x
| kakoune | 31K | | kakoune | 30K | x
| micro | 29K | | micro | 27K | x
| nano | 17K | | nano | 16K | x
## Build systems ## Build systems
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| cmake | 854K | | cmake | 774K | x
| tup | 271K | | tup | 243K | x
| meson | 107K | | meson | 68K | x
| GNU make | 34K | | GNU make | 31K | x
| ninja | 20K | | ninja | 18K | x
| samurai | 3.7K | | samurai | 3.3K | x
## Shells (POSIX or not) ## Shells (POSIX or not)
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| bash | 210K | | bash | 161K | x
| fish | 165K | | fish | 157K | x
| zsh | 119K | | zsh | 115K | x
| ksh93 | 72K | | ksh93 | 72K | x
| tcsh | 65K | | tcsh | 65K | x
| mksh | 30K | | mksh | 30K | x
| ash | 21K | | ash | 12K | x
| dash | 13K | | dash | 13K | x
## Boot loaders/managers ## Boot loaders/managers
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| CloverBoot | 1.8M | | CloverBoot | 1.7M | x
| GRUB | 331K | | GRUB | 281K | x
| syslinux | 254K | | syslinux | 222K | x
| eEFInd | 75K | | reEFInd | 27K | x
| LILO | 36K | | LILO | 24K | x
## Display servers ## Display servers
Dependencies are counted two levels "deep" excluding duplicates, from Dependencies are counted two levels "deep" excluding duplicates, from
@ -123,47 +132,47 @@ B: Code generated
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| dropbear | 144K | | dropbear | 101K | x
| OpenSSH | 123K | | OpenSSH | 123K | x
| TinySSH | 14K | | TinySSH | 13K | x
## Terminal multiplexers ## Terminal multiplexers
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| tmux | 132K | | tmux | 57K | x
| GNU screen | 36K | | GNU screen | 32K | x
| dvtm | 4.0K | | dvtm | 4.1K | x
## Terminal emulators ## Terminal emulators
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| kitty | 114K | | kitty | 174K | x
| alacritty | 26K | | alacritty | 18K | x
| wayst | 24K | | wayst | 31K | x
| havoc | 10K | | havoc | 10K | x
| wterm | 10K | | wterm | 10K | x
| st | 4.4K | | st | 4.3K | x
## Kernels ## Kernels
| Name | loc | | Name | loc |
| ------------ | --------- | | ------------ | --------- |
| netbsd | 40M | | netbsd | 32M | x
| linux | 21M | | linux | 19M | x
| FreeBSD | 18M | | FreeBSD | 16M | x
| OpenBSD | 17M | | OpenBSD | 15M | x
| DragonflyBSD | 934K | | DragonflyBSD | 887K | x
## Permission managers ## Permission managers
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| sudo | 195K | | sudo | 140K | x
| polkit | 26K | | polkit | 22K | x
| OpenDoas | 2.9K | | OpenDoas | 2.8K | x
| PAM | 61K | | PAM | 60K | x
## Compilers ## Compilers
@ -172,38 +181,55 @@ B: Code generated
| gcc | 9.0M | | gcc | 9.0M |
| llvm | 8.0M | | llvm | 8.0M |
| zig | 2.1M | | zig | 2.1M |
| rust | 856K | | rust | 801K | x
| tcc | 93K | | tcc | 93K |
## Torrent clients ## Torrent clients
| Name | loc | | Name | loc |
| ------------- | --------- | | ------------- | --------- |
| qBittorrent | 762K | | qBittorrent | 743K | x
| transmission | 329K | | transmission | 282K | x
| deluge | 137K | | deluge | 118K | x
| rtorrent | 24K | | rtorrent | 22K | x
## Web browsers ## Web browsers
Does not include libraries, only the main repos. Does not include libraries, only the main repos.
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| chromium | | | chromium | too large |
| Firefox | 27M | | Firefox | 19M | x
| Webkit | 12M | x
| qutebrowser | 92K | x
| min | 20K | x
| vimb | 9.4K | x
| badwolf | 1.8K | | badwolf | 1.8K |
## Window managers ## Window managers
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| awesome | 83K | | awesome | 65K | x
| i3 | 58K | | i3 | 44K | x
| openbox | 42K | | openbox | 40K | x
| bspwm | 12K | | bspwm | 12K | x
| 2bwm | 3.3K | | 2bwm | 3.3K |
| dwm | 2.5K | | dwm | 2.5K |
## Audio systems
### ALSA
| Name | loc |
| ------------- | --------- |
| alsa-firmware | 133K | x
| alsa-lib | 93K | x
| alsa-tools | 43K | x
| alsa-utils | 36K | x
| alsa-plugins | 12K | x
| alsa-oss | 4.0K | x
## Wayland compositors ## Wayland compositors
| Name | loc | | Name | loc |
@ -218,11 +244,11 @@ Does not include libraries, only the main repos.
| Name | loc | | Name | loc |
| ------------- | --------- | | ------------- | --------- |
| rofi | 84K | | rofi | 20K | x
| bemenu | 6.6K | | bemenu | 5.3K | x
| wofi | 4.3K | | wofi | 3.6K | x
| nwg-launchers | 3.5K | | nwg-launchers | 2.2K | x
| dmenu | 1.3K | | dmenu | 1.2K | x
## Device managers ## Device managers
NOTE: mdev is only one source file, so loc count doesn't NOTE: mdev is only one source file, so loc count doesn't
@ -230,68 +256,68 @@ include anything but that file.
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| eudev | 28K | | eudev | 27K | x
| mdevd | 2.3K | | mdevd | 1.6K | x
| smdev | 771 | | smdev | 697 | x
| mdev | 751 | | mdev | 751 |
## Initramfs generators ## Initramfs generators
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| dracut | 32K | | dracut | 28K | x
| tinyramfs | 1.0K | | tinyramfs | 448 | x
## Code counters ## Code counters
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| scc | 19K | | scc | 41K | x
| tokei | 11K | | tokei | 5.7K | x
## Package managers ## Package managers
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| apt | 100K | | apt | 98K | x
| xbps | 43K | | xbps | 40K | x
| pacman | 37K | | pacman | 28K | x
| apk | 17K | | apk | 17K | x
| kiss | 1.1K | | kiss | 1.0K | x
## Webservers ## Webservers
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| apache | 419K | | apache | 419K |
| nginx | 142K | | nginx | 144K | x
| hiawatha | 113K | | hiawatha | 105K | x
| lighttpd | 75K | | lighttpd | 70K | x
| caddy | 30K | | caddy | 27K | x
## Syncronization and backup programs ## Syncronization and backup programs
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| borg | 236K | | borg | 86K | x
| syncthing | 153K | | syncthing | 129K | x
| git-annex | 123K | | git-annex | 77K | x
| rsync | 56K | | rsync | 51K | x
| restic | 49K | | restic | 43K | x
| casync | 33K | | casync | 31K | x
## Others ## Others
Stuff that doesn't fit any other category (for now) Stuff that doesn't fit any other category (for now)
| Name | loc | | Name | loc |
| ----------- | --------- | | ----------- | --------- |
| openssl | 894K | | openssl | 642K | x
| bluez | 395K | | bluez | 373K | x
| libressl | 384K | | libressl | 374K | x
| elogind | 145K | | elogind | 137K | x
| dbus | 126K | | dbus | 115K | x
| tint2 | 37K | | tint2 | 33K | x
| lowdown | 19K | | lowdown | 15K | x
| pass | 3.5K | | pass | 2.8K | x
[1]: https://github.com/boyter/scc [1]: https://github.com/boyter/scc

Loading…
Cancel
Save