code: func (d *DockerHelper) DoParallelContainerStopBenchmark(qps float64, routineNumber int) []int {
  	wg := &sync.WaitGroup{}
  	ids := d.GetContainerIDs()
  	idTable := make([][]string, routineNumber)
  	for i := 0; i < len(ids); i++ {
  		idTable[i%routineNumber] = append(idTable[i%routineNumber], ids[i])
  	}
  	wg.Add(routineNumber)
  	ratelimit := ratelimit.NewBucketWithRate(qps, int64(routineNumber))
  	latenciesTable := make([][]int, routineNumber)
  	for i := 0; i < routineNumber; i++ {
  		go func(index int) {
  			latencies := []int{}
  			for _, id := range idTable[index] {
  				ratelimit.Wait(1)
  				start := time.Now()
  				d.StopContainers([]string{id})
  				d.RemoveContainers([]string{id})
  				latencies = append(latencies, int(time.Since(start).Nanoseconds()))
  			}
  			latenciesTable[index] = latencies
  			wg.Done()
  		}(i)
  	}
  	wg.Wait()
  	allLatencies := []int{}
  	for _, latencies := range latenciesTable {
  		allLatencies = append(allLatencies, latencies...)
  	}
  	return allLatencies
  }
docs: // DoParallelContainerStopBenchmark starts routineNumber of goroutines and let them stop containers, returns latencies
  // of all the stopping calls in nanoseconds. There is a global rate limit on stopping calls per second.