Download raw body.
reuse deltas while packing
Christian Weisgerber:
> I cloned a pristine copy of FreeBSD src.git, and I'm currently
> exploding the pack file with "git unpack-objects" into a few million
> loose objects. That should give me something to test.
$ time gotadmin info
repository: /usr/obj/test1.git
pack files: 0
loose objects: 4069139
loose total size: 14.8G
4m51.33s real 0m27.80s user 4m20.45s system
Before the diff:
$ time gotadmin pack
packing 3437 references; 4069109 objects; deltify: 100%; writing pack: 4.7G 100%
Wrote ba2d0573d6162c515b95a92690eed475658d0896.pack
4.7G packed; indexing 100%; resolving deltas 100%
Indexed ba2d0573d6162c515b95a92690eed475658d0896.pack
410m56.22s real 175m26.16s user 219m11.63s system
With the diff:
$ time gotadmin pack
packing 3437 references; 4069109 objects; deltify: 100%; writing pack: 4.7G 100%
Wrote 35750eab02d4629573b1aa7aec2c4577df53a634.pack
4.7G packed; indexing 100%; resolving deltas 100%
Indexed 35750eab02d4629573b1aa7aec2c4577df53a634.pack
411m53.73s real 175m51.54s user 219m50.46s system
So, no problems, but no difference in speed either.
Running "gotadmin cleanup" afterwards takes another 35..40 minutes.
For comparison:
$ time git gc
Enumerating objects: 4069139, done.
Counting objects: 100% (4069139/4069139), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3998502/3998502), done.
Writing objects: 100% (4069139/4069139), done.
Selecting bitmap commits: 373068, done.
Building bitmaps: 100% (379/379), done.
Total 4069139 (delta 3149485), reused 0 (delta 0), pack-reused 0
Removing duplicate objects: 100% (256/256), done.
Expanding reachable commits in commit graph: 374944, done.
Writing out commit graph in 5 passes: 100% (1874720/1874720), done.
244m20.14s real 22m09.46s user 301m52.68s system
$ gotadmin info
repository: /usr/obj/test.git
pack files: 1
packed objects: 4069139
packed total size: 1.5G
loose objects: 0
Given that git is multi-threaded, there's little reason to complain
about the speed. The difference in the size of the resulting pack
file, by a factor of over 3, is a concern, though.
--
Christian "naddy" Weisgerber naddy@mips.inka.de
reuse deltas while packing