How about having pip download all the packages in parallel instead of waiting for each one to finish before downloading the next? After that is implemented, how about having pip start installing one package while it's downloading the next ones?