Files
git/t/perf/p0071-sort.sh
René Scharfe 84edc40676 p0071: measure sorting of already sorted and reversed files
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>
2021-10-01 12:43:09 -07:00

42 lines
681 B
Bash
Executable File

#!/bin/sh
test_description='Basic sort performance tests'
. ./perf-lib.sh
test_perf_default_repo
test_expect_success 'setup' '
git ls-files --stage "*.[ch]" "*.sh" |
cut -f2 -d" " |
git cat-file --batch >unsorted
'
test_perf 'sort(1) unsorted' '
sort <unsorted >sorted
'
test_expect_success 'reverse' '
sort -r <unsorted >reversed
'
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