#!/bin/sh

test_description="Tests index-pack performance"

. ./perf-lib.sh

test_perf_large_repo

test_expect_success 'repack' '
	git repack -ad &&
	PACK=$(ls .git/objects/pack/*.pack | head -n1) &&
	test -f "$PACK" &&
	export PACK
'

test_expect_success 'create target repositories' '
	for repo in t1 t2 t3 t4 t5 t6
	do
		git init --bare $repo
	done
'

test_perf 'index-pack 0 threads' '
	GIT_DIR=t1 git index-pack --threads=1 --stdin < $PACK
'

test_perf 'index-pack 1 thread ' '
	GIT_DIR=t2 GIT_FORCE_THREADS=1 git index-pack --threads=1 --stdin < $PACK
'

test_perf 'index-pack 2 threads' '
	GIT_DIR=t3 git index-pack --threads=2 --stdin < $PACK
'

test_perf 'index-pack 4 threads' '
	GIT_DIR=t4 git index-pack --threads=4 --stdin < $PACK
'

test_perf 'index-pack 8 threads' '
	GIT_DIR=t5 git index-pack --threads=8 --stdin < $PACK
'

test_perf 'index-pack default number of threads' '
	GIT_DIR=t6 git index-pack --stdin < $PACK
'

test_done
