[01db301] | 1 |
|
---|
| 2 | CFABUILD = ~/cfa2/build-perf
|
---|
| 3 | LIBCFA = $(CFABUILD)/libcfa/*/src/.libs/libcfa.so
|
---|
| 4 |
|
---|
| 5 | CFA = $(CFABUILD)/driver/cfa
|
---|
| 6 | PERFFLAGS_CFA = -nodebug -O2
|
---|
| 7 | PERFFLAGS_CXX = -DNDEBUG -O2
|
---|
| 8 |
|
---|
| 9 |
|
---|
| 10 | PERFPROGS = \
|
---|
| 11 | perfexp-cfa-hl-pta-share \
|
---|
| 12 | perfexp-cfa-hl-peq-share \
|
---|
| 13 | perfexp-cfa-ll-pta-share \
|
---|
| 14 | perfexp-cfa-ll-peq-share \
|
---|
[4d0eb1c] | 15 | perfexp-cfa-hl-pta-noshare \
|
---|
[01db301] | 16 | perfexp-cfa-hl-peq-noshare \
|
---|
| 17 | perfexp-cfa-ll-pta-noshare \
|
---|
| 18 | perfexp-cfa-ll-peq-noshare \
|
---|
| 19 | perfexp-stl-pta \
|
---|
| 20 | perfexp-stl-peq \
|
---|
| 21 | perfexp-buhr94-pta \
|
---|
| 22 | perfexp-buhr94-peq
|
---|
| 23 |
|
---|
| 24 | all : $(PERFPROGS)
|
---|
| 25 |
|
---|
[97d58dc] | 26 | # upper-case conversion function
|
---|
| 27 | define uc
|
---|
| 28 | $(shell echo $(1) | tr '[:lower:]' '[:upper:]')
|
---|
| 29 | endef
|
---|
[01db301] | 30 |
|
---|
[97d58dc] | 31 | perfexp-cfa-%: APILEVEL=$(call uc,$(word 3,$(subst -, ,$@)))
|
---|
| 32 | perfexp-cfa-%: OPERATION=$(call uc,$(word 4,$(subst -, ,$@)))
|
---|
| 33 | perfexp-cfa-%: SHARING=$(call uc,$(word 5,$(subst -, ,$@)))
|
---|
| 34 | perfexp-cfa-%: prog.cfa $(LIBCFA)
|
---|
| 35 | $(CFA) $(PERFFLAGS_CFA) $< -o $@ -DIMPL_CFA_$(APILEVEL)_$(SHARING) -DOP_$(OPERATION)
|
---|
[01db301] | 36 |
|
---|
[97d58dc] | 37 | perfexp-stl-%: OPERATION=$(call uc,$(word 3,$(subst -, ,$@)))
|
---|
| 38 | perfexp-stl-%: prog.cfa
|
---|
| 39 | $(CXX) -xc++ $(PERFFLAGS_CXX) $< -o $@ -DIMPL_STL -DOP_$(OPERATION)
|
---|
[01db301] | 40 |
|
---|
[97d58dc] | 41 | perfexp-buhr94-%.o: OPERATION=$(call uc,$(word 3,$(subst -, ,$(basename $@))))
|
---|
| 42 | perfexp-buhr94-%.o: prog.cfa
|
---|
| 43 | $(CXX) -xc++ -c $(PERFFLAGS_CXX) $< -o $@ -DIMPL_BUHR94 -DOP_$(OPERATION)
|
---|
[01db301] | 44 |
|
---|
| 45 | buhr94-string.o:
|
---|
| 46 | $(CXX) -xc++ -c $(PERFFLAGS_CXX) ~/usys1/sm/string/StringSharing/src/string.cc -o $@
|
---|
| 47 |
|
---|
| 48 | buhr94-VbyteSM.o:
|
---|
| 49 | $(CXX) -xc++ -c $(PERFFLAGS_CXX) ~/usys1/sm/string/StringSharing/src/VbyteSM.cc -o $@
|
---|
| 50 |
|
---|
[97d58dc] | 51 | perfexp-buhr94-% : perfexp-buhr94-%.o buhr94-string.o buhr94-VbyteSM.o
|
---|
[01db301] | 52 | $(CXX) $(PERFFLAGS_CXX) $^ -o $@
|
---|
| 53 |
|
---|
| 54 | clean:
|
---|
| 55 | rm -f *.o perfexp*
|
---|
| 56 |
|
---|
| 57 | MEASURE = $(PERFPROGS)
|
---|
[4d0eb1c] | 58 | CORPORI = corpus-100-*-1.txt
|
---|
[01db301] | 59 |
|
---|
[4d0eb1c] | 60 | measurement: $(MEASURE)
|
---|
[01db301] | 61 | tofile=measurement-`date '+%F--%H-%M-%S'`.csv ; \
|
---|
| 62 | echo $$tofile ; \
|
---|
| 63 | for prog in $(MEASURE) ; do \
|
---|
| 64 | for corpus in $(CORPORI) ; do \
|
---|
| 65 | corpusbody=`cat $$corpus` ; \
|
---|
[4d0eb1c] | 66 | printed=`./$$prog 100 10 $$corpusbody` ; \
|
---|
[01db301] | 67 | echo $$prog,$$corpus,$$printed >> $$tofile ; \
|
---|
| 68 | done ; \
|
---|
| 69 | done ; \
|
---|
| 70 | cat $$tofile
|
---|