       CONCURRENCY = parseInt(param: _param, value: arg)
     case "-e", "--effort":
       EFFORT = parseInt(param: _param, value: arg)
+    case "-t", "--time":
+      TEST_DURATION = parseInt(param: _param, value: arg)
     case "-l", "--lhs":
       LHS = arg
     case "-r", "--rhs":

  }
  if DEBUG && loops == 1 { print("Instance \(block) done") }
  if DEBUG && loops == 1 { print("Result: \"\(LHS)\" == \"\(RHS)\"?  yes: \(yes), no: \(no)") }
  // Dispatch a new block to replace this one
  if (loops < NUM_LOOPS) {
    queue.async(group: group, execute: code(block: block, loops: loops+1))

// Create a queue to run blocks in parallel
let queue = DispatchQueue(label: "hello", attributes: .concurrent)
let group = DispatchGroup()
let lock = DispatchSemaphore(value: 1)
var completeLoops:Int = 0
var yesVotes:Int = 0
var noVotes:Int = 0

// Block to be scheduled
func code(block: Int, loops: Int) -> () -> Void {
