source: benchmark/Makefile.am@ f450f2f

ADT ast-experimental enum forall-pointer-decay pthread-emulation qualifiedEnum
Last change on this file since f450f2f was 65502d8, checked in by caparsons <caparson@…>, 4 years ago

added some mutex stmt benchmarking

  • Property mode set to 100644
File size: 18.3 KB
Line 
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
13## Last Modified On : Tue Mar 10 11:41:18 2020
14## Update Count : 258
15###############################################################################
16
17AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names
18ACLOCAL_AMFLAGS = -I automake
19
20# applies to both programs
21include $(top_srcdir)/tools/build/cfa.make
22
23AM_CFLAGS = -O2 -Wall -Wextra -I$(srcdir) -lrt -pthread # -Werror
24AM_CFAFLAGS = -quiet -nodebug
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_UPP = $(__bench_v_UPP_$(__quiet))
31BENCH_V_GOC = $(__bench_v_GOC_$(__quiet))
32BENCH_V_PY = $(__bench_v_PY_$(__quiet))
33BENCH_V_RUSTC = $(__bench_v_RUSTC_$(__quiet))
34BENCH_V_NODEJS = $(__bench_v_NODEJS_$(__quiet))
35BENCH_V_JAVAC = $(__bench_v_JAVAC_$(__quiet))
36
37__quiet = verbose
38__bench_v_CC_quiet = @
39__bench_v_CFA_quiet = @
40__bench_v_CXX_quiet = @
41__bench_v_UPP_quiet = @
42__bench_v_GOC_quiet = @
43__bench_v_RUSTC_quiet = @
44__bench_v_JAVAC_quiet = @
45__bench_v_CC_verbose = $(AM_V_CC)
46__bench_v_CFA_verbose = $(AM_V_CFA)
47__bench_v_CXX_verbose = $(AM_V_CXX)
48__bench_v_UPP_verbose = $(AM_V_UPP)
49__bench_v_GOC_verbose = $(AM_V_GOC)
50__bench_v_PY_verbose = $(AM_V_PY)
51__bench_v_RUSTC_verbose = $(AM_V_RUST)
52__bench_v_NODEJS_verbose = $(AM_V_NODEJS)
53__bench_v_JAVAC_verbose = $(AM_V_JAVAC)
54
55
56TOOLSDIR = ${abs_top_builddir}/tools/
57REPEAT = ${abs_top_builddir}/tools/repeat
58STATS = ${abs_top_srcdir}/tools/stat.py
59# NEED AT LEAST 4 DATA VALUES FOR BENCHMARKS BECAUSE THE MAX AND MIN VALUES ARE REMOVED
60repeats = 13 # 31 for benchmarks
61arch = x64
62skipcompile = no
63TIME_FORMAT = "%E"
64PRINT_FORMAT = %20s: #Comments needed for spacing
65
66# Dummy hack tricks
67EXTRA_PROGRAMS = dummy # build but do not install
68nodist_dummy_SOURCES = dummyC.c dummyCXX.cpp
69
70dummyC.c:
71 echo "int main() { return 0; }" > ${@}
72
73dummyCXX.cpp:
74 echo "int main() { return 0; }" > ${@}
75
76.NOTPARALLEL:
77.PHONY: jenkins cleancsv
78
79## =========================================================================================================
80
81# all is used by make dist so ignore it
82all:
83
84all-bench : basic$(EXEEXT) ctxswitch$(EXEEXT) mutex$(EXEEXT) schedint$(EXEEXT) schedext$(EXEEXT) creation$(EXEEXT)
85
86basic_loop_DURATION = 15000000000
87basic_function_DURATION = 10000000000
88basic_tls_fetch_add_DURATION = 10000000000
89basic_DURATION = 250000000
90
91ctxswitch_pthread_DURATION = 25000000
92ctxswitch_rust_thread_DURATION = $(ctxswitch_pthread_DURATION)
93ctxswitch_cfa_generator_DURATION = 5000000000
94ctxswitch_nodejs_await_DURATION = 5000000
95ctxswitch_DURATION = 100000000
96
97#mutex_java_DURATION = 10000000
98mutex_DURATION = 50000000
99
100schedint_pthread_DURATION = 1000000
101schedint_java_DURATION = $(schedint_pthread_DURATION)
102schedint_rust_DURATION = $(schedint_pthread_DURATION)
103schedint_DURATION = 10000000
104
105schedext_DURATION = 10000000
106
107creation_pthread_DURATION = 250000
108creation_rust_thread_DURATION = ${creation_pthread_DURATION}
109creation_java_thread_DURATION = ${creation_pthread_DURATION}
110creation_cfa_coroutine_DURATION = 100000000
111creation_cfa_coroutine_eager_DURATION = 10000000
112creation_cfa_generator_DURATION = 1000000000
113creation_upp_coroutine_DURATION = ${creation_cfa_coroutine_eager_DURATION}
114creation_DURATION = 10000000
115
116%.run : %$(EXEEXT) ${REPEAT}
117 @rm -f .result.log
118 @echo "------------------------------------------------------"
119 @echo $<
120 @${REPEAT} ${repeats} -- ./a.out\
121 $(if ${$(subst -,_,$(basename $@))_DURATION},\
122 ${$(subst -,_,$(basename $@))_DURATION},\
123 ${$(firstword $(subst -, ,$(basename $@)))_DURATION}) | tee -a .result.log
124 @${STATS} .result.log
125 @echo "------------------------------------------------------"
126 @rm -f a.out .result.log *.class
127
128# ${REPEAT} ${repeats} -- /usr/bin/time -f "%Uu %Ss %Er %Mkb" ./a.out
129
130%.runquiet :
131 +make $(basename $@) CFLAGS="-w" __quiet=quiet
132 taskset -c 1 ./a.out
133 rm -f a.out
134
135%.make :
136 printf "${PRINT_FORMAT}" $(basename $(subst compile-,,$@))
137 +/usr/bin/time -f ${TIME_FORMAT} make $(basename $@) 2>&1
138
139${REPEAT} :
140 +make -C ${abs_top_builddir}/tools repeat
141
142## =========================================================================================================
143
144FIX_NEW_LINES = cat $@ | tr "\n" "\t" | sed -r 's/\t,/,/' | tr "\t" "\n" > $@
145
146cleancsv:
147 rm -f compile.csv basic.csv ctxswitch.csv mutex.csv schedint.csv
148
149jenkins$(EXEEXT): cleancsv
150@DOifskipcompile@
151 @+make --silent compile.csv
152 @-+make --silent compile.diff.csv
153@DOendif@
154 @+make --silent ctxswitch.csv
155 @-+make --silent ctxswitch.diff.csv
156 @+make --silent mutex.csv
157 @-+make --silent mutex.diff.csv
158 @+make --silent schedint.csv
159 @-+make --silent schedint.diff.csv
160@DOifskipcompile@
161 cat compile.csv
162 -cat compile.diff.csv
163@DOendif@
164 cat ctxswitch.csv
165 -cat ctxswitch.diff.csv
166 cat mutex.csv
167 -cat mutex.diff.csv
168 cat schedint.csv
169 -cat schedint.diff.csv
170
171compile.csv:
172 echo "building $@"
173 echo "array,attributes,empty,expression,io,monitor,operators,typeof" > $@
174 +make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-array.make >> $@
175 +make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-attributes.make >> $@
176 +make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-empty.make >> $@
177 +make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-expression.make >> $@
178 +make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-io.make >> $@
179 +make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-monitor.make >> $@
180 +make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-operators.make >> $@
181 +make TIME_FORMAT='%e' PRINT_FORMAT='' compile-typeof.make >> $@
182 $(srcdir)/fixcsv.sh $@
183
184ctxswitch.csv:
185 echo "building $@"
186 echo "generator,coroutine,thread" > $@
187 +make ctxswitch-cfa_generator.runquiet >> $@ && echo -n ',' >> $@
188 +make ctxswitch-cfa_coroutine.runquiet >> $@ && echo -n ',' >> $@
189 +make ctxswitch-cfa_thread.runquiet >> $@
190 $(srcdir)/fixcsv.sh $@
191
192mutex.csv:
193 echo "building $@"
194 echo "1-monitor,2-monitor" > $@
195 +make mutex-cfa1.runquiet >> $@ && echo -n ',' >> $@
196 +make mutex-cfa2.runquiet >> $@
197 $(srcdir)/fixcsv.sh $@
198
199# use --no-print-directory to generate csv appropriately
200mutexStmt.csv:
201 echo "building $@"
202 echo "1-lock,2-lock,4-lock,8-lock,1-no-stmt-lock,2-no-stmt-lock,4-no-stmt-lock,8-no-stmt-lock,1-monitor,2-monitor,4-monitor" > $@
203 +make mutexStmt-lock1.runquiet >> $@ && echo -n ',' >> $@
204 +make mutexStmt-lock2.runquiet >> $@ && echo -n ',' >> $@
205 +make mutexStmt-lock4.runquiet >> $@ && echo -n ',' >> $@
206 +make mutexStmt-lock8.runquiet >> $@ && echo -n ',' >> $@
207 +make mutexStmt-no-stmt-lock1.runquiet >> $@ && echo -n ',' >> $@
208 +make mutexStmt-no-stmt-lock2.runquiet >> $@ && echo -n ',' >> $@
209 +make mutexStmt-no-stmt-lock4.runquiet >> $@ && echo -n ',' >> $@
210 +make mutexStmt-no-stmt-lock8.runquiet >> $@ && echo -n ',' >> $@
211 +make mutexStmt-monitor1.runquiet >> $@ && echo -n ',' >> $@
212 +make mutexStmt-monitor2.runquiet >> $@ && echo -n ',' >> $@
213 +make mutexStmt-monitor4.runquiet >> $@
214 $(srcdir)/fixcsv.sh $@
215
216schedint.csv:
217 echo "building $@"
218 echo "schedint-1,schedint-2,schedext-1,schedext-2" > $@
219 +make schedint-cfa1.runquiet >> $@ && echo -n ',' >> $@
220 +make schedint-cfa2.runquiet >> $@ && echo -n ',' >> $@
221 +make schedext-cfa1.runquiet >> $@ && echo -n ',' >> $@
222 +make schedext-cfa2.runquiet >> $@
223 $(srcdir)/fixcsv.sh $@
224
225%.diff.csv: %.csv
226 test -e $(srcdir)/baselines/$(arch)/$< || (echo "Error : Missing baseline for ${<}" && false)
227 $(srcdir)/baselines/calc.py $(srcdir)/baselines/$(arch)/$(<) $(<) > $@
228
229## =========================================================================================================
230
231BASIC_DEPEND = \
232 basic-loop.run \
233 basic-function.run \
234 basic-fetch_add.run \
235 basic-ttst_lock.run \
236 basic-tls-fetch_add.run
237
238basic-loop$(EXEEXT):
239 $(BENCH_V_CC)$(COMPILE) $(srcdir)/basic/loop.c
240
241basic-function$(EXEEXT):
242 $(BENCH_V_CC)$(COMPILE) $(srcdir)/basic/function.c
243
244basic-fetch_add$(EXEEXT):
245 $(BENCH_V_CC)$(COMPILE) $(srcdir)/basic/fetch_add.c
246
247basic-ttst_lock$(EXEEXT):
248 $(BENCH_V_CC)$(COMPILE) $(srcdir)/basic/ttst_lock.c
249
250basic-tls-fetch_add$(EXEEXT):
251 $(BENCH_V_CC)$(COMPILE) $(srcdir)/basic/tls_fetch_add.c
252
253basic$(EXEEXT): $(BASIC_DEPEND)
254
255## =========================================================================================================
256
257CTXSWITCH_DEPEND = \
258 ctxswitch-cfa_generator.run \
259 ctxswitch-cfa_coroutine.run \
260 ctxswitch-cfa_thread.run \
261 ctxswitch-cfa_thread2.run \
262 ctxswitch-upp_coroutine.run \
263 ctxswitch-upp_thread.run \
264 ctxswitch-python_coroutine.run \
265 ctxswitch-nodejs_coroutine.run \
266 ctxswitch-nodejs_await.run \
267 ctxswitch-goroutine_thread.run \
268 ctxswitch-rust_thread.run \
269 ctxswitch-nodejs_coroutine.run \
270 ctxswitch-java_thread.run \
271 ctxswitch-pthread.run
272
273if WITH_LIBFIBRE
274CTXSWITCH_DEPEND += \
275 ctxswitch-kos_fibre.run \
276 ctxswitch-kos_fibre2.run
277
278ctxswitch-kos_fibre$(EXEEXT):
279 $(BENCH_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre
280
281ctxswitch-kos_fibre2$(EXEEXT):
282 $(BENCH_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
283endif
284
285ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND)
286
287ctxswitch-cfa_generator$(EXEEXT):
288 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_gen.cfa
289
290ctxswitch-cfa_coroutine$(EXEEXT):
291 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_cor.cfa
292
293ctxswitch-cfa_thread$(EXEEXT):
294 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd.cfa
295
296ctxswitch-cfa_thread2$(EXEEXT):
297 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd2.cfa
298
299ctxswitch-upp_coroutine$(EXEEXT):
300 $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_cor.cc
301
302ctxswitch-upp_thread$(EXEEXT):
303 $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_thrd.cc
304
305ctxswitch-python_coroutine$(EXEEXT):
306 $(BENCH_V_PY)echo "#!/bin/sh" > a.out
307 echo "python3 $(srcdir)/ctxswitch/python_cor.py \"$$""@\"" >> a.out
308 chmod a+x a.out
309
310ctxswitch-nodejs_coroutine$(EXEEXT):
311 $(BENCH_V_NODEJS)echo "#!/bin/sh" > a.out
312 echo "nodejs $(srcdir)/ctxswitch/node_cor.js \"$$""@\"" >> a.out
313 chmod a+x a.out
314
315ctxswitch-nodejs_await$(EXEEXT):
316 $(BENCH_V_NODEJS)echo "#!/bin/sh" > a.out
317 echo "nodejs $(srcdir)/ctxswitch/node_await.js \"$$""@\"" >> a.out
318 chmod a+x a.out
319
320ctxswitch-goroutine_thread$(EXEEXT):
321 $(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
322
323ctxswitch-rust_thread$(EXEEXT):
324 $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/ctxswitch/rust_thrd.rs
325
326ctxswitch-java_thread$(EXEEXT):
327 $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
328 echo "#!/bin/sh" > a.out
329 echo "java JavaThread \"$$""@\"" >> a.out
330 chmod a+x a.out
331
332ctxswitch-pthread$(EXEEXT):
333 $(BENCH_V_CC)$(COMPILE) $(srcdir)/ctxswitch/pthreads.c
334
335## =========================================================================================================
336
337mutex$(EXEEXT) : \
338 mutex-cfa1.run \
339 mutex-cfa2.run \
340 mutex-cfa4.run \
341 mutex-upp.run \
342 mutex-go.run \
343 mutex-rust.run \
344 mutex-java.run \
345 mutex-pthread.run
346
347mutex-pthread$(EXEEXT):
348 $(BENCH_V_CC)$(COMPILE) $(srcdir)/mutex/pthreads.c
349
350mutex-cfa1$(EXEEXT):
351 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutex/cfa1.cfa
352
353mutex-cfa2$(EXEEXT):
354 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutex/cfa2.cfa
355
356mutex-cfa4$(EXEEXT):
357 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutex/cfa4.cfa
358
359mutex-upp$(EXEEXT):
360 $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/mutex/upp.cc
361
362mutex-go$(EXEEXT):
363 $(BENCH_V_GOC)go build -o a.out $(srcdir)/mutex/goroutine.go
364
365mutex-rust$(EXEEXT):
366 $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/mutex/rust.rs
367
368mutex-java$(EXEEXT):
369 $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java
370 echo "#!/bin/sh" > a.out
371 echo "java JavaThread \"$$""@\"" >> a.out
372 chmod a+x a.out
373
374mutexStmt$(EXEEXT) : \
375 mutexStmt-lock1.run \
376 mutexStmt-lock2.run \
377 mutexStmt-lock4.run \
378 mutexStmt-lock8.run \
379 mutexStmt-no-stmt-lock1.run \
380 mutexStmt-no-stmt-lock2.run \
381 mutexStmt-no-stmt-lock4.run \
382 mutexStmt-no-stmt-lock8.run \
383 mutexStmt-monitor1.run \
384 mutexStmt-monitor2.run \
385 mutexStmt-monitor4.run
386
387mutexStmt-lock1$(EXEEXT):
388 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/lock1.cfa
389
390mutexStmt-lock2$(EXEEXT):
391 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/lock2.cfa
392
393mutexStmt-lock4$(EXEEXT):
394 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/lock4.cfa
395
396mutexStmt-lock8$(EXEEXT):
397 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/lock8.cfa
398
399mutexStmt-monitor1$(EXEEXT):
400 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/monitor1.cfa
401
402mutexStmt-monitor2$(EXEEXT):
403 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/monitor2.cfa
404
405mutexStmt-monitor4$(EXEEXT):
406 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/monitor4.cfa
407
408mutexStmt-no-stmt-lock1$(EXEEXT):
409 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/no_stmt_lock1.cfa
410
411mutexStmt-no-stmt-lock2$(EXEEXT):
412 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/no_stmt_lock2.cfa
413
414mutexStmt-no-stmt-lock4$(EXEEXT):
415 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/no_stmt_lock4.cfa
416
417mutexStmt-no-stmt-lock8$(EXEEXT):
418 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/mutexStmt/no_stmt_lock8.cfa
419
420## =========================================================================================================
421
422schedint$(EXEEXT) : \
423 schedint-cfa1.run \
424 schedint-cfa2.run \
425 schedint-cfa4.run \
426 schedint-upp.run \
427 schedint-rust.run \
428 schedint-java.run \
429 schedint-pthread.run
430
431schedint-cfa1$(EXEEXT):
432 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedint/cfa1.cfa
433
434schedint-cfa2$(EXEEXT):
435 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedint/cfa2.cfa
436
437schedint-cfa4$(EXEEXT):
438 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedint/cfa4.cfa
439
440schedint-upp$(EXEEXT):
441 $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/schedint/upp.cc
442
443schedint-rust$(EXEEXT):
444 $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/schedint/rust.rs
445
446schedint-java$(EXEEXT):
447 $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java
448 echo "#!/bin/sh" > a.out
449 echo "java JavaThread \"$$""@\"" >> a.out
450 chmod a+x a.out
451
452schedint-pthread$(EXEEXT):
453 $(BENCH_V_CC)$(COMPILE) $(srcdir)/schedint/pthreads.c
454
455## =========================================================================================================
456
457schedext$(EXEEXT) : \
458 schedext-cfa1.run \
459 schedext-cfa2.run \
460 schedext-cfa4.run \
461 schedext-upp.run \
462 schedext-goroutine.run
463
464schedext-cfa1$(EXEEXT):
465 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedext/cfa1.cfa
466
467schedext-cfa2$(EXEEXT):
468 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedext/cfa2.cfa
469
470schedext-cfa4$(EXEEXT):
471 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedext/cfa4.cfa
472
473schedext-upp$(EXEEXT):
474 $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/schedext/upp.cc
475
476schedext-goroutine$(EXEEXT):
477 $(BENCH_V_GOC)go build -o a.out $(srcdir)/schedext/goroutine.go
478
479
480## =========================================================================================================
481
482creation$(EXEEXT) : \
483 creation-cfa_generator.run \
484 creation-cfa_coroutine.run \
485 creation-cfa_coroutine_eager.run \
486 creation-cfa_thread.run \
487 creation-upp_coroutine.run \
488 creation-upp_thread.run \
489 creation-python_coroutine.run \
490 creation-nodejs_coroutine.run \
491 creation-goroutine_thread.run \
492 creation-rust_thread.run \
493 creation-java_thread.run \
494 creation-pthread.run
495
496creation-cfa_generator$(EXEEXT):
497 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/creation/cfa_gen.cfa
498
499creation-cfa_coroutine$(EXEEXT):
500 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/creation/cfa_cor.cfa
501
502creation-cfa_coroutine_eager$(EXEEXT):
503 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/creation/cfa_cor.cfa -DEAGER
504
505creation-cfa_thread$(EXEEXT):
506 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/creation/cfa_thrd.cfa
507
508creation-upp_coroutine$(EXEEXT):
509 $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/creation/upp_cor.cc
510
511creation-upp_thread$(EXEEXT):
512 $(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/creation/upp_thrd.cc
513
514creation-python_coroutine$(EXEEXT):
515 $(BENCH_V_PY)echo "#!/bin/sh" > a.out
516 echo "python3 $(srcdir)/creation/python_cor.py \"$$""@\"" >> a.out
517 chmod a+x a.out
518
519creation-nodejs_coroutine$(EXEEXT):
520 $(BENCH_V_NODEJS)echo "#!/bin/sh" > a.out
521 echo "nodejs $(srcdir)/creation/node_cor.js \"$$""@\"" >> a.out
522 chmod a+x a.out
523
524creation-goroutine_thread$(EXEEXT):
525 $(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
526
527creation-rust_thread$(EXEEXT):
528 $(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
529
530creation-java_thread$(EXEEXT):
531 $(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
532 echo "#!/bin/sh" > a.out
533 echo "java JavaThread \"$$""@\"" >> a.out
534 chmod a+x a.out
535
536creation-pthread$(EXEEXT):
537 $(BENCH_V_CC)$(COMPILE) $(srcdir)/creation/pthreads.c
538
539## =========================================================================================================
540
541bcompile$(EXEEXT) : \
542 compile-array.make \
543 compile-attributes.make \
544 compile-empty.make \
545 compile-expression.make \
546 compile-io.make \
547 compile-monitor.make \
548 compile-operators.make \
549 compile-typeof.make
550
551testdir = $(top_srcdir)/tests
552
553compile-array$(EXEEXT):
554 $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/array.cfa
555
556compile-attributes$(EXEEXT):
557 $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/attributes.cfa
558
559compile-empty$(EXEEXT):
560 $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(srcdir)/compile/empty.cfa
561
562compile-expression$(EXEEXT):
563 $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/expression.cfa
564
565compile-io$(EXEEXT):
566 $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/io/io.cfa
567
568compile-monitor$(EXEEXT):
569 $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrent/monitor.cfa
570
571compile-operators$(EXEEXT):
572 $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/operators.cfa
573
574compile-thread$(EXEEXT):
575 $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrent/thread.cfa
576
577compile-typeof$(EXEEXT):
578 $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/typeof.cfa
579
580## =========================================================================================================
581
582size$(EXEEXT) : size-cfa.runquiet
583
584size-cfa$(EXEEXT):
585 $(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/size/size.cfa
586
587## =========================================================================================================
588
589%-tokio$(EXEEXT): $(srcdir)/readyQ/%.rs $(srcdir)/bench.rs
590 cd $(builddir) && cargo build --release
591 cp $(builddir)/target/release/$(basename $@) $@
Note: See TracBrowser for help on using the repository browser.