Re: [PATCH] git exproll: steps to tackle gc aggression

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] git exproll: steps to tackle gc aggression

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:58:22

Martin Fick [off-list ref] writes:
Assuming I understand what you are suggesting, would these 
"young object" likely still get "deduped" in an efficient 
way without doing history traversal (it sounds like they 
would)?
Yes.

The very first thing pack-object machinery does is to get the list
of object names and sort them in a certain order to help producing
good deltas, and this initial input preprocessing will dedup them.
If so, then yeah this might be nice, especially if the history
traversal is what would speed this up.
That was the assumption behind the "it might help" suggestion.  If
that helps or not is not known yet, and since Ram started this
subthread telling me not to talk about performance improvements, my
time on this thread is _not_ spent on that (yet).

Re: [PATCH] git exproll: steps to tackle gc aggression

From: Ramkumar Ramachandra <hidden>
Date: 2016-06-15 22:58:22

Junio C Hamano wrote:
Martin Fick [off-list ref] writes:
quoted
Assuming I understand what you are suggesting, would these
"young object" likely still get "deduped" in an efficient
way without doing history traversal (it sounds like they
would)?
Yes.

The very first thing pack-object machinery does is to get the list
of object names and sort them in a certain order to help producing
good deltas, and this initial input preprocessing will dedup them.
So, the proposal is to create an index of young objects without doing
reachability analysis (I still didn't get the point of packing them;
as I pointed out, it seems to be rather counter-productive) to help
the actual packing? From what I vaguely understood:

1. Index all the young objects to save a history traversal (?)

2. Perform the reachability analysis using the index in step 1, and
then generate the pack.

I'm not yet clear about what information 1 contains to help 2. Is it
the rough ordering? (The big important objects come near the top of
the pack, and the deltas are generated against them). I say "rough"
because the ordering might change after the unreachable objects are
pruned.

*scratches head*
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help