Index: benchmark/creation/JavaThread.java
===================================================================
--- benchmark/creation/JavaThread.java	(revision be53b87bb8b688d529b9f3ca8a4a7bfd47305629)
+++ benchmark/creation/JavaThread.java	(revision 580c11b1c29e9c6f588c84b5c0c0947fb1998d70)
@@ -26,5 +26,5 @@
 	static int x = 2;
 
-	static private final int NoOfTimes = Integer.parseInt("10000") ;
+	static private int times = Integer.parseInt("10000") ;
 
 	public static class MyThread extends Thread {
@@ -47,7 +47,10 @@
 	}
 	public static void main(String[] args) throws InterruptedException {
-		for (int n = Integer.parseInt("5"); --n >= 0 ; ) { 
+		if ( args.length > 2 ) System.exit( 1 );
+		if ( args.length == 2 ) { times = Integer.parseInt(args[1]); }
+
+		for (int i = Integer.parseInt("5"); --i >= 0 ; ) { 
 			InnerMain();
-			Thread.sleep(2000);     // 2 seconds
+			Thread.sleep(2000);	// 2 seconds
 			x = nextRandom(x);
 		}
@@ -55,2 +58,6 @@
 	}
 }
+
+// Local Variables: //
+// tab-width: 4 //
+// End: //
Index: benchmark/creation/cfa_cor.cfa
===================================================================
--- benchmark/creation/cfa_cor.cfa	(revision be53b87bb8b688d529b9f3ca8a4a7bfd47305629)
+++ benchmark/creation/cfa_cor.cfa	(revision 580c11b1c29e9c6f588c84b5c0c0947fb1998d70)
@@ -12,12 +12,16 @@
 void main(MyCoroutine &) {}
 
