Index: benchmark/Makefile.am
===================================================================
--- benchmark/Makefile.am	(revision 2316525c0ab1029715c0c8bc2f6fe53ca84525fe)
+++ benchmark/Makefile.am	(revision c12869e252446e2346b620e01a91c06700f67b70)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 09:08:15 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Sun Jan 19 12:55:02 2020
-## Update Count     : 232
+## Last Modified On : Mon Jan 20 11:50:13 2020
+## Update Count     : 244
 ###############################################################################
 
@@ -56,5 +56,5 @@
 STATS    = ${abs_top_srcdir}/tools/stat.py
 # NEED AT LEAST 4 DATA VALUES FOR BENCHMARKS BECAUSE THE MAX AND MIN VALUES ARE REMOVED
-repeats  = 5 # 31 for benchmarks
+repeats  = 13 # 31 for benchmarks
 arch     = x64
 skipcompile = no
@@ -114,5 +114,5 @@
 	echo "------------------------------------------------------"
 	echo $<
-	${REPEAT} ${repeats} -- /usr/bin/time -f "%Uu %Ss %Er %Mkb" ./a.out\
+	${REPEAT} ${repeats} -- ./a.out\
 		$(if ${$(subst -,_,$(basename $@))_DURATION},\
 			${$(subst -,_,$(basename $@))_DURATION},\
@@ -121,4 +121,6 @@
 	echo "------------------------------------------------------"
 	rm -f a.out .result.log *.class
+
+#	${REPEAT} ${repeats} -- /usr/bin/time -f "%Uu %Ss %Er %Mkb" ./a.out
 
 %.runquiet :
@@ -237,5 +239,4 @@
 
 CTXSWITCH_DEPEND  =			\
-	ctxswitch-pthread.run		\
 	ctxswitch-cfa_generator.run	\
 	ctxswitch-cfa_coroutine.run	\
@@ -244,8 +245,11 @@
 	ctxswitch-upp_coroutine.run	\
 	ctxswitch-upp_thread.run	\
-	ctxswitch-goroutine.run		\
+	ctxswitch-python_coroutine.run	\
+	ctxswitch-nodejs_coroutine.run	\
+	ctxswitch-goroutine_thread.run	\
 	ctxswitch-rust_thread.run	\
 	ctxswitch-nodejs_coroutine.run	\
-	ctxswitch-java_thread.run
+	ctxswitch-java_thread.run	\
+	ctxswitch-pthread.run
 
 if WITH_LIBFIBRE
@@ -263,46 +267,50 @@
 ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND)
 
