mirror of
https://github.com/NotAShelf/microfetch.git
synced 2024-11-22 15:40:41 +00:00
include benchmarks, add contributing section
This commit is contained in:
parent
72d3130aa0
commit
7d693ea26f
1 changed files with 35 additions and 1 deletions
36
README.md
36
README.md
|
@ -12,7 +12,7 @@ welcome to use it on your system: it's fast.
|
||||||
- Fast
|
- Fast
|
||||||
- Really fast
|
- Really fast
|
||||||
- Minimal dependencies
|
- Minimal dependencies
|
||||||
- Actually very fast
|
- Actually really fast
|
||||||
- Cool NixOS logo (other, inferior, distros are not supported)
|
- Cool NixOS logo (other, inferior, distros are not supported)
|
||||||
- Reliable detection of following info:
|
- Reliable detection of following info:
|
||||||
- Hostname/Username
|
- Hostname/Username
|
||||||
|
@ -25,11 +25,45 @@ welcome to use it on your system: it's fast.
|
||||||
- Memory Usage/Total Memory
|
- Memory Usage/Total Memory
|
||||||
- Storage Usage/Total Storage (for `/` only)
|
- Storage Usage/Total Storage (for `/` only)
|
||||||
- Shell Colors
|
- Shell Colors
|
||||||
|
- Did I mention fast?
|
||||||
|
|
||||||
|
## Benchmarks
|
||||||
|
|
||||||
|
Microfetch's performance is mostly hardware-dependant, however, the overall
|
||||||
|
trend seems to be < 2ms on any modern (2015 and after) CPU. Below are the
|
||||||
|
benchmarks with Hyperfine on my desktop system.
|
||||||
|
|
||||||
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|
||||||
|
| :-------------------------- | --------: | -------: | -------: | -------: |
|
||||||
|
| `target/release/microfetch` | 1.3 ± 0.1 | 1.2 | 3.7 | 1.00 |
|
||||||
|
|
||||||
|
On an average configuration, this is roughly 25 times faster than fastfetch and
|
||||||
|
around 80 times faster than neofetch. Results, as stated above, may vary.
|
||||||
|
|
||||||
## Customizing
|
## Customizing
|
||||||
|
|
||||||
You can't.
|
You can't.
|
||||||
|
|
||||||
|
### Why?
|
||||||
|
|
||||||
|
Customization, of any kind, is expensive: I could try reading environment
|
||||||
|
variables, parse command-line arguments or read a configuration file but all of
|
||||||
|
those increment execution time and resource consumption by a lot.
|
||||||
|
|
||||||
|
### Really?
|
||||||
|
|
||||||
|
To be fair, you _can_ customize Microfetch by... Well, patching it. It's not the
|
||||||
|
best way per se, but it will be the only way that does not compromise on speed.
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
I will, mostly, reject feature additions. This is not to say you should avoid
|
||||||
|
them altogether, as you might have a really good idea worth discussing but as a
|
||||||
|
general rule of thumb consider talking to me before creating a feature PR.
|
||||||
|
|
||||||
|
Contributions that help improve performance in specific areas of Microfetch are
|
||||||
|
welcome. Though, prepare to be bombarded with questions.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Microfetch is licensed under [GPL3](LICENSE). See the license file for details.
|
Microfetch is licensed under [GPL3](LICENSE). See the license file for details.
|
||||||
|
|
Loading…
Reference in a new issue