[vcpkg-tool] Parallelise binary caching operations #38404
Description
With a remote binary cache, the current implementations can take a notable period of time for each individual package operation. As an example, in my experience, the AWS S3 backend typically requires approx. 2-5 seconds per package. A solid chunk of this time is networking latency and other delays that can be effectively reduced by performing multiple operations in parallel (tasks/threads).
This would be a fairly simple transformation (or at least as simple as anything involving threading gets) to using parallel_for_each
or parallel_transform
in place of the current for loops for the caching tools/operations which support parallelisation