benchmark/internal_client.go
func NewClient(hosts []string, optFns ...Option) Client {
	opts := getOptions(optFns)
	if opts.external {
		return newExternalClient(hosts, opts)
	}
	if opts.numClients > 1 {
		return newInternalMultiClient(hosts, opts)
	}
	return newClient(hosts, opts)
}
func NewClient(hosts []string, optFns ...Option) Client {
	opts := getOptions(optFns)
	if opts.external {
		return newExternalClient(hosts, opts)
	}
	if opts.numClients > 1 {
		return newInternalMultiClient(hosts, opts)
	}
	return newClient(hosts, opts)
}
// NewClient returns a new Client that can make calls to a benchmark server.