-int main(int argc, char* argv[]) {
+int main( int argc, char * argv[] ) {
+	BENCH_START()
 	BENCH(
-		for ( i; n ) {
+		for ( i; times ) {
 			MyCoroutine m;
 		},
 		result
 	)
+	printf( "%g\n", result );
+}
 
-	printf("%g\n", result);
-}
+// Local Variables: //
+// tab-width: 4 //
+// End: //
Index: benchmark/creation/cfa_thrd.cfa
===================================================================
--- benchmark/creation/cfa_thrd.cfa	(revision be53b87bb8b688d529b9f3ca8a4a7bfd47305629)
+++ benchmark/creation/cfa_thrd.cfa	(revision 580c11b1c29e9c6f588c84b5c0c0947fb1998d70)
@@ -7,12 +7,16 @@
 void main(MyThread &) {}
 
-int main(int argc, char* argv[]) {
+int main( int argc, char * argv[] ) {
+	BENCH_START()
 	BENCH(
-		for ( i; n ) {
+		for ( i; times ) {
 			MyThread m;
 		},
 		result
 	)
+	printf( "%g\n", result );
+}
 
-	printf("%g\n", result);
-}
+// Local Variables: //
+// tab-width: 4 //
+// End: //
Index: benchmark/creation/goroutine.go
===================================================================
--- benchmark/creation/goroutine.go	(revision be53b87bb8b688d529b9f3ca8a4a7bfd47305629)
+++ benchmark/creation/goroutine.go	(revision 580c11b1c29e9c6f588c84b5c0c0947fb1998d70)
@@ -4,4 +4,5 @@
     "fmt"
     "time"
+    "flag"
 )
 
@@ -17,11 +18,16 @@
 
 func main() {
-	const NoOfTimes = 500000
+	times := flag.Int( "times", 500000, "loop iterations" )
+	flag.Parse()
 	start := time.Now()
-	for i := 1; i <= NoOfTimes; i += 1 {
+	for i := 1; i <= *times; i += 1 {
 		go noop()		// creation
+		<- shake		// wait for completion
 	}
 	end := time.Now()
-	fmt.Printf("%d\n", end.Sub(start) / time.Duration(NoOfTimes))
-	<- shake
+	fmt.Printf( "%d\n", end.Sub(start) / time.Duration(*times) )
 }
+
+// Local Variables: //
+// tab-width: 4 //
+// End: //
Index: benchmark/creation/pthreads.c
===================================================================
--- benchmark/creation/pthreads.c	(revision be53b87bb8b688d529b9f3ca8a4a7bfd47305629)
+++ benchmark/creation/pthreads.c	(revision 580c11b1c29e9c6f588c84b5c0c0947fb1998d70)
@@ -4,11 +4,12 @@
 #include "bench.h"
 
-static void *foo(void *arg) {
+static void * foo(void *arg) {
     return arg;
 }
 
-int main(int argc, char* argv[]) {
+int main( int argc, char * argv[] ) {
+	BENCH_START()
 	BENCH(
-		for (size_t i = 0; i < n; i++) {
+		for (size_t i = 0; i < times; i++) {
 			pthread_t thread;
 			if (pthread_create(&thread, NULL, foo, NULL) < 0) {
@@ -16,5 +17,4 @@
 				return 1;
 			}
-
 			if (pthread_join( thread, NULL) < 0) {
 				perror( "failure" );
@@ -24,5 +24,8 @@
 		result
 	)
+	printf( "%g\n", result );
+}
 
-	printf("%g\n", result);
-}
+// Local Variables: //
+// tab-width: 4 //
+// End: //
Index: benchmark/creation/rust_thrd.rs
===================================================================
--- benchmark/creation/rust_thrd.rs	(revision 580c11b1c29e9c6f588c84b5c0c0947fb1998d70)
+++ benchmark/creation/rust_thrd.rs	(revision 580c11b1c29e9c6f588c84b5c0c0947fb1998d70)
@@ -0,0 +1,25 @@
+use std::env;
+use std::process;
+use std::thread;
+use std::time::Instant;
+
+fn main() {
+	let mut times : u32 = 250000;
+	let args: Vec<String> = env::args().collect();
+	if args.len() > 2 { process::exit( 1 ); }
+	if args.len() == 2 { times = args[1].parse().unwrap(); }
+
+	let start = Instant::now();
+	for _ in 1..times {
+		let th = thread::spawn( move || {});
+		th.join().unwrap();
+	}
+	let duration = start.elapsed() / times;
+	println!( "{:?}", duration.as_nanos() )
+}
+
+// Local Variables: //
+// mode: c++ //
+// tab-width: 4 //
+// compile-command: "rustc -C opt-level=3 rust_thrd.rs" //
+// End: //
Index: benchmark/creation/upp_cor.cc
===================================================================
--- benchmark/creation/upp_cor.cc	(revision be53b87bb8b688d529b9f3ca8a4a7bfd47305629)
+++ benchmark/creation/upp_cor.cc	(revision 580c11b1c29e9c6f588c84b5c0c0947fb1998d70)
@@ -7,12 +7,16 @@
 };
 
-int main(int argc, char* argv[]) {
+int main( int argc, char * argv[] ) {
+	BENCH_START()
 	BENCH(
-		for (size_t i = 0; i < n; i++) {
+		for (size_t i = 0; i < times; i++) {
 			MyCor m;
 		},
 		result
 	)
+	printf( "%g\n", result );
+}
 
-	printf("%g\n", result);
-}
+// Local Variables: //
+// tab-width: 4 //
+// End: //
Index: benchmark/creation/upp_thrd.cc
===================================================================
--- benchmark/creation/upp_thrd.cc	(revision be53b87bb8b688d529b9f3ca8a4a7bfd47305629)
+++ benchmark/creation/upp_thrd.cc	(revision 580c11b1c29e9c6f588c84b5c0c0947fb1998d70)
@@ -7,12 +7,16 @@
 };
 
-int main(int argc, char* argv[]) {
+int main( int argc, char * argv[] ) {
+	BENCH_START()
 	BENCH(
-		for (size_t i = 0; i < n; i++) {
+		for (size_t i = 0; i < times; i++) {
 			MyThread m;
 		},
 		result
 	)
+	printf( "%g\n", result );
+}
 
-	printf("%g\n", result);
-}
+// Local Variables: //
+// tab-width: 4 //
+// End: //
