Add a function for adding the full hexadecimal hash value of an object
ID to a strbuf. It's thread-safe and slightly more efficient than using
strbuf_addstr() with oid_to_hex() because it doesn't have to determine
the length of the string or copy it from the intermediate static buffer.
Add and apply a semantic patch to use it throughout the code base.
I get a tiny speedup for git log showing a single hash per commit:
Benchmark 1: ./git_main log --format=%H
Time (mean ± σ): 91.2 ms ± 0.7 ms [User: 51.9 ms, System: 38.6 ms]
Range (min … max): 89.8 ms … 92.6 ms 31 runs
Benchmark 2: ./git log --format=%H
Time (mean ± σ): 90.5 ms ± 0.7 ms [User: 51.0 ms, System: 38.8 ms]
Range (min … max): 89.2 ms … 92.3 ms 32 runs
Summary
./git log --format=%H ran
1.01 ± 0.01 times faster than ./git_main log --format=%H
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
||
|---|---|---|
| .. | ||
| coccinelle | ||
| update-unicode | ||
| README.md | ||
| check-builtins.sh | ||
| coverage-diff.sh | ||
| detect-compiler | ||
| generate-cmdlist.sh | ||
| generate-configlist.sh | ||
| generate-hooklist.sh | ||
| generate-perl.sh | ||
| generate-python.sh | ||
| generate-script.sh | ||
| meson.build | ||
| precompiled.h | ||
README.md
Developer Tooling
This directory is expected to contain all sorts of tooling that relates to our build infrastructure. This includes scripts and inputs required by our build systems, but also scripts that developers are expected to run manually.