- C 88.9%
- Assembly 5.1%
- Makefile 4.8%
- Shell 1.2%
RENAMED TO https://codeberg.org/Phosphenius/yoctofetch
Ångströmfetch
REUSE status Blazingly Fast Made by Humans AUR License AUR package Guix packaged C powered
Blazingly fast, ultra-lightweight system fetch tool, written in (削除) Rust (削除ここまで) C with
goto statements to fearlessly deliver lightning-fast performance.
Output of angstromfetch with the Arch Linux logo on a dark background Output of angstromfetch with the Guix System logo on a dark background Output of angstromfetch with the Guix System logo on a light background
Synopsis
Handcrafted on top of the LinuxTM UAPI, independent of any libc, angstromfetch
is a very fast and tiny system fetch tool. It currently has a stripped
weight of about 20kb and runs in ~200μs (yes, microseconds).
Despite its incredible performance, it still supports quite a few features:
- Logos (currently only Guix and Arch—more to come)
- The majority of common system information
- Costumization via command line flags
- Force a certain logo
- Disable output of specific system information
- Add padding at the bottom
- NO_COLOR support
Supported platforms
Due to the freestanding C environment, the number of supported platforms is quite limited.
Currently the following are supported:
- Linux ABI
- x86_64
- aarch64
Linux on arm (32bit) support might be added. It would also be nice to include the *BSDs, but they make it rather hard to write freestanding programs.
Installation
It can easily be installed on Guix with the following channel configuration:
(channel
(name 'angstromfetch)
(url "https://codeberg.org/Phosphenius/angstromfetch.git")
(branch "main")
(introduction
(make-channel-introduction
"55cd6d8e0ebce77af9fda1a5b2b00ea004c7fb8c"
(openpgp-fingerprint
"E504 167C B345 F93E 11AE 341C 1CDA 78BC 7F6C F294"))))
The Arch Linux AUR offers a stable and a git variant:
Building from source is straightforward:
# git clone and cd to checkout
./configure
make
# optionally install
sudo make install
Benchmarks
Run with hyperfine on a laptop with AMD Ryzen 7 5825U CPU.
| Fetch | Mean (μs) | Min (μs) | Max (μs) | Relative |
|---|---|---|---|---|
| angstromfetch | 217.6 ± 37.7 | 164.5 | 678.2 | 1 |
| microfetch | 884.4 ± 85.8 | 645.3 | 1431.9 | 4.06 ± 0.81 |
| macchina | 3100 ± 300 | 2600 | 4800 | 14.19 ± 2.77 |
| uwufetch | 16800 ± 600 | 16100 | 20200 | 77.42 ± 13.75 |
| fastfetch | 33400 ± 1500 | 30200 | 37400 | 153.71 ± 27.48 |
| pfetch | 89100 ± 2800 | 84500 | 96400 | 409.27 ± 72.11 |
| ufetch | 101200 ± 3700 | 98200 | 114500 | 464.91 ± 82.37 |
| screenfetch | 243900 ± 3100 | 24000 | 25000 | 1120.85 ± 194.94 |
| neofetch | 288200 ± 13800 | 270200 | 309100 | 1324.64 ± 238.35 |
Licensing
All code is provided under the terms of the GPL-3.0-or-later license.