Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • benchmark/Makefile.am

    r5e49e47 rd9f2874  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    1920# applies to both programs
    2021include $(top_srcdir)/src/cfa.make
    2122
    22 UPPCC = u++
    23 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
    24 
    25 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread
    26 AM_CFAFLAGS = -quiet -in-tree -nodebug
    27 AM_UPPFLAGS = -quiet -nodebug -multi
     23AM_CFLAGS = -O2 -Wall -Wextra -Werror -I$(srcdir) -lrt -pthread
     24AM_CFAFLAGS = -quiet -nodebug -in-tree
     25AM_UPPFLAGS = -quiet -nodebug -multi -std=c++14
     26
     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
    2849
    2950TOOLSDIR = ${abs_top_builddir}/tools/
     
    3556PRINT_FORMAT = %20s: #Comments needed for spacing
    3657
     58# Dummy hack tricks
    3759EXTRA_PROGRAMS = dummy # build but do not install
    38 
    3960dummy_SOURCES = dummyC.c dummyCXX.cpp
    4061
     
    4667
    4768.NOTPARALLEL:
    48 
    49 noinst_PROGRAMS =
    50 
     69.PHONY: compile.csv ctxswitch.csv mutex.csv signal.csv
     70
     71## =========================================================================================================
    5172all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
    5273
     
    5879        @${STATS} .result.log
    5980        @echo "------------------------------------------------------"
    60         @rm -f a.out .result.log
     81        @rm -f a.out .result.log *.class
    6182
    6283%.runquiet :
    63         @+make $(basename $@) CFLAGS="-w"
     84        @+make $(basename $@) CFLAGS="-w" __quiet=quiet
    6485        @taskset -c 1 ./a.out
    6586        @rm -f a.out
     
    7495## =========================================================================================================
    7596
     97FIX_NEW_LINES = cat $@ | tr "\n" "\t" | sed -r 's/\t,/,/' | tr "\t" "\n" > $@
     98
    7699jenkins$(EXEEXT):
    77         @echo "{"
    78         @echo -e '\t"githash": "'${githash}'",'
    79         @echo -e '\t"arch": "'   ${arch}   '",'
    80100@DOifskipcompile@
    81         @echo -e '\t"compile": {'
    82         @+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :'
    83         @echo -e '\t\t"dummy" : {}'
    84         @echo -e '\t},'
     101        @+make compile.csv
    85102@DOendif@
    86         @echo -e '\t"ctxswitch": {'
    87         @echo -en '\t\t"coroutine":'
    88         @+make ctxswitch-cfa_coroutine.runquiet
    89         @echo -en '\t\t,"thread":'
    90         @+make ctxswitch-cfa_thread.runquiet
    91         @echo -e '\t},'
    92         @echo -e '\t"mutex": ['
    93         @echo -en '\t\t'
    94         @+make mutex-cfa1.runquiet
    95         @echo -en '\t\t,'
    96         @+make mutex-cfa2.runquiet
    97         @echo -e '\t],'
    98         @echo -e '\t"scheduling": ['
    99         @echo -en '\t\t'
    100         @+make signal-cfa1.runquiet
    101         @echo -en '\t\t,'
    102         @+make signal-cfa2.runquiet
    103         @echo -en '\t\t,'
    104         @+make waitfor-cfa1.runquiet
    105         @echo -en '\t\t,'
    106         @+make waitfor-cfa2.runquiet
    107         @echo -e '\n\t],'
    108         @echo -e '\t"epoch": ' $(shell date +%s)
    109         @echo "}"
     103        @+make ctxswitch.csv
     104        @+make mutex.csv
     105        @+make signal.csv
     106@DOifskipcompile@
     107        @cat compile.csv
     108@DOendif@
     109        @cat ctxswitch.csv
     110        @cat mutex.csv
     111        @cat signal.csv
     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 $@
    110144
    111145## =========================================================================================================
    112146loop$(EXEEXT):
    113         $(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c
     147        $(BENCH_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c
    114148
    115149function$(EXEEXT):
    116         $(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c
     150        $(BENCH_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c
    117151
    118152fetch_add$(EXEEXT):
    119         $(COMPILE) -DBENCH_N=500000000  $(srcdir)/fetch_add.c
     153        $(BENCH_V_CC)$(COMPILE) -DBENCH_N=500000000  $(srcdir)/fetch_add.c
     154
     155tls-fetch_add$(EXEEXT):
     156        $(BENCH_V_CC)$(COMPILE) -DBENCH_N=500000000  $(srcdir)/tls-fetch_add.c
    120157
    121158## =========================================================================================================
     
    124161        function.run                    \
    125162        fetch_add.run                   \
     163        tls-fetch_add.run                       \
    126164        ctxswitch-pthread.run           \
    127165        ctxswitch-cfa_coroutine.run     \
     
    140178
    141179ctxswitch-kos_fibre$(EXEEXT):
    142         @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
     180        $(BENCH_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
    143181
    144182ctxswitch-kos_fibre2$(EXEEXT):
    145         @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
     183        $(BENCH_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
    146184endif
    147185
     
    149187
    150188ctxswitch-pthread$(EXEEXT):
    151         @$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
     189        $(BENCH_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
    152190
    153191ctxswitch-cfa_coroutine$(EXEEXT):
    154         @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.cfa
     192        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.cfa
    155193
    156194ctxswitch-cfa_thread$(EXEEXT):
    157         @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.cfa
     195        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.cfa
    158196
    159197ctxswitch-cfa_thread2$(EXEEXT):
    160         @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.cfa
     198        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.cfa
    161199
    162200ctxswitch-upp_coroutine$(EXEEXT):
    163         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
     201        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
    164202
    165203ctxswitch-upp_thread$(EXEEXT):
    166         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
     204        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
    167205
    168206ctxswitch-goroutine$(EXEEXT):
    169         @go build -o a.out $(srcdir)/ctxswitch/goroutine.go
     207        $(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
    170208
    171209ctxswitch-java_thread$(EXEEXT):
    172         @javac -d . $(srcdir)/ctxswitch/JavaThread.java
     210        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
    173211        @echo "#!/bin/sh" > a.out
    174212        @echo "java JavaThread" >> a.out
     
    188226
    189227mutex-pthread_lock$(EXEEXT):
    190         @$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
     228        $(BENCH_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
    191229
    192230mutex-upp$(EXEEXT):
    193         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
     231        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
    194232
    195233mutex-cfa1$(EXEEXT):
    196         @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.cfa
     234        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.cfa
    197235
    198236mutex-cfa2$(EXEEXT):
    199         @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.cfa
     237        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.cfa
    200238
    201239mutex-cfa4$(EXEEXT):
    202         @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.cfa
     240        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.cfa
    203241
    204242mutex-java_thread$(EXEEXT):
    205         @javac -d . $(srcdir)/mutex/JavaThread.java
     243        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java
    206244        @echo "#!/bin/sh" > a.out
    207245        @echo "java JavaThread" >> a.out
     
    218256
    219257signal-pthread_cond$(EXEEXT):
    220         @$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
     258        $(BENCH_V_CC)$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
    221259
    222260signal-upp$(EXEEXT):
    223         @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
     261        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
    224262
    225263signal-cfa1$(EXEEXT):
    226         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.cfa
     264        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.cfa
    227265
    228266signal-cfa2$(EXEEXT):
    229         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.cfa
     267        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.cfa
    230268
    231269signal-cfa4$(EXEEXT):
    232         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.cfa
     270        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.cfa
    233271
    234272signal-java_thread$(EXEEXT):
    235         @javac -d . $(srcdir)/schedint/JavaThread.java
     273        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java
    236274        @echo "#!/bin/sh" > a.out
    237275        @echo "java JavaThread" >> a.out
     
    247285
    248286waitfor-upp$(EXEEXT):
    249         @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
     287        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
    250288
    251289waitfor-cfa1$(EXEEXT):
    252         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.cfa
     290        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.cfa
    253291
    254292waitfor-cfa2$(EXEEXT):
    255         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.cfa
     293        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.cfa
    256294
    257295waitfor-cfa4$(EXEEXT):
    258         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.cfa
     296        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.cfa
    259297
    260298## =========================================================================================================
     
    270308
    271309creation-cfa_coroutine$(EXEEXT):
    272         @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa
     310        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa
    273311
    274312creation-cfa_coroutine_eager$(EXEEXT):
    275         @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa -DEAGER
     313        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.cfa -DEAGER
    276314
    277315creation-cfa_thread$(EXEEXT):
    278         @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.cfa
     316        $(BENCH_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.cfa
    279317
    280318creation-upp_coroutine$(EXEEXT):
    281         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
     319        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
    282320
    283321creation-upp_thread$(EXEEXT):
    284         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
     322        $(BENCH_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
    285323
    286324creation-pthread$(EXEEXT):
    287         @$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
     325        $(BENCH_V_CC)$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
    288326
    289327creation-goroutine$(EXEEXT):
    290         @go build -o a.out $(srcdir)/creation/goroutine.go
     328        $(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
    291329
    292330creation-java_thread$(EXEEXT):
    293         @javac -d . $(srcdir)/creation/JavaThread.java
     331        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
    294332        @echo "#!/bin/sh" > a.out
    295333        @echo "java JavaThread" >> a.out
Note: See TracChangeset for help on using the changeset viewer.