Skip to content

Commit 95ea568

Browse files
committed
updated tests
1 parent fb5cbb0 commit 95ea568

File tree

2 files changed

+35
-20
lines changed

2 files changed

+35
-20
lines changed

perf-tests.sh

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ warmup() {
2323
done
2424
else
2525
for i in $elements; do
26-
set_a_arr_el test_arr "abcdefghijklmn$i=$test_str"
26+
set_a_arr_el test_arr "${test_key_str}$i=$test_str"
2727
done
2828
fi
2929
}
@@ -43,7 +43,7 @@ test_set() {
4343
done
4444
else
4545
for i in $elements; do
46-
set_a_arr_el test_arr "abcdefghijklmn$i=$test_str"
46+
set_a_arr_el test_arr "${test_key_str}$i=$test_str"
4747
done
4848
fi
4949
}
@@ -55,7 +55,19 @@ test_unset() {
5555
done
5656
else
5757
for i in $elements; do
58-
unset_${arr_type}_arr_el test_arr "abcdefghijklmn$i"
58+
unset_${arr_type}_arr_el test_arr "${test_key_str}$i"
59+
done
60+
fi
61+
}
62+
63+
test_unset_mid() {
64+
if [ "$arr_type" = "i" ]; then
65+
for i in $elements; do
66+
unset_${arr_type}_arr_el test_arr "$((i+2))"
67+
done
68+
else
69+
for i in $elements; do
70+
unset_${arr_type}_arr_el test_arr "${test_key_str}$((i+2))"
5971
done
6072
fi
6173
}
@@ -67,7 +79,7 @@ test_unset_rev() {
6779
done
6880
else
6981
for i in $elements; do
70-
unset_${arr_type}_arr_el test_arr "abcdefghijklmn$((l-i+1))"
82+
unset_${arr_type}_arr_el test_arr "${test_key_str}$((l-i+1))"
7183
done
7284
fi
7385
}
@@ -79,7 +91,7 @@ test_unset_rev_mid() {
7991
done
8092
else
8193
for i in $elements; do
82-
unset_${arr_type}_arr_el test_arr "abcdefghijklmn$((l-i))"
94+
unset_${arr_type}_arr_el test_arr "${test_key_str}$((l-i))"
8395
done
8496
fi
8597
}
@@ -97,7 +109,7 @@ test_get() {
97109
done
98110
else
99111
for i in $elements; do
100-
get_${arr_type}_arr_val test_arr "abcdefghijklmn$i" testvar
112+
get_${arr_type}_arr_val test_arr "${test_key_str}$i" testvar
101113
# printf '%s\n' "$testvar" >/dev/null
102114
# printf '%s\n' "${test_arr[$i]}" >/dev/null
103115
done
@@ -107,21 +119,22 @@ test_get() {
107119
test_mixed() {
108120
if [ "$arr_type" = "i" ]; then
109121
for j in $elements; do
110-
[ $((j % 100)) = 0 ] && sort_i_arr test_arr
122+
[ $((j % 10)) = 0 ] && get_i_arr_indices test_arr testvar
111123
# set_i_arr_el test_arr "$((j))" "$test_str"
112124
set_i_arr_el test_arr "$((j+1))" "$test_str"
113-
unset_i_arr_el test_arr "$((j))"
125+
# unset_i_arr_el test_arr "$((j))"
114126
set_i_arr_el test_arr "$((j))" "$test_str"
127+
get_i_arr_max_index test_arr testvar
115128
# add_i_arr_el test_arr "$test_str"
116129
done
117130
# set_${arr_type}_arr_val test_arr "$i" "$test_str"
118131
# add_${arr_type}_arr_el test_arr "$test_str"
119132
else
120133
for j in $elements; do
121-
[ $((j % 100)) = 0 ] && get_a_arr_keys -s test_arr testvar
134+
[ $((j % 10)) = 0 ] && get_a_arr_keys -s test_arr testvar
122135
set_a_arr_el test_arr "$((j))=$test_str"; #echo "setting $((j+1))"
123136
set_a_arr_el test_arr "$((j*2))=$test_str"; #echo "setting $((j+1))"
124-
unset_a_arr_el test_arr "$((j))"; #echo "unsetting $((j))"
137+
# unset_a_arr_el test_arr "$((j))"; #echo "unsetting $((j))"
125138
done
126139
# set_${arr_type}_arr_val test_arr "$i" "$test_str"
127140
# add_${arr_type}_arr_el test_arr "$test_str"
@@ -166,12 +179,16 @@ get_date() {
166179
measure_time() {
167180
exec_command="$1"; description="${1#test_}"; shift
168181
__args="$*"
182+
# get_${arr_type}_arr_el_cnt test_arr rescnt
169183
$time_func
170184
start_time="$curr_time"
171185
# shellcheck disable=SC2086
172186
$exec_command $__args
173187
$time_func
174-
echo "$description time: $(( curr_time - start_time )) ms"
188+
echo "*** $description time: $(( curr_time - start_time )) ms"
189+
# echo "Initial elements count: $rescnt"
190+
# get_${arr_type}_arr_el_cnt test_arr rescnt
191+
# echo "Resulting elements count: $rescnt"; echo
175192
unset curr_time
176193
}
177194

@@ -201,6 +218,7 @@ case $arr_type in
201218
esac
202219

203220
test_str="a b; 'c%d^e#fh2uyuIJKlk/*-+UnapTg#@! %% " # string used to assign to elements
221+
test_key_str="abcdefghijklmn"
204222

205223
# Warmup
206224
f=1 # first element
@@ -235,9 +253,14 @@ measure_time test_unset
235253
test_set
236254
measure_time test_unset_rev
237255

256+
test_unset_all
238257
test_set
239258
measure_time test_unset_rev_mid
240259

260+
test_unset_all
261+
test_set
262+
measure_time test_unset_mid
263+
241264
measure_time test_mixed
242265

243266
test_unset_all
@@ -247,14 +270,6 @@ test_unset_all
247270
} || test_set
248271

249272

250-
if [ "$arr_type" = "i" ]; then
251-
unset_i_arr_el test_arr "$((l-3))"
252-
set_i_arr_el test_arr "$((l-3))" "$test_str"
253-
else
254-
unset_a_arr_el test_arr "bcdefghijklmn$((l-3))"
255-
set_a_arr_el test_arr "bcdefghijklmn$((l-3))=$test_str"
256-
fi
257-
258273
measure_time test_unset_all
259274

260275

posix-arrays-tests.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ newline="
214214
# To print errors returned by the functions under test, uncomment the following line
215215
# Some of the test units intentionally induce errors, so expect an error spam in the console
216216

217-
#print_stderr=true
217+
print_stderr=true
218218

219219
err_num=0
220220

0 commit comments

Comments
 (0)