+ctxswitch-cfa_generator$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_gen.cfa
+
+ctxswitch-cfa_coroutine$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_cor.cfa
+
+ctxswitch-cfa_thread$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd.cfa
+
+ctxswitch-cfa_thread2$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd2.cfa
+
+ctxswitch-upp_coroutine$(EXEEXT):
+	$(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_cor.cc
+
+ctxswitch-upp_thread$(EXEEXT):
+	$(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_thrd.cc
+
+ctxswitch-python_coroutine$(EXEEXT):
+	echo "#!/bin/sh" > a.out
+	echo "python3.7 $(srcdir)/ctxswitch/python_cor.py" >> a.out
+	chmod a+x a.out
+
+ctxswitch-nodejs_coroutine$(EXEEXT):
+	echo "#!/bin/sh" > a.out
+	echo "nodejs $(srcdir)/ctxswitch/node_cor.js" >> a.out
+	chmod a+x a.out
+
+ctxswitch-goroutine_thread$(EXEEXT):
+	$(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
+
+ctxswitch-rust_thread$(EXEEXT):
+	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/ctxswitch/rust_thrd.rs
+
+ctxswitch-java_thread$(EXEEXT):
+	$(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
+	echo "#!/bin/sh" > a.out
+	echo "java JavaThread" >> a.out
+	chmod a+x a.out
+
 ctxswitch-pthread$(EXEEXT):
 	$(BENCH_V_CC)$(COMPILE) $(srcdir)/ctxswitch/pthreads.c
 
-ctxswitch-cfa_generator$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_gen.cfa
-
-ctxswitch-cfa_coroutine$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_cor.cfa
-
-ctxswitch-cfa_thread$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd.cfa
-
-ctxswitch-cfa_thread2$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_thrd2.cfa
-
-ctxswitch-upp_coroutine$(EXEEXT):
-	$(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_cor.cc
-
-ctxswitch-upp_thread$(EXEEXT):
-	$(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_thrd.cc
-
-ctxswitch-goroutine$(EXEEXT):
-	$(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
-
-ctxswitch-rust_thread$(EXEEXT):
-	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/ctxswitch/rust_thrd.rs
-
-ctxswitch-nodejs_coroutine$(EXEEXT):
-	echo "#!/bin/sh" > a.out
-	echo "nodejs $(srcdir)/ctxswitch/node_cor.js" >> a.out
-	chmod a+x a.out
-
-ctxswitch-java_thread$(EXEEXT):
-	$(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
-	echo "#!/bin/sh" > a.out
-	echo "java JavaThread" >> a.out
-	chmod a+x a.out
-
 ## =========================================================================================================
 
 mutex$(EXEEXT) :		\
-	mutex-pthread.run	\
 	mutex-cfa1.run		\
 	mutex-cfa2.run		\
@@ -311,5 +319,6 @@
 	mutex-go.run		\
 	mutex-rust.run		\
-	mutex-java.run
+	mutex-java.run		\
+	mutex-pthread.run
 
 mutex-pthread$(EXEEXT):
@@ -343,11 +352,11 @@
 
 signal$(EXEEXT) :		\
-	signal-pthread.run	\
-	signal-upp.run		\
 	signal-cfa1.run		\
 	signal-cfa2.run		\
 	signal-cfa4.run		\
+	signal-upp.run		\
 	signal-rust.run		\
-	signal-java.run
+	signal-java.run		\
+	signal-pthread.run
 
 signal-pthread$(EXEEXT):
@@ -378,8 +387,8 @@
 
 waitfor$(EXEEXT) :		\
-	waitfor-upp.run		\
 	waitfor-cfa1.run	\
 	waitfor-cfa2.run	\
-	waitfor-cfa4.run
+	waitfor-cfa4.run	\
+	waitfor-upp.run
 
 waitfor-upp$(EXEEXT):
@@ -398,5 +407,4 @@
 
 creation$(EXEEXT) :				\
-	creation-pthread.run			\
 	creation-cfa_coroutine.run		\
 	creation-cfa_coroutine_eager.run	\
@@ -404,8 +412,10 @@
 	creation-upp_coroutine.run		\
 	creation-upp_thread.run			\
-	creation-goroutine.run			\
-	creation-rust.run			\
+	creation-python_coroutine.run		\
 	creation-nodejs_coroutine.run		\
-	creation-java.run
+	creation-goroutine_thread.run		\
+	creation-rust_thread.run		\
+	creation-java_thread.run		\
+	creation-pthread.run
 
 creation-cfa_coroutine$(EXEEXT):
@@ -424,23 +434,28 @@
 	$(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/creation/upp_thrd.cc
 
+creation-python_coroutine$(EXEEXT):
+	echo "#!/bin/sh" > a.out
+	echo "python3.7 $(srcdir)/creation/python_cor.py" >> a.out
+	chmod a+x a.out
+
+creation-nodejs_coroutine$(EXEEXT):
+	echo "#!/bin/sh" > a.out
+	echo "nodejs $(srcdir)/creation/node_cor.js" >> a.out
+	chmod a+x a.out
+
+creation-goroutine_thread$(EXEEXT):
+	$(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
+
+creation-rust_thread$(EXEEXT):
+	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
+
+creation-java$(EXEEXT):
+	$(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
+	echo "#!/bin/sh" > a.out
+	echo "java JavaThread" >> a.out
+	chmod a+x a.out
+
 creation-pthread$(EXEEXT):
 	$(BENCH_V_CC)$(COMPILE) $(srcdir)/creation/pthreads.c
-
-creation-goroutine$(EXEEXT):
-	$(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
-
-creation-rust$(EXEEXT):
-	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
-
-creation-nodejs_coroutine$(EXEEXT):
-	echo "#!/bin/sh" > a.out
-	echo "nodejs $(srcdir)/creation/node_cor.js" >> a.out
-	chmod a+x a.out
-
-creation-java$(EXEEXT):
-	$(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
-	echo "#!/bin/sh" > a.out
-	echo "java JavaThread" >> a.out
-	chmod a+x a.out
 
 ## =========================================================================================================
Index: benchmark/Makefile.in
===================================================================
--- benchmark/Makefile.in	(revision 2316525c0ab1029715c0c8bc2f6fe53ca84525fe)
+++ benchmark/Makefile.in	(revision c12869e252446e2346b620e01a91c06700f67b70)
@@ -413,5 +413,5 @@
 STATS = ${abs_top_srcdir}/tools/stat.py
 # NEED AT LEAST 4 DATA VALUES FOR BENCHMARKS BECAUSE THE MAX AND MIN VALUES ARE REMOVED
-repeats = 5 # 31 for benchmarks
+repeats = 13 # 31 for benchmarks
 arch = x64
 skipcompile = no
@@ -450,10 +450,12 @@
 	basic-tls-fetch_add.run
 
-CTXSWITCH_DEPEND = ctxswitch-pthread.run ctxswitch-cfa_generator.run \
+CTXSWITCH_DEPEND = ctxswitch-cfa_generator.run \
 	ctxswitch-cfa_coroutine.run ctxswitch-cfa_thread.run \
 	ctxswitch-cfa_thread2.run ctxswitch-upp_coroutine.run \
-	ctxswitch-upp_thread.run ctxswitch-goroutine.run \
+	ctxswitch-upp_thread.run ctxswitch-python_coroutine.run \
+	ctxswitch-nodejs_coroutine.run ctxswitch-goroutine_thread.run \
 	ctxswitch-rust_thread.run ctxswitch-nodejs_coroutine.run \
-	ctxswitch-java_thread.run $(am__append_1)
+	ctxswitch-java_thread.run ctxswitch-pthread.run \
+	$(am__append_1)
 testdir = $(top_srcdir)/tests
 all: all-am
@@ -790,5 +792,5 @@
 	echo "------------------------------------------------------"
 	echo $<
-	${REPEAT} ${repeats} -- /usr/bin/time -f "%Uu %Ss %Er %Mkb" ./a.out\
+	${REPEAT} ${repeats} -- ./a.out\
 		$(if ${$(subst -,_,$(basename $@))_DURATION},\
 			${$(subst -,_,$(basename $@))_DURATION},\
@@ -797,4 +799,6 @@
 	echo "------------------------------------------------------"
 	rm -f a.out .result.log *.class
+
+#	${REPEAT} ${repeats} -- /usr/bin/time -f "%Uu %Ss %Er %Mkb" ./a.out
 
 %.runquiet :
@@ -905,7 +909,4 @@
 ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND)
 
-ctxswitch-pthread$(EXEEXT):
-	$(BENCH_V_CC)$(COMPILE) $(srcdir)/ctxswitch/pthreads.c
-
 ctxswitch-cfa_generator$(EXEEXT):
 	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/ctxswitch/cfa_gen.cfa
@@ -926,9 +927,8 @@
 	$(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/ctxswitch/upp_thrd.cc
 
-ctxswitch-goroutine$(EXEEXT):
-	$(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
-
-ctxswitch-rust_thread$(EXEEXT):
-	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/ctxswitch/rust_thrd.rs
+ctxswitch-python_coroutine$(EXEEXT):
+	echo "#!/bin/sh" > a.out
+	echo "python3.7 $(srcdir)/ctxswitch/python_cor.py" >> a.out
+	chmod a+x a.out
 
 ctxswitch-nodejs_coroutine$(EXEEXT):
@@ -936,4 +936,10 @@
 	echo "nodejs $(srcdir)/ctxswitch/node_cor.js" >> a.out
 	chmod a+x a.out
+
+ctxswitch-goroutine_thread$(EXEEXT):
+	$(BENCH_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
+
+ctxswitch-rust_thread$(EXEEXT):
+	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/ctxswitch/rust_thrd.rs
 
 ctxswitch-java_thread$(EXEEXT):
@@ -943,6 +949,8 @@
 	chmod a+x a.out
 
+ctxswitch-pthread$(EXEEXT):
+	$(BENCH_V_CC)$(COMPILE) $(srcdir)/ctxswitch/pthreads.c
+
 mutex$(EXEEXT) :		\
-	mutex-pthread.run	\
 	mutex-cfa1.run		\
 	mutex-cfa2.run		\
@@ -951,5 +959,6 @@
 	mutex-go.run		\
 	mutex-rust.run		\
-	mutex-java.run
+	mutex-java.run		\
+	mutex-pthread.run
 
 mutex-pthread$(EXEEXT):
@@ -981,11 +990,11 @@
 
 signal$(EXEEXT) :		\
-	signal-pthread.run	\
-	signal-upp.run		\
 	signal-cfa1.run		\
 	signal-cfa2.run		\
 	signal-cfa4.run		\
+	signal-upp.run		\
 	signal-rust.run		\
-	signal-java.run
+	signal-java.run		\
+	signal-pthread.run
 
 signal-pthread$(EXEEXT):
@@ -1014,8 +1023,8 @@
 
 waitfor$(EXEEXT) :		\
-	waitfor-upp.run		\
 	waitfor-cfa1.run	\
 	waitfor-cfa2.run	\
-	waitfor-cfa4.run
+	waitfor-cfa4.run	\
+	waitfor-upp.run
 
 waitfor-upp$(EXEEXT):
@@ -1032,5 +1041,4 @@
 
 creation$(EXEEXT) :				\
-	creation-pthread.run			\
 	creation-cfa_coroutine.run		\
 	creation-cfa_coroutine_eager.run	\
@@ -1038,8 +1046,10 @@
 	creation-upp_coroutine.run		\
 	creation-upp_thread.run			\
-	creation-goroutine.run			\
-	creation-rust.run			\
+	creation-python_coroutine.run		\
 	creation-nodejs_coroutine.run		\
-	creation-java.run
+	creation-goroutine_thread.run		\
+	creation-rust_thread.run		\
+	creation-java_thread.run		\
+	creation-pthread.run
 
 creation-cfa_coroutine$(EXEEXT):
@@ -1058,12 +1068,8 @@
 	$(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/creation/upp_thrd.cc
 
-creation-pthread$(EXEEXT):
-	$(BENCH_V_CC)$(COMPILE) $(srcdir)/creation/pthreads.c
-
-creation-goroutine$(EXEEXT):
-	$(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
-
-creation-rust$(EXEEXT):
-	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
+creation-python_coroutine$(EXEEXT):
+	echo "#!/bin/sh" > a.out
+	echo "python3.7 $(srcdir)/creation/python_cor.py" >> a.out
+	chmod a+x a.out
 
 creation-nodejs_coroutine$(EXEEXT):
@@ -1071,4 +1077,10 @@
 	echo "nodejs $(srcdir)/creation/node_cor.js" >> a.out
 	chmod a+x a.out
+
+creation-goroutine_thread$(EXEEXT):
+	$(BENCH_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
+
+creation-rust_thread$(EXEEXT):
+	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
 
 creation-java$(EXEEXT):
@@ -1077,4 +1089,7 @@
 	echo "java JavaThread" >> a.out
 	chmod a+x a.out
+
+creation-pthread$(EXEEXT):
+	$(BENCH_V_CC)$(COMPILE) $(srcdir)/creation/pthreads.c
 
 compile$(EXEEXT) :		\
Index: benchmark/creation/node_cor.js
===================================================================
--- benchmark/creation/node_cor.js	(revision 2316525c0ab1029715c0c8bc2f6fe53ca84525fe)
+++ benchmark/creation/node_cor.js	(revision c12869e252446e2346b620e01a91c06700f67b70)
@@ -4,5 +4,5 @@
 if ( argc == 3 ) times = Number( process.argv[2] )
 
-function * coroutine() {}
+function * coroutine() { yield }
 var hrstart = process.hrtime()
 for ( var i = 0; i < times; i += 1 ) {
@@ -15,4 +15,4 @@
 // Local Variables: //
 // tab-width: 4 //
-// compile-command: "node node_cor.js" //
+// compile-command: "nodejs node_cor.js" //
 // End: //
Index: benchmark/creation/python_cor.py
===================================================================
--- benchmark/creation/python_cor.py	(revision c12869e252446e2346b620e01a91c06700f67b70)
+++ benchmark/creation/python_cor.py	(revision c12869e252446e2346b620e01a91c06700f67b70)
@@ -0,0 +1,24 @@
+import sys
+import time
+
+times = 50000000
+argc = len( sys.argv )
+if argc > 2:
+	sys.exit( 1 )
+if argc == 2:
+	times = int( sys.argv[1] )
+
+def C():
+	yield
+
+start = time.time_ns()
+for i in range( 10000000 ):
+	c = C()
+	next( c )  # resume
+end = time.time_ns()
+print( (end - start) / times )
+
+# Local Variables: #
+# tab-width: 4 #
+# compile-command: "python3.7 python_cor.py" #
+# End: #
Index: benchmark/creation/upp_cor.cc
===================================================================
--- benchmark/creation/upp_cor.cc	(revision 2316525c0ab1029715c0c8bc2f6fe53ca84525fe)
+++ benchmark/creation/upp_cor.cc	(revision c12869e252446e2346b620e01a91c06700f67b70)
@@ -5,4 +5,6 @@
 _Coroutine MyCor {
 	void main() {}
+  public:
+	MyCor() { resume(); }
 };
 
Index: benchmark/ctxswitch/node_cor.js
===================================================================
--- benchmark/ctxswitch/node_cor.js	(revision 2316525c0ab1029715c0c8bc2f6fe53ca84525fe)
+++ benchmark/ctxswitch/node_cor.js	(revision c12869e252446e2346b620e01a91c06700f67b70)
@@ -21,4 +21,4 @@
 // Local Variables: //
 // tab-width: 4 //
-// compile-command: "node node_cor.js" //
+// compile-command: "nodejs node_cor.js" //
 // End: //
