3c2135a18527b75e7cae69b827b6732a792fe7cd
1#!/bin/sh
2
3test_description='Tests multi-threaded lazy_init_name_hash'
4. ./perf-lib.sh
5
6test_perf_large_repo
7test_checkout_worktree
8
9test_expect_success 'verify both methods build the same hashmaps' '
10 test-lazy-init-name-hash --dump --single >out.single &&
11 test-lazy-init-name-hash --dump --multi >out.multi &&
12 sort <out.single >sorted.single &&
13 sort <out.multi >sorted.multi &&
14 test_cmp sorted.single sorted.multi
15'
16
17test_expect_success 'calibrate' '
18 entries=$(wc -l <out.single) &&
19
20 case $entries in
21 ?) count=1000000 ;;
22 ??) count=100000 ;;
23 ???) count=10000 ;;
24 ????) count=1000 ;;
25 ?????) count=100 ;;
26 ??????) count=10 ;;
27 *) count=1 ;;
28 esac &&
29 export count &&
30
31 case $entries in
32 1) entries_desc="1 entry" ;;
33 *) entries_desc="$entries entries" ;;
34 esac &&
35
36 case $count in
37 1) count_desc="1 round" ;;
38 *) count_desc="$count rounds" ;;
39 esac &&
40
41 desc="$entries_desc, $count_desc" &&
42 export desc
43'
44
45test_perf "single-threaded, $desc" "
46 test-lazy-init-name-hash --single --count=$count
47"
48
49test_perf "multi-threaded, $desc" "
50 test-lazy-init-name-hash --multi --count=$count
51"
52
53test_done