On Fri, Aug 21, 2020 at 01:51:53PM -0400, Jeff King wrote: > That value was determined experimentally in 2012. I'm not sure of the > exact reason it's different now (modern processors are better at > parallelism, or modern git is better at parallelism, or the original > experiment was just a fluke). But regardless, I can get on the order of > a two-to-one speedup by bumping the thread count. See the final patch > for timings and more specific discussion. After writing a response elsewhere in the thread, it occurred to me that a good candidate for explaining this may be that our modern sha1dc implementation is way slower than what we were using in 2012 (which would have been either block-sha1, or the even-faster openssl implementation). And since a good chunk of index-pack's time is going to computing sha1 hashes on the resulting objects, that means that since 2012, we're spending relatively more time in the hash computation (which parallelizes per-object) and less time in the other parts that happen under a lock. -Peff