Changeset c12869e


Ignore:
Timestamp:
Jan 20, 2020, 12:46:37 PM (5 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
26fd986, 5ee7d36
Parents:
f090750
Message:

update benchmarks for concurrency paper

Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • benchmark/Makefile.am

    rf090750 rc12869e  
    1111## Created On       : Sun May 31 09:08:15 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Sun Jan 19 12:55:02 2020
    14 ## Update Count     : 232
     13## Last Modified On : Mon Jan 20 11:50:13 2020
     14## Update Count     : 244
    1515###############################################################################
    1616
     
    5656STATS    = ${abs_top_srcdir}/tools/stat.py
    5757# NEED AT LEAST 4 DATA VALUES FOR BENCHMARKS BECAUSE THE MAX AND MIN VALUES ARE REMOVED
    58 repeats  = 5 # 31 for benchmarks
     58repeats  = 13 # 31 for benchmarks
    5959arch     = x64
    6060skipcompile = no
     
    114114        echo "------------------------------------------------------"
    115115        echo $<
    116         ${REPEAT} ${repeats} -- /usr/bin/time -f "%Uu %Ss %Er %Mkb" ./a.out\
     116        ${REPEAT} ${repeats} -- ./a.out\
    117117                $(if ${$(subst -,_,$(basename $@))_DURATION},\
    118118                        ${$(subst -,_,$(basename $@))_DURATION},\
     
    121121        echo "------------------------------------------------------"
    122122        rm -f a.out .result.log *.class
     123
     124#       ${REPEAT} ${repeats} -- /usr/bin/time -f "%Uu %Ss %Er %Mkb" ./a.out
    123125
    124126%.runquiet :
     
    237239
    238240CTXSWITCH_DEPEND  =                     \
    239         ctxswitch-pthread.run           \
    240241        ctxswitch-cfa_generator.run     \
    241242        ctxswitch-cfa_coroutine.run     \
     
    244245        ctxswitch-upp_coroutine.run     \
    245246        ctxswitch-upp_thread.run        \
    246         ctxswitch-goroutine.run         \
     247        ctxswitch-python_coroutine.run  \
     248        ctxswitch-nodejs_coroutine.run  \
     249        ctxswitch-goroutine_thread.run  \
    247250        ctxswitch-rust_thread.run       \
    248251        ctxswitch-nodejs_coroutine.run  \
    249         ctxswitch-java_thread.run
     252        ctxswitch-java_thread.run       \
     253        ctxswitch-pthread.run
    250254
    251255if WITH_LIBFIBRE
     
    263267ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND)
    264268
     269ctxswitch-cfa_generator$(EXEEXT):
     270        $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_gen.cfa
     271
     272ctxswitch-cfa_coroutine$(EXEEXT):
     273        $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_cor.cfa
     274
     275ctxswitch-cfa_thread$(EXEEXT):
     276        $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd.cfa
     277
     278ctxswitch-cfa_thread2$(EXEEXT):
     279        $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd2.cfa
     280
     281ctxswitch-upp_coroutine$(EXEEXT):
     282        $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_cor.cc
     283
     284ctxswitch-upp_thread$(EXEEXT):
     285        $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_thrd.cc
     286
     287ctxswitch-python_coroutine$(EXEEXT):
     288        echo "#!/bin/sh" > a.out
     289        echo "python3.7 $(srcdir)/ctxswitch/python_cor.py" >> a.out
     290        chmod a+x a.out
     291
     292ctxswitch-nodejs_coroutine$(EXEEXT):
     293        echo "#!/bin/sh" > a.out
     294        echo "nodejs $(srcdir)/ctxswitch/node_cor.js" >> a.out
     295        chmod a+x a.out
     296
     297ctxswitch-goroutine_thread$(EXEEXT):
     298        $(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
     299
     300ctxswitch-rust_thread$(EXEEXT):
     301        $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/ctxswitch/rust_thrd.rs
     302
     303ctxswitch-java_thread$(EXEEXT):
     304        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
     305        echo "#!/bin/sh" > a.out
     306        echo "java JavaThread" >> a.out
     307        chmod a+x a.out
     308
    265309ctxswitch-pthread$(EXEEXT):
    266310        $(BENCH_V_CC)$(COMPILE) $(srcdir)/ctxswitch/pthreads.c
    267311
    268 ctxswitch-cfa_generator$(EXEEXT):
    269         $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_gen.cfa
    270 
    271 ctxswitch-cfa_coroutine$(EXEEXT):
    272         $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_cor.cfa
    273 
    274 ctxswitch-cfa_thread$(EXEEXT):
    275         $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd.cfa
    276 
    277 ctxswitch-cfa_thread2$(EXEEXT):
    278         $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd2.cfa
    279 
    280 ctxswitch-upp_coroutine$(EXEEXT):
    281         $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_cor.cc
    282 
    283 ctxswitch-upp_thread$(EXEEXT):
    284         $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_thrd.cc
    285 
    286 ctxswitch-goroutine$(EXEEXT):
    287         $(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
    288 
    289 ctxswitch-rust_thread$(EXEEXT):
    290         $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/ctxswitch/rust_thrd.rs
    291 
    292 ctxswitch-nodejs_coroutine$(EXEEXT):
    293         echo "#!/bin/sh" > a.out
    294         echo "nodejs $(srcdir)/ctxswitch/node_cor.js" >> a.out
    295         chmod a+x a.out
    296 
    297 ctxswitch-java_thread$(EXEEXT):
    298         $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
    299         echo "#!/bin/sh" > a.out
    300         echo "java JavaThread" >> a.out
    301         chmod a+x a.out
    302 
    303312## =========================================================================================================
    304313
    305314mutex$(EXEEXT) :                \
    306         mutex-pthread.run       \
    307315        mutex-cfa1.run          \
    308316        mutex-cfa2.run          \
     
    311319        mutex-go.run            \
    312320        mutex-rust.run          \
    313         mutex-java.run
     321        mutex-java.run          \
     322        mutex-pthread.run
    314323
    315324mutex-pthread$(EXEEXT):
     
    343352
    344353signal$(EXEEXT) :               \
    345         signal-pthread.run      \
    346         signal-upp.run          \
    347354        signal-cfa1.run         \
    348355        signal-cfa2.run         \
    349356        signal-cfa4.run         \
     357        signal-upp.run          \
    350358        signal-rust.run         \
    351         signal-java.run
     359        signal-java.run         \
     360        signal-pthread.run
    352361
    353362signal-pthread$(EXEEXT):
     
    378387
    379388waitfor$(EXEEXT) :              \
    380         waitfor-upp.run         \
    381389        waitfor-cfa1.run        \
    382390        waitfor-cfa2.run        \
    383         waitfor-cfa4.run
     391        waitfor-cfa4.run        \
     392        waitfor-upp.run
    384393
    385394waitfor-upp$(EXEEXT):
     
    398407
    399408creation$(EXEEXT) :                             \
    400         creation-pthread.run                    \
    401409        creation-cfa_coroutine.run              \
    402410        creation-cfa_coroutine_eager.run        \
     
    404412        creation-upp_coroutine.run              \
    405413        creation-upp_thread.run                 \
    406         creation-goroutine.run                  \
    407         creation-rust.run                       \
     414        creation-python_coroutine.run           \
    408415        creation-nodejs_coroutine.run           \
    409         creation-java.run
     416        creation-goroutine_thread.run           \
     417        creation-rust_thread.run                \
     418        creation-java_thread.run                \
     419        creation-pthread.run
    410420
    411421creation-cfa_coroutine$(EXEEXT):
     
    424434        $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/creation/upp_thrd.cc
    425435
     436creation-python_coroutine$(EXEEXT):
     437        echo "#!/bin/sh" > a.out
     438        echo "python3.7 $(srcdir)/creation/python_cor.py" >> a.out
     439        chmod a+x a.out
     440
     441creation-nodejs_coroutine$(EXEEXT):
     442        echo "#!/bin/sh" > a.out
     443        echo "nodejs $(srcdir)/creation/node_cor.js" >> a.out
     444        chmod a+x a.out
     445
     446creation-goroutine_thread$(EXEEXT):
     447        $(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
     448
     449creation-rust_thread$(EXEEXT):
     450        $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
     451
     452creation-java$(EXEEXT):
     453        $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
     454        echo "#!/bin/sh" > a.out
     455        echo "java JavaThread" >> a.out
     456        chmod a+x a.out
     457
    426458creation-pthread$(EXEEXT):
    427459        $(BENCH_V_CC)$(COMPILE) $(srcdir)/creation/pthreads.c
    428 
    429 creation-goroutine$(EXEEXT):
    430         $(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
    431 
    432 creation-rust$(EXEEXT):
    433         $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
    434 
    435 creation-nodejs_coroutine$(EXEEXT):
    436         echo "#!/bin/sh" > a.out
    437         echo "nodejs $(srcdir)/creation/node_cor.js" >> a.out
    438         chmod a+x a.out
    439 
    440 creation-java$(EXEEXT):
    441         $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
    442         echo "#!/bin/sh" > a.out
    443         echo "java JavaThread" >> a.out
    444         chmod a+x a.out
    445460
    446461## =========================================================================================================
  • benchmark/Makefile.in

    rf090750 rc12869e  
    413413STATS = ${abs_top_srcdir}/tools/stat.py
    414414# NEED AT LEAST 4 DATA VALUES FOR BENCHMARKS BECAUSE THE MAX AND MIN VALUES ARE REMOVED
    415 repeats = 5 # 31 for benchmarks
     415repeats = 13 # 31 for benchmarks
    416416arch = x64
    417417skipcompile = no
     
    450450        basic-tls-fetch_add.run
    451451
    452 CTXSWITCH_DEPEND = ctxswitch-pthread.run ctxswitch-cfa_generator.run \
     452CTXSWITCH_DEPEND = ctxswitch-cfa_generator.run \
    453453        ctxswitch-cfa_coroutine.run ctxswitch-cfa_thread.run \
    454454        ctxswitch-cfa_thread2.run ctxswitch-upp_coroutine.run \
    455         ctxswitch-upp_thread.run ctxswitch-goroutine.run \
     455        ctxswitch-upp_thread.run ctxswitch-python_coroutine.run \
     456        ctxswitch-nodejs_coroutine.run ctxswitch-goroutine_thread.run \
    456457        ctxswitch-rust_thread.run ctxswitch-nodejs_coroutine.run \
    457         ctxswitch-java_thread.run $(am__append_1)
     458        ctxswitch-java_thread.run ctxswitch-pthread.run \
     459        $(am__append_1)
    458460testdir = $(top_srcdir)/tests
    459461all: all-am
     
    790792        echo "------------------------------------------------------"
    791793        echo $<
    792         ${REPEAT} ${repeats} -- /usr/bin/time -f "%Uu %Ss %Er %Mkb" ./a.out\
     794        ${REPEAT} ${repeats} -- ./a.out\
    793795                $(if ${$(subst -,_,$(basename $@))_DURATION},\
    794796                        ${$(subst -,_,$(basename $@))_DURATION},\
     
    797799        echo "------------------------------------------------------"
    798800        rm -f a.out .result.log *.class
     801
     802#       ${REPEAT} ${repeats} -- /usr/bin/time -f "%Uu %Ss %Er %Mkb" ./a.out
    799803
    800804%.runquiet :
     
    905909ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND)
    906910
    907 ctxswitch-pthread$(EXEEXT):
    908         $(BENCH_V_CC)$(COMPILE) $(srcdir)/ctxswitch/pthreads.c
    909 
    910911ctxswitch-cfa_generator$(EXEEXT):
    911912        $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_gen.cfa
     
    926927        $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_thrd.cc
    927928
    928 ctxswitch-goroutine$(EXEEXT):
    929         $(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
    930 
    931 ctxswitch-rust_thread$(EXEEXT):
    932         $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/ctxswitch/rust_thrd.rs
     929ctxswitch-python_coroutine$(EXEEXT):
     930        echo "#!/bin/sh" > a.out
     931        echo "python3.7 $(srcdir)/ctxswitch/python_cor.py" >> a.out
     932        chmod a+x a.out
    933933
    934934ctxswitch-nodejs_coroutine$(EXEEXT):
     
    936936        echo "nodejs $(srcdir)/ctxswitch/node_cor.js" >> a.out
    937937        chmod a+x a.out
     938
     939ctxswitch-goroutine_thread$(EXEEXT):
     940        $(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
     941
     942ctxswitch-rust_thread$(EXEEXT):
     943        $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/ctxswitch/rust_thrd.rs
    938944
    939945ctxswitch-java_thread$(EXEEXT):
     
    943949        chmod a+x a.out
    944950
     951ctxswitch-pthread$(EXEEXT):
     952        $(BENCH_V_CC)$(COMPILE) $(srcdir)/ctxswitch/pthreads.c
     953
    945954mutex$(EXEEXT) :                \
    946         mutex-pthread.run       \
    947955        mutex-cfa1.run          \
    948956        mutex-cfa2.run          \
     
    951959        mutex-go.run            \
    952960        mutex-rust.run          \
    953         mutex-java.run
     961        mutex-java.run          \
     962        mutex-pthread.run
    954963
    955964mutex-pthread$(EXEEXT):
     
    981990
    982991signal$(EXEEXT) :               \
    983         signal-pthread.run      \
    984         signal-upp.run          \
    985992        signal-cfa1.run         \
    986993        signal-cfa2.run         \
    987994        signal-cfa4.run         \
     995        signal-upp.run          \
    988996        signal-rust.run         \
    989         signal-java.run
     997        signal-java.run         \
     998        signal-pthread.run
    990999
    9911000signal-pthread$(EXEEXT):
     
    10141023
    10151024waitfor$(EXEEXT) :              \
    1016         waitfor-upp.run         \
    10171025        waitfor-cfa1.run        \
    10181026        waitfor-cfa2.run        \
    1019         waitfor-cfa4.run
     1027        waitfor-cfa4.run        \
     1028        waitfor-upp.run
    10201029
    10211030waitfor-upp$(EXEEXT):
     
    10321041
    10331042creation$(EXEEXT) :                             \
    1034         creation-pthread.run                    \
    10351043        creation-cfa_coroutine.run              \
    10361044        creation-cfa_coroutine_eager.run        \
     
    10381046        creation-upp_coroutine.run              \
    10391047        creation-upp_thread.run                 \
    1040         creation-goroutine.run                  \
    1041         creation-rust.run                       \
     1048        creation-python_coroutine.run           \
    10421049        creation-nodejs_coroutine.run           \
    1043         creation-java.run
     1050        creation-goroutine_thread.run           \
     1051        creation-rust_thread.run                \
     1052        creation-java_thread.run                \
     1053        creation-pthread.run
    10441054
    10451055creation-cfa_coroutine$(EXEEXT):
     
    10581068        $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/creation/upp_thrd.cc
    10591069
    1060 creation-pthread$(EXEEXT):
    1061         $(BENCH_V_CC)$(COMPILE) $(srcdir)/creation/pthreads.c
    1062 
    1063 creation-goroutine$(EXEEXT):
    1064         $(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
    1065 
    1066 creation-rust$(EXEEXT):
    1067         $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
     1070creation-python_coroutine$(EXEEXT):
     1071        echo "#!/bin/sh" > a.out
     1072        echo "python3.7 $(srcdir)/creation/python_cor.py" >> a.out
     1073        chmod a+x a.out
    10681074
    10691075creation-nodejs_coroutine$(EXEEXT):
     
    10711077        echo "nodejs $(srcdir)/creation/node_cor.js" >> a.out
    10721078        chmod a+x a.out
     1079
     1080creation-goroutine_thread$(EXEEXT):
     1081        $(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
     1082
     1083creation-rust_thread$(EXEEXT):
     1084        $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
    10731085
    10741086creation-java$(EXEEXT):
     
    10771089        echo "java JavaThread" >> a.out
    10781090        chmod a+x a.out
     1091
     1092creation-pthread$(EXEEXT):
     1093        $(BENCH_V_CC)$(COMPILE) $(srcdir)/creation/pthreads.c
    10791094
    10801095compile$(EXEEXT) :              \
  • benchmark/creation/node_cor.js

    rf090750 rc12869e  
    44if ( argc == 3 ) times = Number( process.argv[2] )
    55
    6 function * coroutine() {}
     6function * coroutine() { yield }
    77var hrstart = process.hrtime()
    88for ( var i = 0; i < times; i += 1 ) {
     
    1515// Local Variables: //
    1616// tab-width: 4 //
    17 // compile-command: "node node_cor.js" //
     17// compile-command: "nodejs node_cor.js" //
    1818// End: //
  • benchmark/creation/upp_cor.cc

    rf090750 rc12869e  
    55_Coroutine MyCor {
    66        void main() {}
     7  public:
     8        MyCor() { resume(); }
    79};
    810
  • benchmark/ctxswitch/node_cor.js

    rf090750 rc12869e  
    2121// Local Variables: //
    2222// tab-width: 4 //
    23 // compile-command: "node node_cor.js" //
     23// compile-command: "nodejs node_cor.js" //
    2424// End: //
  • tools/stat.py

    rf090750 rc12869e  
    1717                avg = numpy.mean  (content)
    1818                std = numpy.std   (content)
    19                 print "median {0:.1f} avg {1:.1f} stddev {2:.2f}".format( med, avg, std )
     19                print "median {0:.1f} avg {1:.1f} stddev {2:.1f}".format( med, avg, std )
    2020
    2121
Note: See TracChangeset for help on using the changeset viewer.