From 359e6c8e92610b4be3fff03abba02b02e154e3e8 Mon Sep 17 00:00:00 2001 From: Elisiei Yehorov Date: Thu, 2 Apr 2026 20:08:25 +0200 Subject: [PATCH] chore: ok --- .envrc | 1 + .gitignore | 35 ++ LICENSE | 122 ++++++ Makefile | 15 + README.md | 23 ++ cmd/bench/main.go | 84 ++++ cmd/plot/main.go | 187 +++++++++ flake.lock | 25 ++ flake.nix | 56 +++ go.mod | 3 + go.sum | 0 internal/hyperfine/schema.go | 18 + results/2026-04-02/plot.png | Bin 0 -> 107534 bytes results/2026-04-02/plot.svg | 64 +++ results/2026-04-02/results.json | 694 ++++++++++++++++++++++++++++++++ results/2026-04-02/results.md | 17 + 16 files changed, 1344 insertions(+) create mode 100644 .envrc create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 cmd/bench/main.go create mode 100644 cmd/plot/main.go create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 go.mod create mode 100644 go.sum create mode 100644 internal/hyperfine/schema.go create mode 100644 results/2026-04-02/plot.png create mode 100644 results/2026-04-02/plot.svg create mode 100644 results/2026-04-02/results.json create mode 100644 results/2026-04-02/results.md diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..70282d1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +# If you prefer the allow list template instead of the deny list, see community template: +# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore +# +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Code coverage profiles and other test artifacts +*.out +coverage.* +*.coverprofile +profile.cov + +# Dependency directories (remove the comment below to include it) +# vendor/ + +# Go workspace file +go.work +go.work.sum + +# env file +.env +.direnv + +bin/ + +# Editor/IDE +# .idea/ +# .vscode/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6ca207e --- /dev/null +++ b/LICENSE @@ -0,0 +1,122 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1fe415c --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +BIN := ./bin +BENCH := $(BIN)/bench +PLOT := $(BIN)/plot + +.PHONY: all build clean + +all: build bench plot + +build: + @mkdir -p $(BIN) + go build -o $(BENCH) ./cmd/bench + go build -o $(PLOT) ./cmd/plot + +clean: + rm -rf $(BIN) results diff --git a/README.md b/README.md new file mode 100644 index 0000000..007f902 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# sysbench + +system fetch benchmarks + +[results](results) + +## tested fetches + +*via nixpkgs*: fastfetch, uwufetch, pfetch, microfetch, maxfetch, yafetch, bunnyfetch, tinyfetch, leaf, nitch, disfetch +*locally installed*: novofetch, unfetch, gotcha, ohmyfetch + +## usage + +``` +git clone bullshit... +make build +./bin/bench -targets="fastfetch, uwufetch, pfetch, microfetch, maxfetch, yafetch, bunnyfetch, tinyfetch, leaf, nitch, disfetch" +./bin/plot +``` + +# license + +CC0 1.0 diff --git a/cmd/bench/main.go b/cmd/bench/main.go new file mode 100644 index 0000000..c946f53 --- /dev/null +++ b/cmd/bench/main.go @@ -0,0 +1,84 @@ +package main + +import ( + "flag" + "fmt" + "log" + "os" + "os/exec" + "path/filepath" + "strings" + "time" +) + +const ( + warmup = 2 + runs = 10 +) + +// you'll need to install all fetches :P +// it's easier with nix shell btwww +func main() { + targetsFlag := flag.String("targets", "", "comma-separated list of commands to benchmark") + flag.Parse() + + if *targetsFlag == "" { + log.Fatal("please provide at least one target via -targets") + } + + targets := parseTargets(*targetsFlag) + + dir := filepath.Join("results", time.Now().Format("2006-01-02")) + if err := os.MkdirAll(dir, 0o755); err != nil { + log.Fatal(err) + } + + jsonOut := filepath.Join(dir, "results.json") + mdOut := filepath.Join(dir, "results.md") + + args := buildArgs(targets, jsonOut, mdOut) + + cmd := exec.Command("hyperfine", args...) + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + + fmt.Printf("benchmarking %d targets (%d warmup, %d runs each)\n", len(targets), warmup, runs) + fmt.Printf("output: %s\n", dir) + + if err := cmd.Run(); err != nil { + log.Fatalf("hyperfine: %v", err) + } + + fmt.Printf("results written to %s\n", dir) +} + +func parseTargets(input string) []string { + parts := strings.Split(input, ",") + var targets []string + for _, p := range parts { + p = strings.TrimSpace(p) + if p != "" { + targets = append(targets, p) + } + } + return targets +} + +func buildArgs(targets []string, jsonOut, mdOut string) []string { + args := []string{ + "--warmup", fmt.Sprintf("%d", warmup), + "--runs", fmt.Sprintf("%d", runs), + "--export-json", jsonOut, + "--export-markdown", mdOut, + "--ignore-failure", + "--shell", "none", + "--style", "full", + "--sort", "mean-time", + } + + for _, t := range targets { + args = append(args, t) + } + + return args +} diff --git a/cmd/plot/main.go b/cmd/plot/main.go new file mode 100644 index 0000000..7bbbf04 --- /dev/null +++ b/cmd/plot/main.go @@ -0,0 +1,187 @@ +package main + +import ( + "encoding/json" + "fmt" + "log" + "math" + "os" + "os/exec" + "path/filepath" + "sort" + "strings" + "time" + + "codeberg.org/elisiei/sysbench/internal/hyperfine" +) + +const ( + svgW = 900 + padTop = 48 + padBottom = 80 + padLeft = 200 + padRight = 60 + barHeight = 28 + barGap = 14 + tickCount = 6 + cornerR = 0 +) + +var palette = []string{ + "#5E81AC", "#88C0D0", "#A3BE8C", "#EBCB8B", + "#D08770", "#BF616A", "#B48EAD", "#8FBCBB", +} + +func colour(i int) string { return palette[i%len(palette)] } + +func main() { + dir := resolveDir() + src := filepath.Join(dir, "results.json") + dst := filepath.Join(dir, "plot.svg") + + data, err := os.ReadFile(src) + if err != nil { + log.Fatalf("read %s: %v", src, err) + } + + var result hyperfine.Result + if err := json.Unmarshal(data, &result); err != nil { + log.Fatalf("parse: %v", err) + } + + if len(result.Results) == 0 { + log.Fatal("no benchmark results found") + } + + svg := render(result.Results, dir) + if err := os.WriteFile(dst, []byte(svg), 0o644); err != nil { + log.Fatalf("write %s: %v", dst, err) + } + fmt.Printf("plot written to %s\n", dst) + + pngPath := filepath.Join(dir, "plot.png") + + cmd := exec.Command("magick", + "-density", "192", + "-background", "none", + dst, + pngPath, + ) + + if err := cmd.Run(); err != nil { + log.Fatalf("convert to png: %v", err) + } + + fmt.Printf("png written to %s\n", pngPath) +} + +func resolveDir() string { + if len(os.Args) > 1 { + return os.Args[1] + } + return filepath.Join("results", time.Now().Format("2006-01-02")) +} + +func render(bs []hyperfine.Benchmark, date string) string { + sort.Slice(bs, func(i, j int) bool { + return bs[i].Mean < bs[j].Mean + }) + n := len(bs) + chartH := n*(barHeight+barGap) + barGap + height := padTop + chartH + padBottom + + maxMean := 0.0 + for _, b := range bs { + if b.Mean > maxMean { + maxMean = b.Mean + } + } + scale := niceMax(maxMean, tickCount) + chartW := svgW - padLeft - padRight + + var sb strings.Builder + + fmt.Fprintf(&sb, ``, svgW, height) + fmt.Fprintln(&sb) + fmt.Fprintf(&sb, ` `, svgW, height) + fmt.Fprintln(&sb) + title := fmt.Sprintf("system fetch benchmark — %s", filepath.Base(date)) + fmt.Fprintf(&sb, ` %s`, svgW/2, title) + fmt.Fprintln(&sb) + + for i := 0; i <= tickCount; i++ { + val := scale * float64(i) / float64(tickCount) + x := padLeft + int(float64(chartW)*val/scale) + yTop := padTop + yBot := padTop + chartH + fmt.Fprintf(&sb, ` `, x, yTop, x, yBot) + fmt.Fprintln(&sb) + label := fmtTime(val) + fmt.Fprintf(&sb, ` %s`, x, padTop+chartH+18, label) + fmt.Fprintln(&sb) + } + + fmt.Fprintf(&sb, ` time (s)`, padLeft+chartW/2, padTop+chartH+38) + fmt.Fprintln(&sb) + + for i, b := range bs { + y := padTop + barGap + i*(barHeight+barGap) + barW := int(float64(chartW) * b.Mean / scale) + if barW < 1 { + barW = 1 + } + col := colour(i) + + label := trimCommand(b.Command, 28) + fmt.Fprintf(&sb, ` %s`, + padLeft-8, y+barHeight-8, label) + fmt.Fprintln(&sb) + + fmt.Fprintf(&sb, ` `, + padLeft, y, barW, barHeight, cornerR, col) + fmt.Fprintln(&sb) + + fmt.Fprintf(&sb, ` %s`, + padLeft+barW+8+(int(float64(chartW)*b.Stddev/scale)), y+barHeight-8, fmtTime(b.Mean)) + fmt.Fprintln(&sb) + } + + fmt.Fprintln(&sb, ``) + return sb.String() +} + +func niceMax(max float64, ticks int) float64 { + raw := max / float64(ticks) + exp := math.Floor(math.Log10(raw)) + mag := math.Pow(10, exp) + nice := math.Ceil(raw/mag) * mag + return nice * float64(ticks) +} + +func fmtTime(s float64) string { + switch { + case s == 0: + return "0" + case s < 0.001: + return fmt.Sprintf("%.0fµs", s*1e6) + case s < 1: + return fmt.Sprintf("%.0fms", s*1e3) + default: + return fmt.Sprintf("%.2fs", s) + } +} + +func trimCommand(cmd string, max int) string { + parts := strings.Fields(cmd) + base := parts[0] + if idx := strings.LastIndexAny(base, "/\\"); idx >= 0 { + base = base[idx+1:] + } + if len(cmd) <= max { + return cmd + } + if len(base) <= max { + return base + } + return base[:max-1] + "..." +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..7ca2b06 --- /dev/null +++ b/flake.lock @@ -0,0 +1,25 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1775036866, + "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", + "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", + "revCount": 972949, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.972949%2Brev-6201e203d09599479a3b3450ed24fa81537ebc4e/019d4b63-29c4-7e95-9524-45503c792ef3/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..4e1fcb1 --- /dev/null +++ b/flake.nix @@ -0,0 +1,56 @@ +{ + description = "minimal flake for go dev"; + + inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1"; + + outputs = inputs: let + goVersion = 25; + + supportedSystems = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + forEachSupportedSystem = f: + inputs.nixpkgs.lib.genAttrs supportedSystems ( + system: + f { + pkgs = import inputs.nixpkgs { + inherit system; + overlays = [inputs.self.overlays.default]; + }; + } + ); + in { + overlays.default = final: prev: { + go = final."go_1_${toString goVersion}"; + }; + + devShells = forEachSupportedSystem ( + {pkgs}: { + default = pkgs.mkShell { + packages = with pkgs; [ + go + hyperfine + cmake + imagemagick + + # okk + fastfetch + uwufetch + pfetch + microfetch + maxfetch + yafetch + bunnyfetch + tinyfetch + leaf + nitch + disfetch + ]; + }; + } + ); + }; +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..75d2819 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module codeberg.org/elisiei/sysbench + +go 1.25.8 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..e69de29 diff --git a/internal/hyperfine/schema.go b/internal/hyperfine/schema.go new file mode 100644 index 0000000..9e5e452 --- /dev/null +++ b/internal/hyperfine/schema.go @@ -0,0 +1,18 @@ +package hyperfine + +type Result struct { + Results []Benchmark `json:"results"` +} + +type Benchmark struct { + Command string `json:"command"` + Mean float64 `json:"mean"` + Stddev float64 `json:"stddev"` + Median float64 `json:"median"` + User float64 `json:"user"` + System float64 `json:"system"` + Min float64 `json:"min"` + Max float64 `json:"max"` + Times []float64 `json:"times"` + Exit []int `json:"exit_codes"` +} diff --git a/results/2026-04-02/plot.png b/results/2026-04-02/plot.png new file mode 100644 index 0000000000000000000000000000000000000000..202551554ef1b2002b5216c93fbcac1d7a3af697 GIT binary patch literal 107534 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

