Add the helper test-read-cache, which can be used to call read_cache and discard_cache in a loop as well as a performance check based on it. Signed-off-by: René Scharfe <rene.scharfe@xxxxxxxxxxxxxx> --- .gitignore | 1 + Makefile | 1 + t/perf/p0002-read-cache.sh | 14 ++++++++++++++ test-read-cache.c | 13 +++++++++++++ 4 files changed, 29 insertions(+) create mode 100755 t/perf/p0002-read-cache.sh create mode 100644 test-read-cache.c diff --git a/.gitignore b/.gitignore index 1640c3a..c0e00eb 100644 --- a/.gitignore +++ b/.gitignore @@ -191,6 +191,7 @@ /test-mktemp /test-parse-options /test-path-utils +/test-read-cache /test-regex /test-revision-walking /test-run-command diff --git a/Makefile b/Makefile index a748133..2e3b4ee 100644 --- a/Makefile +++ b/Makefile @@ -572,6 +572,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 diff --git a/t/perf/p0002-read-cache.sh b/t/perf/p0002-read-cache.sh new file mode 100755 index 0000000..9180ae9 --- /dev/null +++ b/t/perf/p0002-read-cache.sh @@ -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 diff --git a/test-read-cache.c b/test-read-cache.c new file mode 100644 index 0000000..b25bcf1 --- /dev/null +++ b/test-read-cache.c @@ -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; +} -- 1.8.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html