It's still not 100% optimal (e.g. the continual re-read of the pack file format string on every single readv). And the batching is limited by what the requested stream ordering allows. For ordering='unordered', as in the originally reported case, it makes a big difference. For other operations that use other orderings we may still have more work to do. I suggest we file new, specific bug reports for these cases, if we find any.
The attached branch fixes this by adding some batching, at least for the originally reported case of "bzr branch http:// bazaar. launchpad. net/~launchpad- pqm/launchpad/ devel".
It's still not 100% optimal (e.g. the continual re-read of the pack file format string on every single readv). And the batching is limited by what the requested stream ordering allows. For ordering= 'unordered' , as in the originally reported case, it makes a big difference. For other operations that use other orderings we may still have more work to do. I suggest we file new, specific bug reports for these cases, if we find any.