git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 4/6] t5702: use test_commit_bulk

From
Jeff King <peff@peff.net>
Date
Jul 19, 2019, 21:56 UTC
Message-ID
<20190719215616.GD32188@sigill.intra.peff.net>
In-Reply-To
<20190719215417.GA31841@sigill.intra.peff.net>

There are two loops that create 32 commits each using test_commit. Using test_commit_bulk speeds this up from:

  Benchmark #1: ./t5702-protocol-v2.sh --root=/var/ram/git-tests
    Time (mean ± σ):      5.409 s ±  0.513 s    [User: 2.382 s, System: 2.466 s]
    Range (min … max):    4.633 s …  5.927 s    10 runs
to:
  Benchmark #1: ./t5702-protocol-v2.sh --root=/var/ram/git-tests
    Time (mean ± σ):      3.956 s ±  0.242 s    [User: 1.775 s, System: 1.627 s]
    Range (min … max):    3.449 s …  4.239 s    10 runs
for an average savings of over 25%.
Signed-off-by: Jeff King <peff@peff.net>
---
 t/t5702-protocol-v2.sh | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/t/t5702-protocol-v2.sh b/t/t5702-protocol-v2.sh
index 5b33f625dd..011b81d4fc 100755
--- a/t/t5702-protocol-v2.sh
+++ b/t/t5702-protocol-v2.sh
@@ -499,10 +499,7 @@ test_expect_success 'upload-pack respects client shallows' '
 
 	# Add extra commits to the client so that the whole fetch takes more
 	# than 1 request (due to negotiation)
-	for i in $(test_seq 1 32)
-	do
-		test_commit -C client c$i
-	done &&
+	test_commit_bulk -C client --id=c 32 &&
 
 	git -C server checkout -b newbranch base &&
 	test_commit -C server client_wants &&
@@ -711,10 +708,7 @@ test_expect_success 'when server does not send "ready", expect FLUSH' '
 	# Create many commits to extend the negotiation phase across multiple
 	# requests, so that the server does not send "ready" in the first
 	# request.
-	for i in $(test_seq 1 32)
-	do
-		test_commit -C http_child c$i
-	done &&
+	test_commit_bulk -C http_child --id=c 32 &&
 
 	# After the acknowledgments section, pretend that a DELIM
 	# (0001) was sent instead of a FLUSH (0000).
-- 
2.22.0.993.gcc1030c86b
Previous: Jeff KingNext: Jeff King
Message 6 of 9 in “What's cooking in git.git (Jul 2019, #05; Fri, 19)”
  1. Junio C HamanoJul 19, 2019
  2. jk/test-commit-bulk, was: What's cooking in git.git (Jul 2019, #05; Fri, 19)Jeff King, Jul 19, 2019
  3. 1/6 test-lib: introduce test_commit_bulkJeff King, Jul 19, 2019
  4. 2/6 t5310: increase the number of bitmapped commitsJeff King, Jul 19, 2019
  5. 3/6 t3311: use test_commit_bulkJeff King, Jul 19, 2019
  6. 4/6 t5702: use test_commit_bulkJeff King, Jul 19, 2019
  7. 5/6 t5703: use test_commit_bulkJeff King, Jul 19, 2019
  8. 6/6 t6200: use test_commit_bulkJeff King, Jul 19, 2019
  9. Junio C HamanoJul 23, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.