File: day_356__benchmarking.mdwn

package info (click to toggle)
git-annex 10.20250416-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 73,572 kB
  • sloc: haskell: 90,656; javascript: 9,103; sh: 1,469; makefile: 211; perl: 137; ansic: 44
file content (11 lines) | stat: -rw-r--r-- 657 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
Added `git annex benchmark` which uses the excellent Criterion to benchmark
parts of git-annex. What I'm interested in benchmarking right now is the
sqlite database that is used to manage v6 unlocked files, but having a
built-in benchmark will probably have other uses later.

The benchmark results were pretty good; queries from the database are
quite fast (60 microseconds warm cache) and scale well as the size increases.
I did find one scalability issue, which was fixed by adding another index
to the database. The kind of schema change that it's easy to make now, but
that would be a painful transition if it had to be done once this was in wide
use.