Practicing on the kernel, without the patch: Q6600 with 4GB RAM jonsmirl@terra:/home/linux$ time git repack -a -f --window=200 --depth=200 Generating pack... Counting objects: 518288 Done counting 546466 objects. Deltifying 546466 objects... 100% (546466/546466) done Writing 546466 objects... 100% (546466/546466) done Total 546466 (delta 452329), reused 0 (delta 0) Pack pack-04c98effa112233951acbb2d8486eefac17a5a97 created. real 16m27.752s user 16m23.829s sys 0m2.192s With the patch it didn't balance very well. First two threads finished in 2min, thrid in 5min, fourth in 10min. So for fun I set it up to 16 threads, that kept all fours cores running until the end. It added 1:20 in overhead, but it finished in 5m vs 16:30 unthreaded. Threading is an obvious win for this code. jonsmirl@terra:/home/linux$ time git repack -a -f --window=200 --depth=200 Generating pack... Counting objects: 502267 Done counting 546466 objects. Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... Deltifying 545660 objects... 6% (34104/545660) done 6% (34099/545660) done 1% (6929/545660) donee 5% (30037/545660) done 6% (34101/545660) done 4% (25222/545660) done 6% (34102/545660) done 3% (19999/545660) done 6% (34102/545660) done 4% (27203/545660) done 6% (34102/545660) done 4% (23377/545660) done 6% (34042/545660) done 6% (34099/545660) done 6% (32740/545660) done real 5m0.360s user 17m41.822s sys 0m5.596s jonsmirl@terra:/home/linux$ -- Jon Smirl jonsmirl@xxxxxxxxx - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html