t/curse: add a Makefile so we can compare speed when using GNU make.

redo: 5.4s
redo -j4: 3.0s
make: 2.3s
make -j4: 1.4s
make SHELL=/bin/dash: 1.2s
make SHELL=/bin/dash -j4: 0.83s

We have some distance to go yet.  Of course, redo is still written in
python, not C, so it's very expensive, and the on-disk dependency store is
very inefficient.
This commit is contained in:
Avery Pennarun 2010-11-21 00:31:48 -08:00
commit de042fc2f2
5 changed files with 44 additions and 16 deletions

26
t/curse/Makefile Normal file
View file

@ -0,0 +1,26 @@
all:
. ./check-1.sh
$(MAKE) 1.n0 2.n0 3.n0
$(MAKE) $(shell seq 10 | sed 's/$$/.n1/')
. ./check-2.sh
%.n0: $(shell seq 10 | sed 's/$$/.n1/')
: >$@
%.n1: $(shell seq 100 | sed 's/$$/.n2/')
echo n1-$* >$@
.PRECIOUS: %.n2
%.n2:
echo n2-$* >$@
echo $* >>$*.count
echo $* >>in.countall
$(MAKE) countall
.PHONY: countall
countall:
echo $@ >>out.countall
echo hello >$@
clean:
rm -f *~ .*~ *.n0 *.n1 *.n2 *.tmp *.count countall *.countall