Currently, we fetch a result set, and then we process those results. Fetching the results is network-bound, processing the results is CPU-bound (potentially IO-bound if the run is already in the repo). It would be better to be saturating (at least) one of CPU and network, rather than alternating between the two.