]> git.ipfire.org Git - thirdparty/git.git/commit - fast-import.c
fast-import: count and report # of calls to diff_delta in stats
authorDmitry Ivankov <divanorama@gmail.com>
Sat, 20 Aug 2011 19:04:11 +0000 (01:04 +0600)
committerJunio C Hamano <gitster@pobox.com>
Mon, 22 Aug 2011 18:57:06 +0000 (11:57 -0700)
commit94c3b48247b25773d9c0d7de892cb75cb06708bb
treeb9a4806ee8bf3b0b061f3d6bb486af6277e50e49
parent0906f6e14e6e9df0c4ea4edb08ebe9f5d16c2391
fast-import: count and report # of calls to diff_delta in stats

It's an interesting number, how often do we try to deltify each type of
objects and how often do we succeed. So do add it to stats.

Success doesn't mean much gain in pack size though. As we allow delta to
be as big as (data.len - 20). And delta close to data.len gains nothing
compared to no delta at all even after zlib compression (delta is pretty
much the same as data, just with few modifications).

We should try to make less attempts that result in huge deltas as these
consume more cpu than trivial small deltas. Either by choosing a better
delta base or reducing delta size upper bound or doing less delta attempts
at all.

Currently, delta base for blobs is a waste literally. Each blob delta
base is chosen as a previously stored blob. Disabling deltas for blobs
doesn't increase pack size and reduce import time, or at least doesn't
increase time for all fast-import streams I've tried.

Signed-off-by: Dmitry Ivankov <divanorama@gmail.com>
Acked-by: David Barr <davidbarr@google.com>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fast-import.c