diff options
author | Jeff King <peff@peff.net> | 2017-11-20 15:27:19 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-11-21 11:07:28 +0900 |
commit | 0a11e40275b445fcc959a0dc05f8d73a5a9cbf36 (patch) | |
tree | 3d9194bbdfc7d0768fc967f2b3a3f4a656fc661a | |
parent | p5550: factor out nonsense-pack creation (diff) | |
download | tgif-0a11e40275b445fcc959a0dc05f8d73a5a9cbf36.tar.xz |
t/perf/lib-pack: use fast-import checkpoint to create packs
We currently use fast-import only to create a large number
of objects, and then run O(n) invocations of pack-objects to
turn them into packs.
We can do this faster by just asking fast-import to
checkpoint and create a pack for each (after telling it
not to turn loose tiny packs).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | t/perf/lib-pack.sh | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/t/perf/lib-pack.sh b/t/perf/lib-pack.sh index 501bb7b272..d3865db286 100644 --- a/t/perf/lib-pack.sh +++ b/t/perf/lib-pack.sh @@ -9,15 +9,10 @@ create_packs () { print "data <<EOF"; print "$_"; print "EOF"; + print "checkpoint" } ' "$@" | - 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 + git fast-import } # create a large number of packs, disabling any gc which might @@ -25,5 +20,6 @@ create_packs () { setup_many_packs () { git config gc.auto 0 && git config gc.autopacklimit 0 && + git config fastimport.unpacklimit 0 && create_packs 500 } |