提交 3921a0b3 编写于 作者: K Kevin Willford 提交者: Junio C Hamano

perf: add test for writing the index

A performance test for writing the index to be able to
determine if changes to allocating ondisk structure help.
Signed-off-by: NKevin Willford <kewillf@microsoft.com>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 b3622a4e
......@@ -655,6 +655,7 @@ TEST_PROGRAMS_NEED_X += test-parse-options
TEST_PROGRAMS_NEED_X += test-path-utils
TEST_PROGRAMS_NEED_X += test-prio-queue
TEST_PROGRAMS_NEED_X += test-read-cache
TEST_PROGRAMS_NEED_X += test-write-cache
TEST_PROGRAMS_NEED_X += test-ref-store
TEST_PROGRAMS_NEED_X += test-regex
TEST_PROGRAMS_NEED_X += test-revision-walking
......
#include "cache.h"
#include "lockfile.h"
static struct lock_file index_lock;
int cmd_main(int argc, const char **argv)
{
int i, cnt = 1, lockfd;
if (argc == 2)
cnt = strtol(argv[1], NULL, 0);
setup_git_directory();
read_cache();
for (i = 0; i < cnt; i++) {
lockfd = hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
if (0 <= lockfd) {
write_locked_index(&the_index, &index_lock, COMMIT_LOCK);
} else {
rollback_lock_file(&index_lock);
}
}
return 0;
}
#!/bin/sh
test_description="Tests performance of writing the index"
. ./perf-lib.sh
test_perf_default_repo
test_expect_success "setup repo" '
if git rev-parse --verify refs/heads/p0006-ballast^{commit}
then
echo Assuming synthetic repo from many-files.sh
git config --local core.sparsecheckout 1
cat >.git/info/sparse-checkout <<-EOF
/*
!ballast/*
EOF
else
echo Assuming non-synthetic repo...
fi &&
nr_files=$(git ls-files | wc -l)
'
count=3
test_perf "write_locked_index $count times ($nr_files files)" "
test-write-cache $count
"
test_done
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册