]> git.ipfire.org Git - thirdparty/git.git/commitdiff
p0071: measure sorting of already sorted and reversed files
authorRené Scharfe <l.s.r@web.de>
Fri, 1 Oct 2021 09:19:04 +0000 (11:19 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 1 Oct 2021 19:43:09 +0000 (12:43 -0700)
Check if sorting takes advantage of already sorted or reversed content,
or if that corner case actually decreases performance, like it would for
a simplistic quicksort implementation.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/perf/p0071-sort.sh

index 6e924f5fa3f900b4b82a55f282e810572a62f20b..5b39b68f355e2bcc81e76e7704fe22232ebcaaff 100755 (executable)
@@ -11,16 +11,31 @@ test_expect_success 'setup' '
        git cat-file --batch >unsorted
 '
 
-test_perf 'sort(1)' '
-       sort <unsorted >expect
+test_perf 'sort(1) unsorted' '
+       sort <unsorted >sorted
 '
 
-test_perf 'string_list_sort()' '
-       test-tool string-list sort <unsorted >actual
+test_expect_success 'reverse' '
+       sort -r <unsorted >reversed
 '
 
-test_expect_success 'string_list_sort() sorts like sort(1)' '
-       test_cmp_bin expect actual
-'
+for file in sorted reversed
+do
+       test_perf "sort(1) $file" "
+               sort <$file >actual
+       "
+done
+
+for file in unsorted sorted reversed
+do
+
+       test_perf "string_list_sort() $file" "
+               test-tool string-list sort <$file >actual
+       "
+
+       test_expect_success "string_list_sort() $file sorts like sort(1)" "
+               test_cmp_bin sorted actual
+       "
+done
 
 test_done