Git fork
at reftables-rust 74 lines 1.4 kB view raw
1#!/bin/sh 2 3test_description='Tests pack performance using bitmaps' 4. ./perf-lib.sh 5 6test_perf_large_repo 7 8test_expect_success 'create rev input' ' 9 cat >in-thin <<-EOF && 10 $(git rev-parse HEAD) 11 ^$(git rev-parse HEAD~1) 12 EOF 13 14 cat >in-big <<-EOF && 15 $(git rev-parse HEAD) 16 ^$(git rev-parse HEAD~1000) 17 EOF 18 19 cat >in-shallow <<-EOF 20 $(git rev-parse HEAD) 21 --shallow $(git rev-parse HEAD) 22 EOF 23' 24 25test_all_with_args () { 26 parameter=$1 27 export parameter 28 29 test_perf "thin pack with $parameter" ' 30 git pack-objects --thin --stdout --revs --sparse \ 31 $parameter <in-thin >out 32 ' 33 34 test_size "thin pack size with $parameter" ' 35 test_file_size out 36 ' 37 38 test_perf "big pack with $parameter" ' 39 git pack-objects --stdout --revs --sparse \ 40 $parameter <in-big >out 41 ' 42 43 test_size "big pack size with $parameter" ' 44 test_file_size out 45 ' 46 47 test_perf "shallow fetch pack with $parameter" ' 48 git pack-objects --stdout --revs --sparse --shallow \ 49 $parameter <in-shallow >out 50 ' 51 52 test_size "shallow pack size with $parameter" ' 53 test_file_size out 54 ' 55 56 test_perf "repack with $parameter" ' 57 git repack -adf $parameter 58 ' 59 60 test_size "repack size with $parameter" ' 61 gitdir=$(git rev-parse --git-dir) && 62 pack=$(ls $gitdir/objects/pack/pack-*.pack) && 63 test_file_size "$pack" 64 ' 65} 66 67for version in 1 2 68do 69 test_all_with_args --name-hash-version=$version 70done 71 72test_all_with_args --path-walk 73 74test_done