feat(pubsub): separate publishers in benchmark (#5496)
feat(pubsub): separate publishers in benchmark (#5496)

I misread the code for this benchmark in other languages, they use a
separate publisher per publishing thread, so they largely avoid
contention in a single publisher.

I also changed the flow control for publishers to be based on message
size vs. message count. The message size is (to a first approximation)
constant during a run, so both approaches are roughly equivalent. It is
just that the real physical constraint is memory, and it is tedious to
adjust the flow control parameters when adjusting the message size.
googleapis/google-cloud-cpp,googleapis/google-cloud-cpp,googleapis/google-cloud-cpp,googleapis/google-cloud-cpp