move README contents to .github

This commit is contained in:
raf 2023-09-11 21:43:13 +03:00
parent 8186f58371
commit 45f6cbb46a
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
4 changed files with 60 additions and 14 deletions

60
.github/README.md vendored Normal file
View file

@ -0,0 +1,60 @@
# tinierfetch
> a self-imposed code-golf challenge on following qualifiers
1. speed
2. binary size
3. compilation duration
4. (optional) lines of code
![preview](./assets/preview.png)
## depends
you will need `TERM`, `LANG`, `USER`, `SHELL` environmental variables to be set, they usually are.
- for C++, see the Makefile for available jobs.
- for Rust, the `--release` profile handles the optimizations for you
- for Go, you will want to pass `-ldflags="-s -w"` to `go build`
## usage
a helper script is provided below. it will build each program and compare them using Hyperfine
_it fits in a [QR code](./assets/qr.png)_
## todo
- more languages:
- bash
- zig
- python
- ruby
- haskell
- asm
- node
## results
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative | Compilation Duration [s] | Notes |
| :-------------------------- | :-------: | -------: | -------: | ----------: | -----------------------: | :--------------------------------------: |
| `bin/tinierfetch-go` | 1.3 ± 0.1 | 1.1 | 1.6 | 1.23 ± 0.12 | 0.15 | `-s` and `-w` ldflags are used |
| `bin/tinierfetch-rs` | 1.1 ± 0.1 | 0.9 | 1.3 | 1.00 | 3.17 | see `Cargo.toml` for opitimization specs |
| `bin/tinierfetch-cpp-size` | 1.5 ± 0.1 | 1.3 | 1.8 | 1.43 ± 0.11 | 0.24 | g++ optimized for binary size |
| `bin/tinierfetch-cpp-speed` | 1.5 ± 0.1 | 1.3 | 1.8 | 1.43 ± 0.11 | 0.10 | g++ optimized for speed |
_all programs take around `0.001` to `0.002s` to execute, have been tested on R5 3600x and R7 7730U CPUs_
## verdict
Use
- Rust, for speed
- C++, for optimized size
- Go, if you hate yourself (or can't tolerate Rust syntax)
## contributing
You know something better? Do feel free to contribute additional languages, improvements or QoL changes to the repository.
Got different results? Open an issue, prove me wrong mathematically.

View file

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -1,14 +0,0 @@
# tinierfetch
it's tinyfetch but also tinier - you could probably fit this in a QR code
takes `0.001` to `0.003s` to fetch
edit: it fits in a [QR code](./assets/qr.png)
## depends
a compiler (I used g++) and `TERM`, `LANG`, `USER`, `SHELL` environmental variables to be set
## preview
![yeah](./assets/preview.png)