t/perf: add 'GIT_PERF_USE_SCALAR' run option
Add a 'GIT_PERF_USE_SCALAR' environment variable (and corresponding perf config 'useScalar') to register a repository created with any of: * test_perf_fresh_repo * test_perf_default_repo * test_perf_large_repo as a Scalar enlistment. This is intended to allow a developer to test the impact of Scalar on already-defined performance scenarios. Suggested-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Victoria Dye <vdye@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Victoria Dye committed
Sep 2, 2022 at 15:56 UTC
ba1b117eec2f73c84f73f827e6f3ac8b82b35585
3 files changed
+19
-1
t/perf/README
+4
@@ -95,6 +95,10 @@ You can set the following variables (also in your config.mak):
95
Git (e.g., performance of index-pack as the number of threads
96
changes). These can be enabled with GIT_PERF_EXTRA.
97
98
+ GIT_PERF_USE_SCALAR
99
+ Boolean indicating whether to register test repo(s) with Scalar
100
+ before executing tests.
101
+
102
You can also pass the options taken by ordinary git tests; the most
103
useful one is:
104
t/perf/perf-lib.sh
+12
-1
@@ -49,6 +49,9 @@ export TEST_DIRECTORY TRASH_DIRECTORY GIT_BUILD_DIR GIT_TEST_CMP
49
MODERN_GIT=$GIT_BUILD_DIR/bin-wrappers/git
50
export MODERN_GIT
51
52
+MODERN_SCALAR=$GIT_BUILD_DIR/bin-wrappers/scalar
53
+export MODERN_SCALAR
54
+
55
perf_results_dir=$TEST_RESULTS_DIR
56
test -n "$GIT_PERF_SUBSECTION" && perf_results_dir="$perf_results_dir/$GIT_PERF_SUBSECTION"
57
mkdir -p "$perf_results_dir"
@@ -120,6 +123,10 @@ test_perf_create_repo_from () {
123
# status" due to a locked index. Since we have
124
# a copy it's fine to remove the lock.
125
rm .git/index.lock
126
+ fi &&
127
+ if test_bool_env GIT_PERF_USE_SCALAR false
128
+ then
129
+ "$MODERN_SCALAR" register
130
fi
131
) || error "failed to copy repository '$source' to '$repo'"
132
}
@@ -130,7 +137,11 @@ test_perf_fresh_repo () {
137
"$MODERN_GIT" init -q "$repo" &&
138
(
139
cd "$repo" &&
133
- test_perf_do_repo_symlink_config_
140
+ test_perf_do_repo_symlink_config_ &&
141
+ if test_bool_env GIT_PERF_USE_SCALAR false
142
+ then
143
+ "$MODERN_SCALAR" register
144
+ fi
145
)
146
}
147
t/perf/run
+3
@@ -171,6 +171,9 @@ run_subsection () {
171
get_var_from_env_or_config "GIT_PERF_MAKE_COMMAND" "perf" "makeCommand"
172
get_var_from_env_or_config "GIT_PERF_MAKE_OPTS" "perf" "makeOpts"
173
174
+ get_var_from_env_or_config "GIT_PERF_USE_SCALAR" "perf" "useScalar" "--bool"
175
+ export GIT_PERF_USE_SCALAR
176
+
177
get_var_from_env_or_config "GIT_PERF_REPO_NAME" "perf" "repoName"
178
export GIT_PERF_REPO_NAME
179