mirror of
https://github.com/git/git.git
synced 2024-12-01 14:03:34 +08:00
c7df68cbca
This just shows off the improvements done by the last few patches, and gives us a baseline for noticing regressions in the future. Here are the results with linux.git as the perf "large repo": Test origin HEAD ------------------------------------------------------------------- 0003.1: log --raw 43.41(40.36+2.69) 33.86(30.96+2.41) -22.0% 0003.2: log -S 313.61(309.74+3.78) 298.75(295.58+3.00) -4.7% (for a large repo, the "log -S" improvements are greater if you bump the delta base cache limit, but I think it makes sense to test the "stock" behavior, since that is what most people will see). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
32 lines
911 B
Bash
Executable File
32 lines
911 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='Test operations that emphasize the delta base cache.
|
|
|
|
We look at both "log --raw", which should put only trees into the delta cache,
|
|
and "log -Sfoo --raw", which should look at both trees and blobs.
|
|
|
|
Any effects will be emphasized if the test repository is fully packed (loose
|
|
objects obviously do not use the delta base cache at all). It is also
|
|
emphasized if the pack has long delta chains (e.g., as produced by "gc
|
|
--aggressive"), though cache is still quite noticeable even with the default
|
|
depth of 50.
|
|
|
|
The setting of core.deltaBaseCacheLimit in the source repository is also
|
|
relevant (depending on the size of your test repo), so be sure it is consistent
|
|
between runs.
|
|
'
|
|
. ./perf-lib.sh
|
|
|
|
test_perf_large_repo
|
|
|
|
# puts mostly trees into the delta base cache
|
|
test_perf 'log --raw' '
|
|
git log --raw >/dev/null
|
|
'
|
|
|
|
test_perf 'log -S' '
|
|
git log --raw -Sfoo >/dev/null
|
|
'
|
|
|
|
test_done
|