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

[PATCH 2/2] p3400: add perf tests for rebasing many changes

From
Christian Couder <christian.couder@gmail.com>
Date
May 5, 2017, 14:57 UTC
Message-ID
<20170505145713.8837-3-chriscool@tuxfamily.org>
In-Reply-To
<20170505145713.8837-1-chriscool@tuxfamily.org>

Rebasing onto many changes is interesting, but it's also interesting to see what happens when rebasing many changes.

And while at it, let's also look at the impact of using a split index.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 t/perf/p3400-rebase.sh | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/t/perf/p3400-rebase.sh b/t/perf/p3400-rebase.sh
index b3e7d525d2..ce271ca4c1 100755
--- a/t/perf/p3400-rebase.sh
+++ b/t/perf/p3400-rebase.sh
@@ -5,7 +5,7 @@ test_description='Tests rebase performance'
 
 test_perf_default_repo
 
-test_expect_success 'setup' '
+test_expect_success 'setup rebasing on top of a lot of changes' '
 	git checkout -f -b base &&
 	git checkout -b to-rebase &&
 	git checkout -b upstream &&
@@ -33,4 +33,24 @@ test_perf 'rebase on top of a lot of unrelated changes' '
 	git rebase --onto base HEAD^
 '
 
+test_expect_success 'setup rebasing many changes without split-index' '
+	git config core.splitIndex false &&
+	git checkout -b upstream2 to-rebase &&
+	git checkout -b to-rebase2 upstream
+'
+
+test_perf 'rebase a lot of unrelated changes without split-index' '
+	git rebase --onto upstream2 base &&
+	git rebase --onto base upstream2
+'
+
+test_expect_success 'setup rebasing many changes with split-index' '
+	git config core.splitIndex true
+'
+
+test_perf 'rebase a lot of unrelated changes with split-index' '
+	git rebase --onto upstream2 base &&
+	git rebase --onto base upstream2
+'
+
 test_done
-- 
2.13.0.rc1.83.g83955d3ecd.dirty
Previous: Christian CouderNext: Christian Couder
Message 2 of 6 in “split index extra bits”
  1. 0/2 split index extra bitsChristian Couder, May 5, 2017
  2. 2/2 p3400: add perf tests for rebasing many changesChristian Couder, May 5, 2017
  3. 1/2 split-index: add and use unshare_split_index()Christian Couder, May 5, 2017
  4. Junio C HamanoMay 8, 2017
  5. Junio C HamanoMay 8, 2017
  6. Christian CouderMay 8, 2017

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.