Last active
November 5, 2018 20:26
-
-
Save simonmichael/60838809ecf4fa2f209b5b978b5aae81 to your computer and use it in GitHub Desktop.
darcs record speed test scripts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Makefile.linux | |
# The mac makefile is more up to date. | |
TIME=/usr/bin/time -f%E | |
DARCS=darcs | |
test: | |
for N in \ | |
100 200 300 400 500 600 700 800 900 \ | |
1000 2000 3000 4000 5000 6000 7000 8000 9000 \ | |
; do printf "[`date +%H:%M:%S`] recording $$N files: "; printf "`make -s test$$N`" ; done | |
# time darcs operations in a darcs repo with this many files | |
test%: | |
@make -s t$* | |
-@cd t$*; \ | |
rm -rf _darcs; \ | |
$(DARCS) init -q; \ | |
$(DARCS) add -q *; \ | |
$(TIME) $(DARCS) record -am 'record' -q >/dev/null | |
# make a test directory with N files. Must be the last make target beginning with t. | |
t%: dict | |
mkdir -p $@; cd $@; for w in $$(head -$* ../dict); do echo $$w > $$w; done | |
# make a dictionary of simple unique ascii words | |
dict: | |
strings /usr/share/dict/words | grep -v \' | sort | uniq > $@ | |
clean: | |
rm -rf t[0-9]*/_darcs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Makefile.mac | |
DARCS=darcs | |
MAKE=make -s -fMakefile.mac | |
#RANGE=100 200 300 400 500 600 700 800 900 | |
RANGE=1000 2000 3000 4000 5000 6000 7000 8000 9000 | |
#RANGE=1000 2000 3000 | |
# TESTS=\ | |
# do-record-added \ | |
# do-record-l-added \ | |
# do-record-edited \ | |
# do-whatsnew-unadded \ | |
# do-whatsnew-added \ | |
TESTS=\ | |
do-record-l-added \ | |
do-record-edited \ | |
do-whatsnew-unadded \ | |
do-whatsnew-added \ | |
test: $(TESTS) | |
# run each specified test-RULE for a range of file counts. | |
# eg: make do-record-edited | |
do-%: | |
@for N in $(RANGE); do $(MAKE) test-$*-$$N ; done | |
@echo | |
# time darcs whatsnew with this many unadded files | |
test-whatsnew-unadded-%: | |
@printf "[`date +%H:%M:%S`] whatsnew with $* unadded files: " | |
@$(MAKE) tmp$* | |
cd tmp$*; \ | |
rm -rf _darcs; \ | |
$(DARCS) init >/dev/null; \ | |
( time ( $(DARCS) whatsnew -s ) ) 2>&1 | grep real | |
# time darcs whatsnew with this many pending added files | |
test-whatsnew-added-%: | |
@printf "[`date +%H:%M:%S`] whatsnew with $* pending added files: " | |
@$(MAKE) tmp$* | |
cd tmp$*; \ | |
rm -rf _darcs; \ | |
$(DARCS) init >/dev/null; \ | |
$(DARCS) add -q *; \ | |
( time ( $(DARCS) whatsnew -s ) ) 2>&1 | grep real | |
# time darcs record of this many new files, using add | |
test-record-added-%: | |
@printf "[`date +%H:%M:%S`] recording $* added files: " | |
@$(MAKE) tmp$* | |
cd tmp$*; \ | |
rm -rf _darcs; \ | |
$(DARCS) init >/dev/null; \ | |
$(DARCS) add -q *; \ | |
( time ( $(DARCS) record -am added ) ) 2>&1 | grep real | |
# time darcs record of this many new files, using -l | |
test-record-l-added-%: | |
@printf "[`date +%H:%M:%S`] recording $* added files with -l: " | |
@$(MAKE) tmp$* | |
cd tmp$*; \ | |
rm -rf _darcs; \ | |
$(DARCS) init >/dev/null; \ | |
( time ( $(DARCS) record -alm added ) ) 2>&1 | grep real | |
# time darcs record of this many edited files | |
test-record-edited-%: | |
@printf "[`date +%H:%M:%S`] recording $* edited files: " | |
@$(MAKE) tmp$* | |
cd tmp$*; \ | |
rm -rf _darcs; \ | |
$(DARCS) init >/dev/null; \ | |
$(DARCS) record -qalm added; \ | |
for F in [A-Za-z]*; do echo >>$$F; done; \ | |
( time ( $(DARCS) record -am edited ) ) 2>&1 | grep real | |
# make a tmpN test directory containing ~N files. | |
tmp%: dict | |
mkdir -p $@; cd $@; for w in $$(head -$* ../dict); do echo $$w > $$w; done | |
# make a dictionary of simple unique ascii words | |
dict: | |
strings /usr/share/dict/words | grep -v \' | sort | uniq > $@ | |
clean: | |
rm -rf tmp[0-9]*/_darcs | |
Clean: | |
rm -rf tmp* dict |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment