Skip to content

Commit

Permalink
Merge branch 'rs/discard-index-discard-array'
Browse files Browse the repository at this point in the history
* rs/discard-index-discard-array:
  read-cache: free cache in discard_index
  read-cache: add simple performance test
  • Loading branch information
Junio C Hamano committed Jun 20, 2013
2 parents 8f0c843 + a0fc4db commit 08bcd77
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 2 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@
/test-mktemp
/test-parse-options
/test-path-utils
/test-read-cache
/test-regex
/test-revision-walking
/test-run-command
Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,7 @@ TEST_PROGRAMS_NEED_X += test-mergesort
TEST_PROGRAMS_NEED_X += test-mktemp
TEST_PROGRAMS_NEED_X += test-parse-options
TEST_PROGRAMS_NEED_X += test-path-utils
TEST_PROGRAMS_NEED_X += test-read-cache
TEST_PROGRAMS_NEED_X += test-regex
TEST_PROGRAMS_NEED_X += test-revision-walking
TEST_PROGRAMS_NEED_X += test-run-command
Expand Down
5 changes: 3 additions & 2 deletions read-cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -1520,8 +1520,9 @@ int discard_index(struct index_state *istate)
free_name_hash(istate);
cache_tree_free(&(istate->cache_tree));
istate->initialized = 0;

/* no need to throw away allocated active_cache */
free(istate->cache);
istate->cache = NULL;
istate->cache_alloc = 0;
return 0;
}

Expand Down
14 changes: 14 additions & 0 deletions t/perf/p0002-read-cache.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh

test_description="Tests performance of reading the index"

. ./perf-lib.sh

test_perf_default_repo

count=1000
test_perf "read_cache/discard_cache $count times" "
test-read-cache $count
"

test_done
13 changes: 13 additions & 0 deletions test-read-cache.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#include "cache.h"

int main (int argc, char **argv)
{
int i, cnt = 1;
if (argc == 2)
cnt = strtol(argv[1], NULL, 0);
for (i = 0; i < cnt; i++) {
read_cache();
discard_cache();
}
return 0;
}

0 comments on commit 08bcd77

Please sign in to comment.