Index: Jenkinsfile
===================================================================
--- Jenkinsfile	(revision b7f8cb449799bf83b570f340be3a9cf0ac7f175e)
+++ Jenkinsfile	(revision 11094d9e8320e6ac1134dd033cf6a3b08036a935)
@@ -15,5 +15,5 @@
 	arch_name 		= ''
 	architecture 	= ''
-
+	
 	do_alltests		= false
 	do_benchmark	= false
@@ -183,5 +183,5 @@
 		sh 'make clean > /dev/null'
 		sh 'make > /dev/null 2>&1'
-	}
+	} 
 	catch (Exception caughtError) {
 		err = caughtError //rethrow error later
@@ -257,7 +257,7 @@
 def build() {
 	build_stage('Build') {
-
+	
 		def install_dir = pwd tmp: true
-
+		
 		//Configure the conpilation (Output is not relevant)
 		//Use the current directory as the installation target so nothing
@@ -290,6 +290,9 @@
 		if( !do_benchmark ) return
 
+		//Write the commit id to Benchmark
+		writeFile  file: 'bench.csv', text:'data=' + gitRefNewValue + ',' + arch_name + ','
+ 
 		//Append bench results
-		sh 'make -C src/benchmark --no-print-directory jenkins githash=' + gitRefNewValue + ' arch=' + arch_name + ' | tee bench.json'
+		sh 'make -C src/benchmark --no-print-directory csv-data >> bench.csv'
 	}
 }
@@ -324,5 +327,5 @@
 
 		//Then publish the results
-		sh 'curl -H "Content-Type: application/json" --silent --data @bench.json http://plg2:8082/jenkins/publish > /dev/null || true'
+		sh 'curl --silent --data @bench.csv http://plg2:8082/jenkins/publish > /dev/null || true'
 	}
 }
Index: src/benchmark/Makefile.am
===================================================================
--- src/benchmark/Makefile.am	(revision b7f8cb449799bf83b570f340be3a9cf0ac7f175e)
+++ src/benchmark/Makefile.am	(revision 11094d9e8320e6ac1134dd033cf6a3b08036a935)
@@ -23,6 +23,4 @@
 STATS    = ${TOOLSDIR}stat.py
 repeats  = 30
-TIME_FORMAT = "%E"
-PRINT_FORMAT = '%20s\t'
 
 .NOTPARALLEL:
@@ -31,4 +29,185 @@
 
 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
