source: benchmark/Makefile.am @ 7e89526

ADTarm-ehast-experimentalcleanup-dtorsenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since 7e89526 was d9f2874, checked in by Thierry Delisle <tdelisle@…>, 6 years ago

Make jenkins now prints the csv after running

  • Property mode set to 100644
File size: 11.5 KB
RevLine 
[ac93b228]1######################## -*- Mode: Makefile-Automake -*- ######################
2##
3## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
4##
5## The contents of this file are covered under the licence agreement in the
6## file "LICENCE" distributed with Cforall.
7##
8## Makefile.am --
9##
10## Author           : Peter A. Buhr
11## Created On       : Sun May 31 09:08:15 2015
12## Last Modified By : Peter A. Buhr
[dc8511c]13## Last Modified On : Tue Nov  6 09:01:23 2018
14## Update Count     : 26
[ac93b228]15###############################################################################
16
[0c1b566]17AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
[107b01a]18ACLOCAL_AMFLAGS  = -I automake
[0c1b566]19
[ac93b228]20# applies to both programs
[7a7ab42]21include $(top_srcdir)/src/cfa.make
22
[5a8037a7]23AM_CFLAGS = -O2 -Wall -Wextra -Werror -I$(srcdir) -lrt -pthread
24AM_CFAFLAGS = -quiet -nodebug -in-tree
25AM_UPPFLAGS = -quiet -nodebug -multi -std=c++14
[7a7ab42]26
[528ccc8]27BENCH_V_CC = $(__bench_v_CC_$(__quiet))
28BENCH_V_CFA = $(__bench_v_CFA_$(__quiet))
29BENCH_V_CXX = $(__bench_v_CXX_$(__quiet))
30BENCH_V_GOC = $(__bench_v_GOC_$(__quiet))
31BENCH_V_JAVAC = $(__bench_v_JAVAC_$(__quiet))
32BENCH_V_UPP = $(__bench_v_UPP_$(__quiet))
33
34__quiet = verbose
35__bench_v_CC_quiet = @
36__bench_v_CFA_quiet = @
37__bench_v_CXX_quiet = @
38__bench_v_GOC_quiet = @
39__bench_v_JAVAC_quiet = @
40__bench_v_UPP_quiet = @
41__bench_v_CC_verbose = $(AM_V_CC)
42__bench_v_CFA_verbose = $(AM_V_CFA)
43__bench_v_CXX_verbose = $(AM_V_CXX)
44__bench_v_GOC_verbose = $(AM_V_GOC)
45__bench_v_JAVAC_verbose = $(AM_V_JAVAC)
46__bench_v_UPP_verbose = $(AM_V_UPP)
47
48
49
[5e49e47]50TOOLSDIR = ${abs_top_builddir}/tools/
51REPEAT   = ${abs_top_builddir}/tools/repeat
52STATS    = ${abs_top_srcdir}/tools/stat.py
[b7170a64]53repeats  = 30
[05f4b85]54skipcompile = no
[a5b7905]55TIME_FORMAT = "%E"
[2086ab2]56PRINT_FORMAT = %20s: #Comments needed for spacing
[034165a]57
[d0c91a6]58# Dummy hack tricks
[5e49e47]59EXTRA_PROGRAMS = dummy # build but do not install
60dummy_SOURCES = dummyC.c dummyCXX.cpp
61
62dummyC.c:
63        @echo "int main() { return 0; }" > ${@}
64
65dummyCXX.cpp:
66        @echo "int main() { return 0; }" > ${@}
67
[034165a]68.NOTPARALLEL:
[f15fe0a]69.PHONY: compile.csv ctxswitch.csv mutex.csv signal.csv
[ac93b228]70
[43fa66e]71## =========================================================================================================
[4cedd9f]72all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
73
[a5b7905]74%.run : %$(EXEEXT) ${REPEAT}
75        @rm -f .result.log
76        @echo "------------------------------------------------------"
77        @echo $<
78        @${REPEAT} ${repeats} ./a.out | tee -a .result.log
79        @${STATS} .result.log
80        @echo "------------------------------------------------------"
[88e139e]81        @rm -f a.out .result.log *.class
[ac93b228]82
[a5b7905]83%.runquiet :
[528ccc8]84        @+make $(basename $@) CFLAGS="-w" __quiet=quiet
[05f4b85]85        @taskset -c 1 ./a.out
[a5b7905]86        @rm -f a.out
87
88%.make :
89        @printf "${PRINT_FORMAT}" $(basename $(subst compile-,,$@))
90        @+/usr/bin/time -f ${TIME_FORMAT} make $(basename $@) 2>&1
91
92${REPEAT} :
[5e49e47]93        @+make -C ${abs_top_builddir}/tools repeat
[a5b7905]94
95## =========================================================================================================
96
[f15fe0a]97FIX_NEW_LINES = cat $@ | tr "\n" "\t" | sed -r 's/\t,/,/' | tr "\t" "\n" > $@
98
[a5b7905]99jenkins$(EXEEXT):
[05f4b85]100@DOifskipcompile@
[f15fe0a]101        @+make compile.csv
[05f4b85]102@DOendif@
[f15fe0a]103        @+make ctxswitch.csv
104        @+make mutex.csv
105        @+make signal.csv
[d9f2874]106@DOifskipcompile@
107        @cat compile.csv
108@DOendif@
109        @cat ctxswitch.csv
110        @cat mutex.csv
111        @cat signal.csv
[f15fe0a]112
113compile.csv:
114        @echo "array,attributes,empty,expression,io,monitor,operators,typeof" > $@
115        @+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-array.make >> $@
116        @+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-attributes.make >> $@
117        @+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-empty.make >> $@
118        @+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-expression.make >> $@
119        @+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-io.make >> $@
120        @+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-monitor.make >> $@
121        @+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-operators.make >> $@
122        @+make TIME_FORMAT='%e' PRINT_FORMAT='' compile-typeof.make >> $@
123        @$(srcdir)/fixcsv.sh $@
124
125ctxswitch.csv:
126        @echo "coroutine,thread" > $@
127        @+make ctxswitch-cfa_coroutine.runquiet >> $@ && echo -n ',' >> $@
128        @+make ctxswitch-cfa_thread.runquiet >> $@
129        @$(srcdir)/fixcsv.sh $@
130
131mutex.csv:
132        @echo "1-monitor,2-monitor" > $@
133        @+make mutex-cfa1.runquiet >> $@ && echo -n ',' >> $@
134        @+make mutex-cfa2.runquiet >> $@
135        @$(srcdir)/fixcsv.sh $@
136
137signal.csv:
138        @echo "signal-1,signal-2,waitfor-1,waitfor-2" > $@
139        @+make signal-cfa1.runquiet >> $@ && echo -n ',' >> $@
140        @+make signal-cfa2.runquiet >> $@ && echo -n ',' >> $@
141        @+make waitfor-cfa1.runquiet >> $@ && echo -n ',' >> $@
142        @+make waitfor-cfa2.runquiet >> $@
143        @$(srcdir)/fixcsv.sh $@
[ac93b228]144
[d885a58]145## =========================================================================================================
146loop$(EXEEXT):
[528ccc8]147        $(BENCH_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c
[d885a58]148
149function$(EXEEXT):
[528ccc8]150        $(BENCH_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c
[d885a58]151
152fetch_add$(EXEEXT):
[528ccc8]153        $(BENCH_V_CC)$(COMPILE) -DBENCH_N=500000000  $(srcdir)/fetch_add.c
[d885a58]154
[7a8f5246]155tls-fetch_add$(EXEEXT):
156        $(BENCH_V_CC)$(COMPILE) -DBENCH_N=500000000  $(srcdir)/tls-fetch_add.c
157
[034165a]158## =========================================================================================================
[41cca44]159CTXSWITCH_DEPEND  =                 \
[d885a58]160        loop.run                                \
161        function.run                    \
162        fetch_add.run                   \
[7a8f5246]163        tls-fetch_add.run                       \
[b7170a64]164        ctxswitch-pthread.run           \
165        ctxswitch-cfa_coroutine.run     \
166        ctxswitch-cfa_thread.run        \
[6810fcb]167        ctxswitch-cfa_thread2.run       \
[b7170a64]168        ctxswitch-upp_coroutine.run     \
[50abab9]169        ctxswitch-upp_thread.run        \
170        ctxswitch-goroutine.run         \
171        ctxswitch-java_thread.run
[034165a]172
[41cca44]173if WITH_LIBFIBRE
174CTXSWITCH_DEPEND  +=           \
175        ctxswitch-kos_fibre.run  \
176        ctxswitch-kos_fibre2.run
177
178
179ctxswitch-kos_fibre$(EXEEXT):
[528ccc8]180        $(BENCH_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
[41cca44]181
182ctxswitch-kos_fibre2$(EXEEXT):
[528ccc8]183        $(BENCH_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
[41cca44]184endif
185
186ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND)
187
[6810fcb]188ctxswitch-pthread$(EXEEXT):
[528ccc8]189        $(BENCH_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
[6810fcb]190
[034165a]191ctxswitch-cfa_coroutine$(EXEEXT):
[528ccc8]192        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.cfa
[034165a]193
194ctxswitch-cfa_thread$(EXEEXT):
[528ccc8]195        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.cfa
[6810fcb]196
197ctxswitch-cfa_thread2$(EXEEXT):
[528ccc8]198        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.cfa
[034165a]199
200ctxswitch-upp_coroutine$(EXEEXT):
[528ccc8]201        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
[034165a]202
203ctxswitch-upp_thread$(EXEEXT):
[528ccc8]204        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
[ac93b228]205
[50abab9]206ctxswitch-goroutine$(EXEEXT):
[528ccc8]207        $(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
[50abab9]208
209ctxswitch-java_thread$(EXEEXT):
[528ccc8]210        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
[50abab9]211        @echo "#!/bin/sh" > a.out
[5e49e47]212        @echo "java JavaThread" >> a.out
[50abab9]213        @chmod a+x a.out
214
[f54a0ab]215## =========================================================================================================
216mutex$(EXEEXT) :\
[d885a58]217        loop.run                        \
218        function.run            \
219        fetch_add.run           \
[f54a0ab]220        mutex-pthread_lock.run  \
221        mutex-upp.run           \
222        mutex-cfa1.run          \
223        mutex-cfa2.run          \
[6aa537a4]224        mutex-cfa4.run          \
225        mutex-java_thread.run
[f54a0ab]226
227mutex-pthread_lock$(EXEEXT):
[528ccc8]228        $(BENCH_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
[f54a0ab]229
230mutex-upp$(EXEEXT):
[528ccc8]231        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
[f54a0ab]232
233mutex-cfa1$(EXEEXT):
[528ccc8]234        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.cfa
[f54a0ab]235
236mutex-cfa2$(EXEEXT):
[528ccc8]237        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.cfa
[f54a0ab]238
239mutex-cfa4$(EXEEXT):
[528ccc8]240        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.cfa
[034165a]241
[6aa537a4]242mutex-java_thread$(EXEEXT):
[528ccc8]243        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java
[6aa537a4]244        @echo "#!/bin/sh" > a.out
[5e49e47]245        @echo "java JavaThread" >> a.out
[6aa537a4]246        @chmod a+x a.out
247
[9f0b975]248## =========================================================================================================
249signal$(EXEEXT) :\
[3eb4541]250        signal-pthread_cond.run \
[9f0b975]251        signal-upp.run          \
252        signal-cfa1.run         \
253        signal-cfa2.run         \
[56de6b39]254        signal-cfa4.run         \
255        signal-java_thread.run
[9f0b975]256
[3eb4541]257signal-pthread_cond$(EXEEXT):
[528ccc8]258        $(BENCH_V_CC)$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
[3eb4541]259
[9f0b975]260signal-upp$(EXEEXT):
[528ccc8]261        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
[9f0b975]262
263signal-cfa1$(EXEEXT):
[528ccc8]264        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.cfa
[9f0b975]265
266signal-cfa2$(EXEEXT):
[528ccc8]267        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.cfa
[9f0b975]268
269signal-cfa4$(EXEEXT):
[528ccc8]270        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.cfa
[9f0b975]271
[6aa537a4]272signal-java_thread$(EXEEXT):
[528ccc8]273        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java
[6aa537a4]274        @echo "#!/bin/sh" > a.out
[5e49e47]275        @echo "java JavaThread" >> a.out
[6aa537a4]276        @chmod a+x a.out
277
278
[9f0b975]279## =========================================================================================================
280waitfor$(EXEEXT) :\
281        waitfor-upp.run         \
282        waitfor-cfa1.run                \
283        waitfor-cfa2.run                \
284        waitfor-cfa4.run
285
286waitfor-upp$(EXEEXT):
[528ccc8]287        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
[9f0b975]288
289waitfor-cfa1$(EXEEXT):
[528ccc8]290        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.cfa
[9f0b975]291
292waitfor-cfa2$(EXEEXT):
[528ccc8]293        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.cfa
[9f0b975]294
295waitfor-cfa4$(EXEEXT):
[528ccc8]296        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.cfa
[9f0b975]297
[4cedd9f]298## =========================================================================================================
299creation$(EXEEXT) :\
[3351cc0]300        creation-pthread.run                    \
301        creation-cfa_coroutine.run              \
302        creation-cfa_coroutine_eager.run        \
303        creation-cfa_thread.run                 \
304        creation-upp_coroutine.run              \
[50abab9]305        creation-upp_thread.run                 \
306        creation-goroutine.run                  \
307        creation-java_thread.run
[4cedd9f]308
309creation-cfa_coroutine$(EXEEXT):
[528ccc8]310        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa
[4cedd9f]311
[3351cc0]312creation-cfa_coroutine_eager$(EXEEXT):
[528ccc8]313        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa  -DEAGER
[3351cc0]314
[4cedd9f]315creation-cfa_thread$(EXEEXT):
[528ccc8]316        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.cfa
[4cedd9f]317
318creation-upp_coroutine$(EXEEXT):
[528ccc8]319        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
[4cedd9f]320
321creation-upp_thread$(EXEEXT):
[528ccc8]322        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
[4cedd9f]323
324creation-pthread$(EXEEXT):
[528ccc8]325        $(BENCH_V_CC)$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
[4cedd9f]326
[50abab9]327creation-goroutine$(EXEEXT):
[528ccc8]328        $(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
[50abab9]329
330creation-java_thread$(EXEEXT):
[528ccc8]331        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
[50abab9]332        @echo "#!/bin/sh" > a.out
[5e49e47]333        @echo "java JavaThread" >> a.out
[50abab9]334        @chmod a+x a.out
335
[034165a]336## =========================================================================================================
337
[3edc2df]338compile$(EXEEXT) :\
[a5b7905]339        compile-array.make      \
340        compile-attributes.make \
341        compile-empty.make      \
342        compile-expression.make \
343        compile-io.make         \
344        compile-monitor.make    \
345        compile-operators.make  \
346        compile-typeof.make
[3edc2df]347
348
[524ed86]349testdir = $(top_srcdir)/tests
[d3db83c]350
[3edc2df]351compile-array$(EXEEXT):
[528ccc8]352        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.cfa
[3edc2df]353
354compile-attributes$(EXEEXT):
[528ccc8]355        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa
[3edc2df]356
357compile-empty$(EXEEXT):
[528ccc8]358        @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.cfa
[3edc2df]359
360compile-expression$(EXEEXT):
[528ccc8]361        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.cfa
[3edc2df]362
363compile-io$(EXEEXT):
[528ccc8]364        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.cfa
[3edc2df]365
366compile-monitor$(EXEEXT):
[528ccc8]367        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.cfa
[3edc2df]368
369compile-operators$(EXEEXT):
[528ccc8]370        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.cfa
[3edc2df]371
372compile-thread$(EXEEXT):
[528ccc8]373        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.cfa
[3edc2df]374
375compile-typeof$(EXEEXT):
[528ccc8]376        @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.cfa
[3edc2df]377
Note: See TracBrowser for help on using the repository browser.