This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
"make check" times
- From: DJ Delorie <dj at redhat dot com>
- To: libc-alpha at sourceware dot org
- Date: Fri, 19 Jul 2019 18:11:20 -0400
- Subject: "make check" times
While digging for some low-hanging fruit in "make" times, I did this:
diff --git a/scripts/merge-test-results.sh b/scripts/merge-test-results.sh
index 919bbae253..7088ef6996 100755
--- a/scripts/merge-test-results.sh
+++ b/scripts/merge-test-results.sh
@@ -35,7 +35,11 @@ case $type in
subdir=${subdir:+$subdir/}
for t in "$@"; do
if [ -s "$objpfx$t.test-result" ]; then
- head -n1 "$objpfx$t.test-result"
+ #head -n1 "$objpfx$t.test-result"
+ exec 6<"$objpfx$t.test-result"
+ read line <&6
+ echo $line
+ exec 6<&-
else
echo "UNRESOLVED: $subdir$t"
fi
That one instance of "head" is called over 6000 times per "make
check", and as it's the only non-builtin in that script, it adds about
11 seconds of overhead compared to just reading that one line with
builtins.
My question here is: how much of a time savings is worth the
complexity of said savings?