Loading workload/workload_test.go +25 −0 Original line number Diff line number Diff line Loading @@ -126,3 +126,28 @@ func TestPrimesDispatched(t *testing.T) { t.Logf("Search took: %v", time.Since(start)) } func TestPrimesDispatchedBrief(t *testing.T) { done := make(chan interface{}) defer close(done) start := time.Now() rand := func() interface{} { return rand.Intn(50000000) } randIntStream := ToInt(done, RepeatFn(done, rand)) numFinders := runtime.NumCPU() t.Logf("Spinning up %d prime finders.\n", numFinders) finders := make([]<-chan interface{}, numFinders) t.Logf("Primes:\n") for i := 0; i < numFinders; i++ { finders[i] = PrimeFinder(done, randIntStream) } for prime := range Take(done, FanIn(done, finders...), numberOfPrimes) { t.Logf("\t%d\n", prime) } t.Logf("Search took: %v", time.Since(start)) } Loading
workload/workload_test.go +25 −0 Original line number Diff line number Diff line Loading @@ -126,3 +126,28 @@ func TestPrimesDispatched(t *testing.T) { t.Logf("Search took: %v", time.Since(start)) } func TestPrimesDispatchedBrief(t *testing.T) { done := make(chan interface{}) defer close(done) start := time.Now() rand := func() interface{} { return rand.Intn(50000000) } randIntStream := ToInt(done, RepeatFn(done, rand)) numFinders := runtime.NumCPU() t.Logf("Spinning up %d prime finders.\n", numFinders) finders := make([]<-chan interface{}, numFinders) t.Logf("Primes:\n") for i := 0; i < numFinders; i++ { finders[i] = PrimeFinder(done, randIntStream) } for prime := range Take(done, FanIn(done, finders...), numberOfPrimes) { t.Logf("\t%d\n", prime) } t.Logf("Search took: %v", time.Since(start)) }