Lineare Werkzeuge, exponentielle Repos
Git wurde ursprunglich fur den Linux-Kernel optimiert — gross fur die Standards von 2005, aber winzig fur die heutigen.
Wo Zeit hingeht
git statusdurchquert den Working Tree.git log,git blamedurchqueren Commit-Graphen.git fetchverhandelt mit dem Server.git gcrepackt jedes Objekt.- Der Index wird mehrfach pro Befehl gelesen und geschrieben.
Messen
GIT_TRACE2_PERF=1 git status
GIT_TRACE2_EVENT=/tmp/trace.json git status
git -c trace2.eventTarget=/tmp/trace git fetch
Performance-Toolbox
- commit-graph.
- changed-path Bloom-Filter.
- multi-pack-index.
- Erreichbarkeits-Bitmaps.
- fsmonitor.
- partial clone und sparse index.
- geometric repack.
- protocol v2.
- git maintenance.
Schnelle Erfolge
git config feature.manyFiles true
git config core.fsmonitor true
git config core.untrackedCache true
git config index.version 4
git maintenance start
Haufige Fehler
Vor dem Messen tunen.