+
+bench$(EXEEXT) :
+	@for ccflags in "-debug" "-nodebug"; do \
+		echo ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -lrt bench.c;\
+		${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt bench.c;\
+		./a.out ; \
+	done ; \
+	rm -f ./a.out ;
+
+csv-data$(EXEEXT):
+	@${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -quiet -DN=50000000 csv-data.c
+	@./a.out
+	@rm -f ./a.out
+
+## =========================================================================================================
+ctxswitch$(EXEEXT): \
+	ctxswitch-pthread.run		\
+	ctxswitch-cfa_coroutine.run	\
+	ctxswitch-cfa_thread.run	\
+	ctxswitch-upp_coroutine.run	\
+	ctxswitch-upp_thread.run
+
+ctxswitch-cfa_coroutine$(EXEEXT):
+	${CC}        ctxswitch/cfa_cor.c   -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-cfa_thread$(EXEEXT):
+	${CC}        ctxswitch/cfa_thrd.c  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-upp_coroutine$(EXEEXT):
+	u++          ctxswitch/upp_cor.cc  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-upp_thread$(EXEEXT):
+	u++          ctxswitch/upp_thrd.cc -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-pthread$(EXEEXT):
+	@BACKEND_CC@ ctxswitch/pthreads.c  -DBENCH_N=50000000  -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+## =========================================================================================================
+mutex$(EXEEXT) :\
+	mutex-function.run	\
+	mutex-pthread_lock.run	\
+	mutex-upp.run		\
+	mutex-cfa1.run		\
+	mutex-cfa2.run		\
+	mutex-cfa4.run
+
+mutex-function$(EXEEXT):
+	@BACKEND_CC@ mutex/function.c    -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-pthread_lock$(EXEEXT):
+	@BACKEND_CC@ mutex/pthreads.c    -DBENCH_N=50000000    -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-upp$(EXEEXT):
+	u++          mutex/upp.cc        -DBENCH_N=50000000    -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-cfa1$(EXEEXT):
+	${CC}        mutex/cfa1.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-cfa2$(EXEEXT):
+	${CC}        mutex/cfa2.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-cfa4$(EXEEXT):
+	${CC}        mutex/cfa4.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+## =========================================================================================================
+signal$(EXEEXT) :\
+	signal-upp.run		\
+	signal-cfa1.run		\
+	signal-cfa2.run		\
+	signal-cfa4.run
+
+signal-upp$(EXEEXT):
+	u++          schedint/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+signal-cfa1$(EXEEXT):
+	${CC}        schedint/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+signal-cfa2$(EXEEXT):
+	${CC}        schedint/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+signal-cfa4$(EXEEXT):
+	${CC}        schedint/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+## =========================================================================================================
+waitfor$(EXEEXT) :\
+	waitfor-upp.run		\
+	waitfor-cfa1.run		\
+	waitfor-cfa2.run		\
+	waitfor-cfa4.run
+
+waitfor-upp$(EXEEXT):
+	u++          schedext/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+waitfor-cfa1$(EXEEXT):
+	${CC}        schedext/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+waitfor-cfa2$(EXEEXT):
+	${CC}        schedext/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+waitfor-cfa4$(EXEEXT):
+	${CC}        schedext/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+## =========================================================================================================
+creation$(EXEEXT) :\
+	creation-pthread.run			\
+	creation-cfa_coroutine.run		\
+	creation-cfa_coroutine_eager.run	\
+	creation-cfa_thread.run			\
+	creation-upp_coroutine.run		\
+	creation-upp_thread.run
+
+creation-cfa_coroutine$(EXEEXT):
+	${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+creation-cfa_coroutine_eager$(EXEEXT):
+	${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER
+
+creation-cfa_thread$(EXEEXT):
+	${CC}        creation/cfa_thrd.c  -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+creation-upp_coroutine$(EXEEXT):
+	u++          creation/upp_cor.cc  -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+creation-upp_thread$(EXEEXT):
+	u++          creation/upp_thrd.cc -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+creation-pthread$(EXEEXT):
+	@BACKEND_CC@ creation/pthreads.c  -DBENCH_N=250000     -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+## =========================================================================================================
+
+compile$(EXEEXT) :\
+	compile-array$(EXEEXT)		\
+	compile-attributes$(EXEEXT)	\
+	compile-empty$(EXEEXT)  	\
+	compile-expression$(EXEEXT)	\
+	compile-io$(EXEEXT)		\
+	compile-monitor$(EXEEXT)	\
+	compile-operators$(EXEEXT)	\
+	compile-thread$(EXEEXT)		\
+	compile-typeof$(EXEEXT)
+
+
+compile-array$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/array.c
+
+compile-attributes$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/attributes.c
+
+compile-empty$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w compile/empty.c
+
+compile-expression$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/expression.c
+
+compile-io$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/io.c
+
+compile-monitor$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/monitor.c
+
+compile-operators$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/operators.c
+
+compile-thread$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/thread.c
+
+compile-typeof$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/typeof.c
+
+
+## =========================================================================================================
 
 %.run : %$(EXEEXT) ${REPEAT}
@@ -41,204 +220,4 @@
 	@rm -f a.out .result.log
 
-%.runquiet :
-	@+make $(basename $@)
-	@./a.out
-	@rm -f a.out
-
-%.make :
-	@printf "${PRINT_FORMAT}" $(basename $(subst compile-,,$@))
-	@+/usr/bin/time -f ${TIME_FORMAT} make $(basename $@) 2>&1
-
 ${REPEAT} :
 	@+make -C ${TOOLSDIR} repeat
-
-## =========================================================================================================
-
-jenkins$(EXEEXT):
-	@echo "{"
-	@echo -e '\t"githash": "'${githash}'",'
-	@echo -e '\t"arch": "'   ${arch}   '",'
-	@echo -e '\t"compile": {'
-	@+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :'
-	@echo -e '\t\t"dummy" : {}'
-	@echo -e '\t},'
-	@echo -e '\t"ctxswitch": {'
-	@echo -en '\t\t"coroutine":'
-	@+make ctxswitch-cfa_coroutine.runquiet
-	@echo -en '\t\t,"thread":'
-	@+make ctxswitch-cfa_thread.runquiet
-	@echo -e '\t},'
-	@echo -e '\t"mutex": ['
-	@echo -en '\t\t'
-	@+make mutex-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make mutex-cfa2.runquiet
-	@echo -e '\t],'
-	@echo -e '\t"scheduling": ['
-	@echo -en '\t\t'
-	@+make signal-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make signal-cfa2.runquiet
-	@echo -en '\t\t,'
-	@+make waitfor-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make waitfor-cfa2.runquiet
-	@echo -e '\n\t],'
-	@echo -e '\t"epoch": ' $(shell date +%s)
-	@echo "}"
-
-## =========================================================================================================
-ctxswitch$(EXEEXT): \
-	ctxswitch-pthread.run		\
-	ctxswitch-cfa_coroutine.run	\
-	ctxswitch-cfa_thread.run	\
-	ctxswitch-upp_coroutine.run	\
-	ctxswitch-upp_thread.run
-
-ctxswitch-cfa_coroutine$(EXEEXT):
-	@${CC}        ctxswitch/cfa_cor.c   -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-cfa_thread$(EXEEXT):
-	@${CC}        ctxswitch/cfa_thrd.c  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-upp_coroutine$(EXEEXT):
-	@u++          ctxswitch/upp_cor.cc  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-upp_thread$(EXEEXT):
-	@u++          ctxswitch/upp_thrd.cc -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-pthread$(EXEEXT):
-	@@BACKEND_CC@ ctxswitch/pthreads.c  -DBENCH_N=50000000  -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-## =========================================================================================================
-mutex$(EXEEXT) :\
-	mutex-function.run	\
-	mutex-pthread_lock.run	\
-	mutex-upp.run		\
-	mutex-cfa1.run		\
-	mutex-cfa2.run		\
-	mutex-cfa4.run
-
-mutex-function$(EXEEXT):
-	@@BACKEND_CC@ mutex/function.c    -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-pthread_lock$(EXEEXT):
-	@@BACKEND_CC@ mutex/pthreads.c    -DBENCH_N=50000000    -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-upp$(EXEEXT):
-	@u++          mutex/upp.cc        -DBENCH_N=50000000    -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-cfa1$(EXEEXT):
-	@${CC}        mutex/cfa1.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-cfa2$(EXEEXT):
-	@${CC}        mutex/cfa2.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-cfa4$(EXEEXT):
-	@${CC}        mutex/cfa4.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-## =========================================================================================================
-signal$(EXEEXT) :\
-	signal-upp.run		\
-	signal-cfa1.run		\
-	signal-cfa2.run		\
-	signal-cfa4.run
-
-signal-upp$(EXEEXT):
-	@u++          schedint/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-signal-cfa1$(EXEEXT):
-	@${CC}        schedint/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-signal-cfa2$(EXEEXT):
-	@${CC}        schedint/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-signal-cfa4$(EXEEXT):
-	@${CC}        schedint/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-## =========================================================================================================
-waitfor$(EXEEXT) :\
-	waitfor-upp.run		\
-	waitfor-cfa1.run		\
-	waitfor-cfa2.run		\
-	waitfor-cfa4.run
-
-waitfor-upp$(EXEEXT):
-	@u++          schedext/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-waitfor-cfa1$(EXEEXT):
-	@${CC}        schedext/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-waitfor-cfa2$(EXEEXT):
-	@${CC}        schedext/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-waitfor-cfa4$(EXEEXT):
-	@${CC}        schedext/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-## =========================================================================================================
-creation$(EXEEXT) :\
-	creation-pthread.run			\
-	creation-cfa_coroutine.run		\
-	creation-cfa_coroutine_eager.run	\
-	creation-cfa_thread.run			\
-	creation-upp_coroutine.run		\
-	creation-upp_thread.run
-
-creation-cfa_coroutine$(EXEEXT):
-	@${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-creation-cfa_coroutine_eager$(EXEEXT):
-	@${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER
-
-creation-cfa_thread$(EXEEXT):
-	@${CC}        creation/cfa_thrd.c  -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-creation-upp_coroutine$(EXEEXT):
-	@u++          creation/upp_cor.cc  -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-creation-upp_thread$(EXEEXT):
-	@u++          creation/upp_thrd.cc -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-creation-pthread$(EXEEXT):
-	@@BACKEND_CC@ creation/pthreads.c  -DBENCH_N=250000     -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-## =========================================================================================================
-
-compile$(EXEEXT) :\
-	compile-array.make	\
-	compile-attributes.make	\
-	compile-empty.make  	\
-	compile-expression.make	\
-	compile-io.make		\
-	compile-monitor.make	\
-	compile-operators.make	\
-	compile-typeof.make
-
-
-compile-array$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/array.c
-
-compile-attributes$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/attributes.c
-
-compile-empty$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w compile/empty.c
-
-compile-expression$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/expression.c
-
-compile-io$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/io.c
-
-compile-monitor$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/monitor.c
-
-compile-operators$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/operators.c
-
-compile-thread$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/thread.c
-
-compile-typeof$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/typeof.c
-
Index: src/benchmark/Makefile.in
===================================================================
--- src/benchmark/Makefile.in	(revision b7f8cb449799bf83b570f340be3a9cf0ac7f175e)
+++ src/benchmark/Makefile.in	(revision 11094d9e8320e6ac1134dd033cf6a3b08036a935)
@@ -253,6 +253,4 @@
 STATS = ${TOOLSDIR}stat.py
 repeats = 30
-TIME_FORMAT = "%E"
-PRINT_FORMAT = '%20s\t'
 all: all-am
 
@@ -448,4 +446,179 @@
 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
 
+bench$(EXEEXT) :
+	@for ccflags in "-debug" "-nodebug"; do \
+		echo ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -lrt bench.c;\
+		${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt bench.c;\
+		./a.out ; \
+	done ; \
+	rm -f ./a.out ;
+
+csv-data$(EXEEXT):
+	@${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -quiet -DN=50000000 csv-data.c
+	@./a.out
+	@rm -f ./a.out
+
+ctxswitch$(EXEEXT): \
+	ctxswitch-pthread.run		\
+	ctxswitch-cfa_coroutine.run	\
+	ctxswitch-cfa_thread.run	\
+	ctxswitch-upp_coroutine.run	\
+	ctxswitch-upp_thread.run
+
+ctxswitch-cfa_coroutine$(EXEEXT):
+	${CC}        ctxswitch/cfa_cor.c   -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-cfa_thread$(EXEEXT):
+	${CC}        ctxswitch/cfa_thrd.c  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-upp_coroutine$(EXEEXT):
+	u++          ctxswitch/upp_cor.cc  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-upp_thread$(EXEEXT):
+	u++          ctxswitch/upp_thrd.cc -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+ctxswitch-pthread$(EXEEXT):
+	@BACKEND_CC@ ctxswitch/pthreads.c  -DBENCH_N=50000000  -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex$(EXEEXT) :\
+	mutex-function.run	\
+	mutex-pthread_lock.run	\
+	mutex-upp.run		\
+	mutex-cfa1.run		\
+	mutex-cfa2.run		\
+	mutex-cfa4.run
+
+mutex-function$(EXEEXT):
+	@BACKEND_CC@ mutex/function.c    -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-pthread_lock$(EXEEXT):
+	@BACKEND_CC@ mutex/pthreads.c    -DBENCH_N=50000000    -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-upp$(EXEEXT):
+	u++          mutex/upp.cc        -DBENCH_N=50000000    -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-cfa1$(EXEEXT):
+	${CC}        mutex/cfa1.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-cfa2$(EXEEXT):
+	${CC}        mutex/cfa2.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+mutex-cfa4$(EXEEXT):
+	${CC}        mutex/cfa4.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+signal$(EXEEXT) :\
+	signal-upp.run		\
+	signal-cfa1.run		\
+	signal-cfa2.run		\
+	signal-cfa4.run
+
+signal-upp$(EXEEXT):
+	u++          schedint/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+signal-cfa1$(EXEEXT):
+	${CC}        schedint/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+signal-cfa2$(EXEEXT):
+	${CC}        schedint/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+signal-cfa4$(EXEEXT):
+	${CC}        schedint/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+waitfor$(EXEEXT) :\
+	waitfor-upp.run		\
+	waitfor-cfa1.run		\
+	waitfor-cfa2.run		\
+	waitfor-cfa4.run
+
+waitfor-upp$(EXEEXT):
+	u++          schedext/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+waitfor-cfa1$(EXEEXT):
+	${CC}        schedext/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+waitfor-cfa2$(EXEEXT):
+	${CC}        schedext/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+waitfor-cfa4$(EXEEXT):
+	${CC}        schedext/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+creation$(EXEEXT) :\
+	creation-pthread.run			\
+	creation-cfa_coroutine.run		\
+	creation-cfa_coroutine_eager.run	\
+	creation-cfa_thread.run			\
+	creation-upp_coroutine.run		\
+	creation-upp_thread.run
+
+creation-cfa_coroutine$(EXEEXT):
+	${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+creation-cfa_coroutine_eager$(EXEEXT):
+	${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER
+
+creation-cfa_thread$(EXEEXT):
+	${CC}        creation/cfa_thrd.c  -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+creation-upp_coroutine$(EXEEXT):
+	u++          creation/upp_cor.cc  -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+creation-upp_thread$(EXEEXT):
+	u++          creation/upp_thrd.cc -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+creation-pthread$(EXEEXT):
+	@BACKEND_CC@ creation/pthreads.c  -DBENCH_N=250000     -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+compile$(EXEEXT) :\
+	compile-array$(EXEEXT)		\
+	compile-attributes$(EXEEXT)	\
+	compile-empty$(EXEEXT)  	\
+	compile-expression$(EXEEXT)	\
+	compile-io$(EXEEXT)		\
+	compile-monitor$(EXEEXT)	\
+	compile-operators$(EXEEXT)	\
+	compile-thread$(EXEEXT)		\
+	compile-typeof$(EXEEXT)		\
+	compile-vector_test$(EXEEXT)
+
+compile-array$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/array.c
+
+compile-attributes$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/attributes.c
+
+compile-empty$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w compile/empty.c
+
+compile-expression$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/expression.c
+
+compile-io$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/io.c
+
+compile-monitor$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/monitor.c
+
+compile-operators$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/operators.c
+
+compile-thread$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/thread.c
+
+compile-typeof$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/typeof.c
+
+compile-vector_test$(EXEEXT):
+	@printf '%20s\t' $(subst compile-,,$@)
+	@/usr/bin/time -f "%E" ${CC} -quiet -fsyntax-only -w ../tests/vector_test.c
+
 %.run : %$(EXEEXT) ${REPEAT}
 	@rm -f .result.log
@@ -457,195 +630,6 @@
 	@rm -f a.out .result.log
 
-%.runquiet :
-	@+make $(basename $@)
-	@./a.out
-	@rm -f a.out
-
-%.make :
-	@printf "${PRINT_FORMAT}" $(basename $(subst compile-,,$@))
-	@+/usr/bin/time -f ${TIME_FORMAT} make $(basename $@) 2>&1
-
 ${REPEAT} :
 	@+make -C ${TOOLSDIR} repeat
-
-jenkins$(EXEEXT):
-	@echo "{"
-	@echo -e '\t"githash": "'${githash}'",'
-	@echo -e '\t"arch": "'   ${arch}   '",'
-	@echo -e '\t"compile": {'
-	@+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :'
-	@echo -e '\t\t"dummy" : {}'
-	@echo -e '\t},'
-	@echo -e '\t"ctxswitch": {'
-	@echo -en '\t\t"coroutine":'
-	@+make ctxswitch-cfa_coroutine.runquiet
-	@echo -en '\t\t,"thread":'
-	@+make ctxswitch-cfa_thread.runquiet
-	@echo -e '\t},'
-	@echo -e '\t"mutex": ['
-	@echo -en '\t\t'
-	@+make mutex-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make mutex-cfa2.runquiet
-	@echo -e '\t],'
-	@echo -e '\t"scheduling": ['
-	@echo -en '\t\t'
-	@+make signal-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make signal-cfa2.runquiet
-	@echo -en '\t\t,'
-	@+make waitfor-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make waitfor-cfa2.runquiet
-	@echo -e '\n\t],'
-	@echo -e '\t"epoch": ' $(shell date +%s)
-	@echo "}"
-
-ctxswitch$(EXEEXT): \
-	ctxswitch-pthread.run		\
-	ctxswitch-cfa_coroutine.run	\
-	ctxswitch-cfa_thread.run	\
-	ctxswitch-upp_coroutine.run	\
-	ctxswitch-upp_thread.run
-
-ctxswitch-cfa_coroutine$(EXEEXT):
-	@${CC}        ctxswitch/cfa_cor.c   -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-cfa_thread$(EXEEXT):
-	@${CC}        ctxswitch/cfa_thrd.c  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-upp_coroutine$(EXEEXT):
-	@u++          ctxswitch/upp_cor.cc  -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-upp_thread$(EXEEXT):
-	@u++          ctxswitch/upp_thrd.cc -DBENCH_N=50000000  -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-ctxswitch-pthread$(EXEEXT):
-	@@BACKEND_CC@ ctxswitch/pthreads.c  -DBENCH_N=50000000  -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex$(EXEEXT) :\
-	mutex-function.run	\
-	mutex-pthread_lock.run	\
-	mutex-upp.run		\
-	mutex-cfa1.run		\
-	mutex-cfa2.run		\
-	mutex-cfa4.run
-
-mutex-function$(EXEEXT):
-	@@BACKEND_CC@ mutex/function.c    -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-pthread_lock$(EXEEXT):
-	@@BACKEND_CC@ mutex/pthreads.c    -DBENCH_N=50000000    -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-upp$(EXEEXT):
-	@u++          mutex/upp.cc        -DBENCH_N=50000000    -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-cfa1$(EXEEXT):
-	@${CC}        mutex/cfa1.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-cfa2$(EXEEXT):
-	@${CC}        mutex/cfa2.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-cfa4$(EXEEXT):
-	@${CC}        mutex/cfa4.c        -DBENCH_N=5000000     -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-signal$(EXEEXT) :\
-	signal-upp.run		\
-	signal-cfa1.run		\
-	signal-cfa2.run		\
-	signal-cfa4.run
-
-signal-upp$(EXEEXT):
-	@u++          schedint/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-signal-cfa1$(EXEEXT):
-	@${CC}        schedint/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-signal-cfa2$(EXEEXT):
-	@${CC}        schedint/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-signal-cfa4$(EXEEXT):
-	@${CC}        schedint/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-waitfor$(EXEEXT) :\
-	waitfor-upp.run		\
-	waitfor-cfa1.run		\
-	waitfor-cfa2.run		\
-	waitfor-cfa4.run
-
-waitfor-upp$(EXEEXT):
-	@u++          schedext/upp.cc     -DBENCH_N=5000000     -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-waitfor-cfa1$(EXEEXT):
-	@${CC}        schedext/cfa1.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-waitfor-cfa2$(EXEEXT):
-	@${CC}        schedext/cfa2.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-waitfor-cfa4$(EXEEXT):
-	@${CC}        schedext/cfa4.c     -DBENCH_N=500000      -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-creation$(EXEEXT) :\
-	creation-pthread.run			\
-	creation-cfa_coroutine.run		\
-	creation-cfa_coroutine_eager.run	\
-	creation-cfa_thread.run			\
-	creation-upp_coroutine.run		\
-	creation-upp_thread.run
-
-creation-cfa_coroutine$(EXEEXT):
-	@${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-creation-cfa_coroutine_eager$(EXEEXT):
-	@${CC}        creation/cfa_cor.c   -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER
-
-creation-cfa_thread$(EXEEXT):
-	@${CC}        creation/cfa_thrd.c  -DBENCH_N=10000000   -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-creation-upp_coroutine$(EXEEXT):
-	@u++          creation/upp_cor.cc  -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-creation-upp_thread$(EXEEXT):
-	@u++          creation/upp_thrd.cc -DBENCH_N=50000000   -I. -nodebug -lrt -quiet             ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-creation-pthread$(EXEEXT):
-	@@BACKEND_CC@ creation/pthreads.c  -DBENCH_N=250000     -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-compile$(EXEEXT) :\
-	compile-array.make	\
-	compile-attributes.make	\
-	compile-empty.make  	\
-	compile-expression.make	\
-	compile-io.make		\
-	compile-monitor.make	\
-	compile-operators.make	\
-	compile-typeof.make
-
-compile-array$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/array.c
-
-compile-attributes$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/attributes.c
-
-compile-empty$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w compile/empty.c
-
-compile-expression$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/expression.c
-
-compile-io$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/io.c
-
-compile-monitor$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/monitor.c
-
-compile-operators$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/operators.c
-
-compile-thread$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/thread.c
-
-compile-typeof$(EXEEXT):
-	@${CC} -nodebug -quiet -fsyntax-only -w ../tests/typeof.c
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: src/benchmark/csv-data.c
===================================================================
--- src/benchmark/csv-data.c	(revision b7f8cb449799bf83b570f340be3a9cf0ac7f175e)
+++ src/benchmark/csv-data.c	(revision 11094d9e8320e6ac1134dd033cf6a3b08036a935)
@@ -28,5 +28,5 @@
 // coroutine context switch
 long long int measure_coroutine() {
-	const unsigned int NoOfTimes = 50000000;
+	const unsigned int NoOfTimes = N;
 	long long int StartTime, EndTime;
 
@@ -43,5 +43,5 @@
 // thread context switch
 long long int measure_thread() {
-	const unsigned int NoOfTimes = 50000000;
+	const unsigned int NoOfTimes = N;
 	long long int StartTime, EndTime;
 
@@ -61,5 +61,5 @@
 
 long long int measure_1_monitor_entry() {
-	const unsigned int NoOfTimes = 5000000;
+	const unsigned int NoOfTimes = N;
 	long long int StartTime, EndTime;
 	mon_t mon;
@@ -79,5 +79,5 @@
 
 long long int measure_2_monitor_entry() {
-	const unsigned int NoOfTimes = 5000000;
+	const unsigned int NoOfTimes = N;
 	long long int StartTime, EndTime;
 	mon_t mon1, mon2;
@@ -94,6 +94,4 @@
 //-----------------------------------------------------------------------------
 // single internal sched entry
-const unsigned int NoOfTimes = 500000;
-
 mon_t mon1;
 
@@ -109,5 +107,4 @@
 
 void side1A( mon_t & mutex a, long long int * out ) {
-	const unsigned int NoOfTimes = 500000;
 	long long int StartTime, EndTime;
 
@@ -115,10 +112,10 @@
 	for( int i = 0;; i++ ) {
 		signal(cond1a);
-		if( i > NoOfTimes ) break;
+		if( i > N ) break;
 		wait(cond1b);
 	}
 	EndTime = Time();
 
-	*out = ( EndTime - StartTime ) / NoOfTimes;
+	*out = ( EndTime - StartTime ) / N;
 }
 
@@ -144,5 +141,5 @@
 
 //-----------------------------------------------------------------------------
-// multi internal sched
+// multi internal sched entry
 mon_t mon2;
 
@@ -158,5 +155,4 @@
 
 void side2A( mon_t & mutex a, mon_t & mutex b, long long int * out ) {
-	const unsigned int NoOfTimes = 500000;
 	long long int StartTime, EndTime;
 
@@ -164,10 +160,10 @@
 	for( int i = 0;; i++ ) {
 		signal(cond2a);
-		if( i > NoOfTimes ) break;
+		if( i > N ) break;
 		wait(cond2b);
 	}
 	EndTime = Time();
 
-	*out = ( EndTime - StartTime ) / NoOfTimes;
+	*out = ( EndTime - StartTime ) / N;
 }
 
@@ -193,84 +189,13 @@
 
 //-----------------------------------------------------------------------------
-// single external sched
-
-volatile int go = 0;
-
-void __attribute__((noinline)) call( mon_t & mutex m1 ) {}
-
-long long int  __attribute__((noinline)) wait( mon_t & mutex m1 ) {
-	go = 1;
-	const unsigned int NoOfTimes = 5000000;
-	long long int StartTime, EndTime;
-
-	StartTime = Time();
-	for (size_t i = 0; i < NoOfTimes; i++) {
-		waitfor(call, m1);
-	}
-
-	EndTime = Time();
-	go = 0;
-	return ( EndTime - StartTime ) / NoOfTimes;
-}
-
-thread thrd3 {};
-void ^?{}( thrd3 & mutex this ) {}
-void main( thrd3 & this ) {
-	while(go == 0) { yield(); }
-	while(go == 1) { call(mon1); }
-
-}
-
-long long int measure_1_sched_ext() {
-	go = 0;
-	thrd3 t;
-	return wait(mon1);
-}
-
-//-----------------------------------------------------------------------------
-// multi external sched
-
-void __attribute__((noinline)) call( mon_t & mutex m1, mon_t & mutex m2 ) {}
-
-long long int  __attribute__((noinline)) wait( mon_t & mutex m1, mon_t & mutex m2 ) {
-	go = 1;
-	const unsigned int NoOfTimes = 5000000;
-	long long int StartTime, EndTime;
-
-	StartTime = Time();
-	for (size_t i = 0; i < NoOfTimes; i++) {
-		waitfor(call, m1, m2);
-	}
-
-	EndTime = Time();
-	go = 0;
-	return ( EndTime - StartTime ) / NoOfTimes;
-}
-
-thread thrd4 {};
-void ^?{}( thrd4 & mutex this ) {}
-void main( thrd4 & this ) {
-	while(go == 0) { yield(); }
-	while(go == 1) { call(mon1, mon2); }
-
-}
-
-long long int measure_2_sched_ext() {
-	go = 0;
-	thrd3 t;
-	return wait(mon1, mon2);
-}
-
-//-----------------------------------------------------------------------------
 // main loop
 int main()
 {
-	sout | "\tepoch:" | time(NULL) | ',' | endl;
-	sout | "\tctxswitch: {" | endl;
-	sout | "\t\tcoroutine: "| measure_coroutine() | ',' | endl;
-	sout | "\t\tthread:" | measure_thread() | ',' | endl;
-	sout | "\t}," | endl;
-	sout | "\tmutex: [" 	| measure_1_monitor_entry() 	| ',' | measure_2_monitor_entry() 	| "]," | endl;
-	sout | "\tscheduling: ["| measure_1_sched_int() 	| ',' | measure_2_sched_int() 	| ','  |
-					  measure_1_sched_ext() 	| ',' | measure_2_sched_ext() 	| "]," | endl;
-}
+	sout | time(NULL) | ',';
+	sout | measure_coroutine() | ',';
+	sout | measure_thread() | ',';
+	sout | measure_1_monitor_entry() | ',';
+	sout | measure_2_monitor_entry() | ',';
+	sout | measure_1_sched_int() | ',';
+	sout | measure_2_sched_int() | endl;
+}
