Index: benchmark/readyQ/cycle.go
===================================================================
--- benchmark/readyQ/cycle.go	(revision 5a40e4e279bddd2729dfb277bdde6cf6ef6b76d3)
+++ benchmark/readyQ/cycle.go	(revision d0b9247e0319aa788954f0367c5a245623826293)
@@ -60,5 +60,5 @@
 	atomic.StoreInt32(&stop, 1)
 	end := time.Now()
-	delta := end.Sub(start)
+	duration := end.Sub(start)
 
 	fmt.Printf("\nDone\n")
@@ -74,15 +74,15 @@
 
 	p := message.NewPrinter(language.English)
-	p.Printf("Duration (ms)        : %f\n", delta.Seconds());
+	p.Printf("Duration (ms)        : %d\n", duration.Milliseconds())
 	p.Printf("Number of processors : %d\n", nprocs);
 	p.Printf("Number of threads    : %d\n", tthreads);
 	p.Printf("Cycle size (# thrds) : %d\n", ring_size);
 	p.Printf("Total Operations(ops): %15d\n", global_counter)
-	p.Printf("Ops per second       : %18.2f\n", float64(global_counter) / delta.Seconds())
-	p.Printf("ns per ops           : %18.2f\n", float64(delta.Nanoseconds()) / float64(global_counter))
+	p.Printf("Ops per second       : %18.2f\n", float64(global_counter) / duration.Seconds())
+	p.Printf("ns per ops           : %18.2f\n", float64(duration.Nanoseconds()) / float64(global_counter))
 	p.Printf("Ops per threads      : %15d\n", global_counter / uint64(tthreads))
 	p.Printf("Ops per procs        : %15d\n", global_counter / uint64(nprocs))
-	p.Printf("Ops/sec/procs        : %18.2f\n", (float64(global_counter) / float64(nprocs)) / delta.Seconds())
-	p.Printf("ns per ops/procs     : %18.2f\n", float64(delta.Nanoseconds()) / (float64(global_counter) / float64(nprocs)))
+	p.Printf("Ops/sec/procs        : %18.2f\n", (float64(global_counter) / float64(nprocs)) / duration.Seconds())
+	p.Printf("ns per ops/procs     : %18.2f\n", float64(duration.Nanoseconds()) / (float64(global_counter) / float64(nprocs)))
 
 }
Index: benchmark/readyQ/yield.go
===================================================================
--- benchmark/readyQ/yield.go	(revision d0b9247e0319aa788954f0367c5a245623826293)
+++ benchmark/readyQ/yield.go	(revision d0b9247e0319aa788954f0367c5a245623826293)
@@ -0,0 +1,67 @@
+package main
+
+import (
+	"fmt"
+	"runtime"
+	"sync"
+	"sync/atomic"
+	"time"
+	"golang.org/x/text/language"
+	"golang.org/x/text/message"
+)
+
+func yielder(result chan uint64, start *sync.WaitGroup) {
+	count := uint64(0)
+	start.Wait()
+	for true {
+		runtime.Gosched()
+		count += 1
+		if  clock_mode && atomic.LoadInt32(&stop) == 1 { break }
+		if !clock_mode && count >= stop_count { break }
+	}
+
+	atomic.AddInt64(&threads_left, -1);
+	result <- count
+}
+
+func main() {
+	bench_init()
+
+	threads_left = int64(nthreads)
+
+	result := make(chan uint64)
+	var wg sync.WaitGroup
+	wg.Add(1)
+
+	for i := 0; i < nthreads; i++ {
+		go yielder(result, &wg)
+	}
+	fmt.Printf("Starting\n");
+	atomic.StoreInt32(&stop, 0)
+	start := time.Now()
+	wg.Done();
+	wait(start, true);
+
+	atomic.StoreInt32(&stop, 1)
+	end := time.Now()
+	duration := end.Sub(start)
+
+	fmt.Printf("\nDone\n")
+
+	global_counter := uint64(0)
+	for i := 0; i < nthreads; i++ {
+		global_counter += <- result
+	}
+
+	p := message.NewPrinter(language.English)
+	p.Printf("Duration (ms)        : %d\n", duration.Milliseconds())
+	p.Printf("Number of processors : %d\n", nprocs)
+	p.Printf("Number of threads    : %d\n", nthreads)
+	p.Printf("Total Operations(ops): %15d\n", global_counter)
+	p.Printf("Ops per second       : %18.2f\n", float64(global_counter) / duration.Seconds())
+	p.Printf("ns per ops           : %18.2f\n", float64(duration.Nanoseconds()) / float64(global_counter))
+	p.Printf("Ops per threads      : %15d\n", global_counter / uint64(nthreads))
+	p.Printf("Ops per procs        : %15d\n", global_counter / uint64(nprocs))
+	p.Printf("Ops/sec/procs        : %18.2f\n", (float64(global_counter) / float64(nprocs)) / duration.Seconds())
+	p.Printf("ns per ops/procs     : %18.2f\n", float64(duration.Nanoseconds()) / (float64(global_counter) / float64(nprocs)))
+}
Index: benchmark/readyQ/yield.rs
===================================================================
--- benchmark/readyQ/yield.rs	(revision 5a40e4e279bddd2729dfb277bdde6cf6ef6b76d3)
+++ benchmark/readyQ/yield.rs	(revision d0b9247e0319aa788954f0367c5a245623826293)
@@ -37,5 +37,5 @@
 // ==================================================
 fn main() {
-	let options = App::new("Cycle Tokio")
+	let options = App::new("Yield Tokio")
 		.args(&bench::args())
 		.get_matches();
