On Wednesday 18 June 2008, Junio C Hamano wrote: > [New Topics] > > * jh/clone-packed-refs (Sun Jun 15 16:06:16 2008 +0200) 4 commits > - Teach "git clone" to pack refs > - Prepare testsuite for a "git clone" that packs refs > - Move pack_refs() and friends into libgit > - Incorporate fetched packs in future object traversal > > Would be helpful cloning from a repository with insanely large number of > refs. The first 3 patches (i.e. the bottom 3 in the above list) might be considered general cleanup patches, and are independent of each other (i.e. you might want to include them on their own merit, independently of patch #4). The final patch doesn't make any difference for "regular" repos (e.g. git.git with ~200 refs) on Linux (see below). But once the number of refs increase, the difference becomes obvious. Here are some numbers to give some more context: All tests done on 64-bit quad-core Linux, cloning locally (hard-linked): ~200 refs (git.git): current next: 0.2s w/above patches: 0.2s ~1000 refs (test repo): current next: 0.16s w/above patches: 0.05s ~11000 refs (test repo): current next: 1.3s w/above patches: 0.3s ~26000 refs (actual repo at $dayjob): current next: 3.2s w/above patches: 0.8s Regards, ...Johan -- Johan Herland, <johan@xxxxxxxxxxx> www.herland.net -- 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