Merge branch 'rs/mergesort'
The mergesort implementation used to sort linked list has been optimized. * rs/mergesort: test-mergesort: use repeatable random numbers mergesort: use ranks stack p0071: test performance of llist_mergesort() p0071: measure sorting of already sorted and reversed files test-mergesort: add unriffle_skewed mode test-mergesort: add unriffle mode test-mergesort: add generate subcommand test-mergesort: add test subcommand test-mergesort: add sort subcommand test-mergesort: use strbuf_getline()
This commit is contained in:
@ -11,16 +11,42 @@ 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
|
||||
|
||||
for file in unsorted sorted reversed
|
||||
do
|
||||
test_perf "llist_mergesort() $file" "
|
||||
test-tool mergesort sort <$file >actual
|
||||
"
|
||||
|
||||
test_expect_success "llist_mergesort() $file sorts like sort(1)" "
|
||||
test_cmp_bin sorted actual
|
||||
"
|
||||
done
|
||||
|
||||
test_done
|
||||
|
Reference in New Issue
Block a user