code: func benchTask(taskspec taskSpec, iterations int, workers int, printReport bool) (delta time.Duration, err error) {
  	// channel to signal completion
  	signal := make(chan int, workers)
  
  	// spec and initialize an AsyncClient
  	// will flush your db13 as noted in README ..
  	spec := redis.DefaultSpec().Db(13).Password("go-redis")
  	client, e := redis.NewAsynchClientWithSpec(spec)
  	if e != nil {
  		log.Println("Error creating client for worker: ", e)
  		return -1, e
  	}
  
  	defer client.Quit()
  
  	// panics
  	setup(client)
  
  	t0 := time.Now()
  	for i := 0; i < workers; i++ {
  		id := fmt.Sprintf("%d", i)
  		go taskspec.task(id, signal, client, iterations)
  	}
  
  	// wait for completion
  	for i := 0; i < workers; i++ {
  		<-signal
  	}
  	delta = time.Now().Sub(t0)
  
  	if printReport {
  		report(taskspec.name, workers, delta, iterations*workers)
  	}
  
  	return
  }
docs: // Use a single redis.AsyncClient with specified number
  // of workers to bench concurrent load on the async client