LI}4**UQ!4xdJxtcfZ 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 + + system fetch benchmark — 2026-04-02 + + 0 + + 30ms + + 60ms + + 90ms + + 120ms + + 150ms + + 180ms + time (s) + tinyfetch + + 378µs + ohmyfetch + + 600µs + microfetch + + 675µs + leaf + + 723µs + unfetch + + 2ms + bunnyfetch + + 3ms + gotcha + + 4ms + novofetch + + 12ms + maxfetch + + 27ms + fastfetch + + 65ms + nitch + + 66ms + uwufetch + + 71ms + pfetch + + 106ms + disfetch + + 114ms + yafetch + + 155ms + diff --git a/results/2026-04-02/results.json b/results/2026-04-02/results.json new file mode 100644 index 0000000..45cf137 --- /dev/null +++ b/results/2026-04-02/results.json @@ -0,0 +1,694 @@ +{ + "results": [ + { + "command": "unfetch", + "mean": 0.0022385035000000004, + "stddev": 0.0003174119251163314, + "median": 0.0020978065000000004, + "user": 0.0006332999999999999, + "system": 0.0017074, + "min": 0.001882069, + "max": 0.002857402, + "times": [ + 0.002857402, + 0.002085407, + 0.002034148, + 0.002295946, + 0.002039555, + 0.001882069, + 0.002736932, + 0.0021075860000000003, + 0.002088027, + 0.002257963 + ], + "memory_usage_byte": [ + 3260416, + 3260416, + 3260416, + 3260416, + 3260416, + 3260416, + 3260416, + 3260416, + 3260416, + 3260416 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "gotcha", + "mean": 0.0035468293999999997, + "stddev": 0.000255579077324938, + "median": 0.0034554780000000005, + "user": 0.0009387999999999998, + "system": 0.0021627, + "min": 0.003261369, + "max": 0.003993994, + "times": [ + 0.003377792, + 0.0036821230000000003, + 0.003261369, + 0.003993994, + 0.0034103310000000004, + 0.0035552210000000003, + 0.0033509750000000004, + 0.003960367, + 0.0033754970000000003, + 0.0035006250000000003 + ], + "memory_usage_byte": [ + 3383296, + 3383296, + 3383296, + 3383296, + 3383296, + 3383296, + 3383296, + 3457024, + 3457024, + 3457024 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "novofetch", + "mean": 0.012202712000000001, + "stddev": 0.00063623242264408, + "median": 0.012447193000000002, + "user": 0.006195000000000001, + "system": 0.0058032, + "min": 0.010892843000000001, + "max": 0.012786427000000001, + "times": [ + 0.011586441000000001, + 0.010892843000000001, + 0.012181315000000002, + 0.012786427000000001, + 0.012445791000000001, + 0.012448595000000002, + 0.011605183000000002, + 0.012681912, + 0.01264029, + 0.012758323 + ], + "memory_usage_byte": [ + 4423680, + 4460544, + 4464640, + 4464640, + 4501504, + 4501504, + 4513792, + 4513792, + 4513792, + 4513792 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "ohmyfetch", + "mean": 0.0006002309, + "stddev": 0.0002647900221120502, + "median": 0.000508593, + "user": 0.00022719999999999997, + "system": 0.0001643, + "min": 0.00041302900000000003, + "max": 0.001325144, + "times": [ + 0.00047614500000000003, + 0.0006861170000000001, + 0.000516125, + 0.000501061, + 0.001325144, + 0.0004959060000000001, + 0.000584297, + 0.000517359, + 0.00041302900000000003, + 0.00048712600000000005 + ], + "memory_usage_byte": [ + 4513792, + 4513792, + 4513792, + 4513792, + 4513792, + 4513792, + 4513792, + 4513792, + 4513792, + 4513792 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "fastfetch", + "mean": 0.0646344437, + "stddev": 0.000934254720716171, + "median": 0.064571338, + "user": 0.0353326, + "system": 0.023932199999999997, + "min": 0.06351946800000001, + "max": 0.066359706, + "times": [ + 0.06384044500000001, + 0.066359706, + 0.064628218, + 0.065870131, + 0.06451445800000001, + 0.06373005500000001, + 0.063971232, + 0.064966497, + 0.06494422700000001, + 0.06351946800000001 + ], + "memory_usage_byte": [ + 38440960, + 38440960, + 38440960, + 38440960, + 38440960, + 38440960, + 38440960, + 38440960, + 38440960, + 38440960 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "uwufetch", + "mean": 0.0705585522, + "stddev": 0.002537658871303442, + "median": 0.0705885655, + "user": 0.03415749999999999, + "system": 0.0174794, + "min": 0.0673625, + "max": 0.074461179, + "times": [ + 0.07394387300000001, + 0.067780083, + 0.070670565, + 0.074461179, + 0.072758483, + 0.070506566, + 0.071041346, + 0.068624157, + 0.06843677000000001, + 0.0673625 + ], + "memory_usage_byte": [ + 39690240, + 39690240, + 39690240, + 39690240, + 39690240, + 39690240, + 39690240, + 39718912, + 39718912, + 39718912 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "pfetch", + "mean": 0.10646233320000001, + "stddev": 0.0023372693386104234, + "median": 0.10591897050000001, + "user": 0.057895600000000005, + "system": 0.027185699999999997, + "min": 0.10361937, + "max": 0.11059798800000001, + "times": [ + 0.10680668500000001, + 0.11059798800000001, + 0.10442108100000001, + 0.10361937, + 0.10648627100000001, + 0.10535167000000001, + 0.104607878, + 0.108106827, + 0.10964409500000001, + 0.10498146700000001 + ], + "memory_usage_byte": [ + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "microfetch", + "mean": 0.0006745818000000001, + "stddev": 0.00019510672639683362, + "median": 0.0006067715, + "user": 0.0002762, + "system": 0.0002441, + "min": 0.000521223, + "max": 0.001192038, + "times": [ + 0.0005620050000000001, + 0.001192038, + 0.000683786, + 0.0005954850000000001, + 0.000618058, + 0.000648624, + 0.000521223, + 0.0005696140000000001, + 0.000584215, + 0.00077077 + ], + "memory_usage_byte": [ + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "maxfetch", + "mean": 0.027357907900000006, + "stddev": 0.0006798183197001078, + "median": 0.0270602775, + "user": 0.0144233, + "system": 0.013652099999999997, + "min": 0.026603717000000002, + "max": 0.028590595000000003, + "times": [ + 0.028590595000000003, + 0.026964999000000003, + 0.026980317, + 0.026603717000000002, + 0.027305160000000002, + 0.027038212000000002, + 0.027939273, + 0.028308879000000002, + 0.027082343000000002, + 0.026765584000000002 + ], + "memory_usage_byte": [ + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912, + 39718912 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "yafetch", + "mean": 0.15481940830000002, + "stddev": 0.006181885642413707, + "median": 0.1527790785, + "user": 0.06248459999999999, + "system": 0.024116199999999997, + "min": 0.148908501, + "max": 0.167369285, + "times": [ + 0.149389735, + 0.148908501, + 0.15471316200000002, + 0.151076881, + 0.167369285, + 0.152391721, + 0.16448885800000002, + 0.152695108, + 0.152863049, + 0.15429778300000002 + ], + "memory_usage_byte": [ + 43085824, + 43085824, + 43085824, + 43085824, + 43180032, + 43180032, + 43180032, + 43225088, + 43225088, + 43225088 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "bunnyfetch", + "mean": 0.0028225839000000003, + "stddev": 0.00039742990606379613, + "median": 0.0027287055000000003, + "user": 0.0013399000000000002, + "system": 0.0013215999999999998, + "min": 0.002408003, + "max": 0.0036136320000000003, + "times": [ + 0.002789868, + 0.002616792, + 0.002751269, + 0.00244452, + 0.003420831, + 0.0027061420000000004, + 0.0025848990000000003, + 0.002889883, + 0.002408003, + 0.0036136320000000003 + ], + "memory_usage_byte": [ + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "tinyfetch", + "mean": 0.0003782007, + "stddev": 0.00001775450322250042, + "median": 0.00037456100000000003, + "user": 0.0002456, + "system": 0.00005819999999999999, + "min": 0.00036095, + "max": 0.000419438, + "times": [ + 0.000374346, + 0.000397187, + 0.000419438, + 0.000376263, + 0.000369038, + 0.00038001200000000005, + 0.00036095, + 0.000367473, + 0.000374776, + 0.00036252400000000003 + ], + "memory_usage_byte": [ + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "leaf", + "mean": 0.0007234522000000001, + "stddev": 0.0002504221609344242, + "median": 0.0006351105000000001, + "user": 0.0003683, + "system": 0.0001606, + "min": 0.000588737, + "max": 0.001427307, + "times": [ + 0.0007024370000000001, + 0.000612083, + 0.0006214930000000001, + 0.000686148, + 0.0006224070000000001, + 0.000588737, + 0.000635508, + 0.001427307, + 0.0007036890000000001, + 0.0006347130000000001 + ], + "memory_usage_byte": [ + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "nitch", + "mean": 0.0659787543, + "stddev": 0.0019520452025518738, + "median": 0.066265235, + "user": 0.030220099999999993, + "system": 0.0125106, + "min": 0.06247603, + "max": 0.06896249, + "times": [ + 0.06569058900000001, + 0.064645756, + 0.065933382, + 0.067046559, + 0.063613101, + 0.06247603, + 0.066597088, + 0.067548207, + 0.06896249, + 0.067274341 + ], + "memory_usage_byte": [ + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "command": "disfetch", + "mean": 0.11399507830000002, + "stddev": 0.0009120492128381454, + "median": 0.11396585000000001, + "user": 0.0827763, + "system": 0.039833099999999996, + "min": 0.11247182800000001, + "max": 0.115289259, + "times": [ + 0.11483957800000001, + 0.11406091700000001, + 0.11439436300000001, + 0.11504565100000001, + 0.113293158, + 0.113870783, + 0.113067736, + 0.11247182800000001, + 0.11361751, + 0.115289259 + ], + "memory_usage_byte": [ + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088, + 43225088 + ], + "exit_codes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ] +} diff --git a/results/2026-04-02/results.md b/results/2026-04-02/results.md new file mode 100644 index 0000000..b9850a6 --- /dev/null +++ b/results/2026-04-02/results.md @@ -0,0 +1,17 @@ +| Command | Mean [ms] | Min [ms] | Max [ms] | Relative | +|:---|---:|---:|---:|---:| +| `tinyfetch` | 0.4 ± 0.0 | 0.4 | 0.4 | 1.00 | +| `ohmyfetch` | 0.6 ± 0.3 | 0.4 | 1.3 | 1.59 ± 0.70 | +| `microfetch` | 0.7 ± 0.2 | 0.5 | 1.2 | 1.78 ± 0.52 | +| `leaf` | 0.7 ± 0.3 | 0.6 | 1.4 | 1.91 ± 0.67 | +| `unfetch` | 2.2 ± 0.3 | 1.9 | 2.9 | 5.92 ± 0.88 | +| `bunnyfetch` | 2.8 ± 0.4 | 2.4 | 3.6 | 7.46 ± 1.11 | +| `gotcha` | 3.5 ± 0.3 | 3.3 | 4.0 | 9.38 ± 0.81 | +| `novofetch` | 12.2 ± 0.6 | 10.9 | 12.8 | 32.27 ± 2.26 | +| `maxfetch` | 27.4 ± 0.7 | 26.6 | 28.6 | 72.34 ± 3.84 | +| `fastfetch` | 64.6 ± 0.9 | 63.5 | 66.4 | 170.90 ± 8.39 | +| `nitch` | 66.0 ± 2.0 | 62.5 | 69.0 | 174.45 ± 9.68 | +| `uwufetch` | 70.6 ± 2.5 | 67.4 | 74.5 | 186.56 ± 11.03 | +| `pfetch` | 106.5 ± 2.3 | 103.6 | 110.6 | 281.50 ± 14.59 | +| `disfetch` | 114.0 ± 0.9 | 112.5 | 115.3 | 301.41 ± 14.35 | +| `yafetch` | 154.8 ± 6.2 | 148.9 | 167.4 | 409.36 ± 25.23 |