p3400: add perf tests for rebasing many changes
authorChristian Couder <christian.couder@gmail.com>
Fri, 5 May 2017 14:57:13 +0000 (16:57 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 8 May 2017 01:50:43 +0000 (10:50 +0900)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/perf/p3400-rebase.sh
index b3e7d525d277c339b4f9d821fb6d18dfb2aa2621..ce271ca4c1a07f620f25c5f4dd6febe020308c64 100755 (executable)
@@ -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