Fixes the issues noted in v3, see
<[email protected]>
(https://public-inbox.org/git/[email protected]/).
In addition I was wrong about for-each-ref not being subjected to this
slowdown, I was just screwing up the testcase. Fix that. Now:
$ GIT_PERF_REPEAT_COUNT=1 GIT_PERF_MAKE_OPTS="-j6 NO_OPENSSL=Y
NO_WILDMATCH=YesPlease" ./run v1.9.5 v2.12.0 p0100-globbing.sh
Test v1.9.5
v2.12.0
-------------------------------------------------------------------------------------------------
0100.2: refglob((a*)^nb) against tag (a^100).t; n = 1 0.00(0.00+0.00)
0.00(0.00+0.00) =
0100.3: refglob((a*)^nb) against tag (a^100).t; n = 2 0.00(0.00+0.00)
0.00(0.00+0.00) =
0100.4: refglob((a*)^nb) against tag (a^100).t; n = 3 0.00(0.00+0.00)
0.00(0.00+0.00) =
0100.5: refglob((a*)^nb) against tag (a^100).t; n = 4 0.00(0.00+0.00)
0.01(0.00+0.00) +inf
0100.6: refglob((a*)^nb) against tag (a^100).t; n = 5 0.00(0.00+0.00)
0.16(0.15+0.00) +inf
0100.7: refglob((a*)^nb) against tag (a^100).t; n = 6 0.00(0.00+0.00)
2.73(2.71+0.00) +inf
0100.8: fileglob((a*)^nb) against file (a^100).t; n = 1 0.00(0.00+0.00)
0.00(0.00+0.00) =
0100.9: fileglob((a*)^nb) against file (a^100).t; n = 2 0.00(0.00+0.00)
0.00(0.00+0.00) =
0100.10: fileglob((a*)^nb) against file (a^100).t; n = 3 0.00(0.00+0.00)
0.00(0.00+0.00) =
0100.11: fileglob((a*)^nb) against file (a^100).t; n = 4 0.00(0.00+0.00)
0.01(0.00+0.00) +inf
0100.12: fileglob((a*)^nb) against file (a^100).t; n = 5 0.00(0.00+0.00)
0.16(0.15+0.00) +inf
0100.13: fileglob((a*)^nb) against file (a^100).t; n = 6 0.00(0.00+0.00)
2.75(2.73+0.00) +inf
Ævar Arnfjörð Bjarmason (2):
perf: add function to setup a fresh test repo
perf: add test showing exponential growth in path globbing
t/perf/README | 1 +
t/perf/p0100-globbing.sh | 43 +++++++++++++++++++++++++++++++++++++++++++
t/perf/perf-lib.sh | 17 +++++++++++++----
3 files changed, 57 insertions(+), 4 deletions(-)
create mode 100755 t/perf/p0100-globbing.sh
--
2.11.0