Re: Something is broken in repack
- From
Jon Smirl <jonsmirl@gmail.com>
- Date
- Dec 8, 2007, 03:29 UTC
- Message-ID
- <9e4733910712071929h17a7d88dv37686ec7cd858c63@mail.gmail.com>
- In-Reply-To
- <alpine.LFD.0.99999.0712072124160.555@xanadu.home>
The kernel repo has the same problem but not nearly as bad.
Starting from a default pack git repack -a -d -f --depth=1000 --window=1000 Uses 1GB of physical memory
Now do the command again. git repack -a -d -f --depth=1000 --window=1000 Uses 1.3GB of physical memory
I suspect the gcc repo has much longer revision chains than the kernel one since the kernel repo is only a few years old. The Mozilla repo contained revision chains with over 2,000 revisions. Longer revision chains result in longer delta chains.
So what is allocating the extra memory? Either a function of the number of entries in the chain, or related to accessing the chain since a chain with more entries will need to be accessed more times.
I have a 168MB kernel pack now after 15 minutes of four cores at 100%.
Here's another observation, the gcc objects are larger. Kernel has 650K objects in 190MB, gcc has 870K objects in 330MB. Average gcc object is 30% larger. How should the average kernel developer interpret this?
-- Jon Smirl jonsmirl@gmail.com