t3311: use test_commit_bulk

One of the tests in t3311 creates 300 commits by running "test_commit" in a loop. This requires 900 processes. Instead, we can use test_commit_bulk to do it with only four. This improves the runtime of the script from: Benchmark #1: ./t3311-notes-merge-fanout.sh --root=/var/ram/git-tests Time (mean ± σ): 5.821 s ± 0.691 s [User: 3.146 s, System: 2.782 s] Range (min … max): 4.783 s … 6.841 s 10 runs to: Benchmark #1: ./t3311-notes-merge-fanout.sh --root=/var/ram/git-tests Time (mean ± σ): 1.743 s ± 0.116 s [User: 1.144 s, System: 0.691 s] Range (min … max): 1.629 s … 1.994 s 10 runs for an average speedup of over 70%. Unfortunately we still have to run 300 instances of "git notes add", since the point is to test the fanout that comes from adding notes one by one. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Jun 28, 2019 at 05:41 UTC 737b19b50ccecfea56875472e3377ad989a1659f
1 file changed +5 -5
t/t3311-notes-merge-fanout.sh
+5 -5
@@ -114,12 +114,12 @@ cp expect_log_x expect_log_y
114 test_expect_success 'Add a few hundred commits w/notes to trigger fanout (x -> y)' '
115 git update-ref refs/notes/y refs/notes/x &&
116 git config core.notesRef refs/notes/y &&
117 - i=5 &&
118 - while test $i -lt $num
117 + test_commit_bulk --start=6 --id=commit $((num - 5)) &&
118 + i=0 &&
119 + while test $i -lt $((num - 5))
120 do
120 - i=$(($i + 1)) &&
121 - test_commit "commit$i" >/dev/null &&
122 - git notes add -m "notes for commit$i" || return 1
121 + git notes add -m "notes for commit$i" HEAD~$i || return 1
122 + i=$((i + 1))
123 done &&
124 test "$(git rev-parse refs/notes/y)" != "$(git rev-parse refs/notes/x)" &&
125 # Expected number of commits and notes