git-annex-benchmark(1)

πŸ“¦
version 10.20261026 Β· 2 versions
  • 10.20261026 Β· alpine 3.24, arch rolling, debian bookworm, debian trixie, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 8.20210223 Β· ubuntu jammy
, in alpine 3.24, arch rolling, debian bookworm, debian trixie, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ git-annex-benchmark β€” the benchmark girlie of the git-annex manual πŸ’…

okay bestie, so this is the page for git-annex-benchmark(1) from the General Commands Manual, and it's literally about benchmarking git-annex commands. no cap.


🌸 NAME 🌸

git-annex-benchmark β€” benchmark git-annex commands πŸ”₯


πŸŽ€ SYNOPSIS πŸŽ€

git annex benchmark [criterionopts] ( -- commmand [; command] |
--databases=N )

(yes the commmand triple-m is exactly what the page says, i don't make the rules, i just vibe with them πŸ™ˆ)


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea: when git-annex is built with benchmarking support, this command lets you benchmark any other git-annex command. it's giving personal trainer for your repo. for example, git annex benchmark -- get . will benchmark git annex get. iconic.

the command you're benchmarking gets run in the current git-annex repository. and it does not run just once, bestie β€” the benchmarking process runs it several times so the result is actually statistically meaningful. it's giving science. ⭐

now, when you're benchmarking an action like git annex get, the first run will often do much more than subsequent runs. 😭 to make the benchmark repeat an action like getting a file each time, you can list additional commands separated by ;. heads up though: ; needs to be escaped from the shell. the combined script gets run repeatedly by the benchmark. example time:

git annex benchmark -- get . ';' drop .
also super important: git-annex benchmark does not fork new git-annex processes when benchmarking. it calls the command to benchmark internally, so it skips git-annex's startup overhead. so like… don't try to use it to optimise git-annex startup. that's not the vibe here. πŸ’€

πŸ’– OPTIONS πŸ’–

  • before the --, you can use any of the criterion library's command-line options. slay, borrowed greatness. ✨
  • any options that git-annex usually accepts can be included after the command to benchmark. so you're not losing anything, bestie. 🫢
  • --databases=N β€” this one benchmarks git-annex's use of sqlite databases instead of a command. N is the number of items to benchmark. database girlies rise. 🌈

πŸ‘‘ OUTPUT πŸ‘‘

the output of the commands being benchmarked goes to standard output and standard error as usual. honestly it's often a good idea to use --quiet to avoid unnecessary output β€” unless, of course, the generation of that output is part of what you want to benchmark. iykyk. 🧚

the benchmark report itself is output to standard output by default, though criterion options can be used to redirect it to a file. for example:

git annex benchmark -o bench -- find >/dev/null

periodt. πŸ’…


🌟 SEE ALSO 🌟


πŸ’œ AUTHOR πŸ’œ

Joey Hess <id@joeyh.name> β€” thank you for your service king 🫑✨


and that's the whole page, bestie!! this was git-annex-benchmark(1) from the General Commands Manual β€” the footer's just the page name itself, no extra version or date tea to spill, so we're keeping it cute and simple. πŸŽ€πŸ’–πŸŒΈ