aa338d3508
We have a function to create a bunch of irrelevant packs to measure the expense of reprepare_packed_git(). Let's make that available to other perf scripts. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
30 lines
616 B
Bash
30 lines
616 B
Bash
# Helpers for dealing with large numbers of packs.
|
|
|
|
# create $1 nonsense packs, each with a single blob
|
|
create_packs () {
|
|
perl -le '
|
|
my ($n) = @ARGV;
|
|
for (1..$n) {
|
|
print "blob";
|
|
print "data <<EOF";
|
|
print "$_";
|
|
print "EOF";
|
|
}
|
|
' "$@" |
|
|
git fast-import &&
|
|
|
|
git cat-file --batch-all-objects --batch-check='%(objectname)' |
|
|
while read sha1
|
|
do
|
|
echo $sha1 | git pack-objects .git/objects/pack/pack
|
|
done
|
|
}
|
|
|
|
# create a large number of packs, disabling any gc which might
|
|
# cause us to repack them
|
|
setup_many_packs () {
|
|
git config gc.auto 0 &&
|
|
git config gc.autopacklimit 0 &&
|
|
create_packs 500
|
|
}
|