summaryrefslogtreecommitdiff
path: root/test/run
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2011-04-13 16:24:57 -0400
committerRuss Cox <rsc@golang.org>2011-04-13 16:24:57 -0400
commit63ed8d50aa2c65a0e4b3630239d031a3fd6e0c6a (patch)
tree46f3b0c96b1fbda6eb9a70da3ccff61616bddbdc /test/run
parentba34048321ad38cd228d02af0fa5f9ee2fd612de (diff)
downloadgo-63ed8d50aa2c65a0e4b3630239d031a3fd6e0c6a.tar.gz
build: tidy intermediate files during build
This CL changes the behavior of 'make install' and 'make test' in the src/cmd directory and the src/pkg directory to have each recursive make clean up after itself immediately. It does the same in test/run, removing $F.$A and $A.out (the common byproducts) between runs. On machines with slow disks and aggressive kernel caching, cleaning up immediately can mean that the intermediate objects never get written to disk. This change eliminates almost all the disk waiting during all.bash on my laptop (a Thinkpad X201s with an SSD running Linux). 147.50u 19.95s 277.34r before 148.53u 21.64s 179.59r after R=golang-dev, r, iant2 CC=golang-dev http://codereview.appspot.com/4413042
Diffstat (limited to 'test/run')
-rwxr-xr-xtest/run1
1 files changed, 1 insertions, 0 deletions
diff --git a/test/run b/test/run
index a74933f35..628cc2d7b 100755
--- a/test/run
+++ b/test/run
@@ -99,6 +99,7 @@ do
echo $i >>pass.out
fi
echo $(awk 'NR==1{print $2}' $TMP2FILE) $D/$F >>times.out
+ rm -f $F.$A $A.out
) done
done | # clean up some stack noise
egrep -v '^(r[0-9a-z]+|[cfg]s) +0x' |