From: DJ Delorie Date: Wed, 1 Apr 2020 19:33:00 +0000 (-0400) Subject: Optimize scripts/merge-test-results.sh X-Git-Tag: glibc-2.33~439 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=78e09591a59fb4cb634cde28089924383151fcfe;p=thirdparty%2Fglibc.git Optimize scripts/merge-test-results.sh The inner loop is called thousands of times per "make check" even if there's otherwise nothing to do. Avoid calling /bin/head all those times when a builtin will do. Reviewed-by: Carlos O'Donell --- diff --git a/scripts/merge-test-results.sh b/scripts/merge-test-results.sh index 573a44d8cf1..1e236db4a75 100755 --- a/scripts/merge-test-results.sh +++ b/scripts/merge-test-results.sh @@ -35,7 +35,12 @@ case $type in subdir=${subdir:+$subdir/} for t in "$@"; do if [ -s "$objpfx$t.test-result" ]; then - head -n1 "$objpfx$t.test-result" + # This loop is called thousands of times even when there's + # nothing to do. Avoid using non-built-in commands (like + # /bin/head) where possible. We assume "echo" is typically a + # built-in. + IFS= read -r line < "$objpfx$t.test-result" + echo "$line" else echo "UNRESOLVED: $subdir$t" fi