Commit Graph

15 Commits

Author SHA1 Message Date
Edward Thomson
1cd6872e8f Merge pull request #7008 from libgit2/ethomson/benchmark_version
benchmarks: report commit of build
2025-02-03 17:21:35 +00:00
Edward Thomson
f9e9ddd884 flamegraph: theme for libgit2 benchmarks site 2025-01-14 12:48:28 +00:00
Edward Thomson
008c6f7984 benchmarks: optionally generate and publish flamegraphs 2025-01-13 21:23:02 +00:00
Edward Thomson
dfbdaa28a5 benchmark: introduce profiling support
Introduce `--profile` support to the benchmark helper script, which will
invoke `perf` on Linux. Additionally, add a `--flamegraph` output
option based on that.
2025-01-13 21:21:17 +00:00
Edward Thomson
6fedfd3237 Add benchmark for large-ish (250mb) index-pack 2025-01-11 21:58:19 +00:00
Edward Thomson
343c2cbae8 benchmarks: report commit of build
It can be useful to report the commit ID during benchmarks to track down
regressions; leverage the addition of that in `git version` during
benchmark runs.
2025-01-09 23:44:23 +00:00
Edward Thomson
436f4e7d96 benchmarks: update path to baseline cli
The `fullpath` function takes the cli, but doesn't keep the cli.
2025-01-09 21:45:11 +00:00
Edward Thomson
e68d0b4b95 benchmark: skip (don't fail) needs_repo tests
If a test needs a repo that isn't provide it, mark it as skipped and
avoid failing the execution.
2024-10-21 17:29:52 +01:00
Edward Thomson
4f40bd9f09 benchmark: show helpful errors w/o local repo
When running without a local test repository, show a helpful error
message.
2024-10-21 15:03:14 +01:00
Edward Thomson
d564cc1801 benchmark: don't require a default
It will never be a good user experience to clone the git or kernel repos
from a remote; don't even have a default.
2024-10-21 15:03:14 +01:00
Edward Thomson
03d61cf321 benchmarks: add blame benchmarks 2024-10-21 15:03:14 +01:00
Edward Thomson
0dfcb29da2 benchmarks: clone git or kernel repositories
Teach the benchmark script how to clone the git or kernel repositories,
which is useful to have a larger corpus of test data. If a benchmark
script wants to `clone git` or `clone linux`, then this will be done.
Callers probably want to specify `BENCHMARK_GIT_REPOSITORY` to a
previously cloned local repository so that the script does not download
the repository repeatedly.
2024-10-21 15:03:14 +01:00
Edward Thomson
fddb0bb153 benchmarks: pass options on beyond -- 2024-10-21 15:03:14 +01:00
Edward Thomson
45c8caad1c benchmarks: update name to be "libgit2" 2024-01-12 09:57:16 +00:00
Edward Thomson
93037bab1c tests: add benchmark tests
Add a benchmark test suite that wraps hyperfine and is suitable for
producing data about test runs of a CLI or A/B testing CLIs.
2022-02-27 23:44:19 -05:00