• J
    [PATCH] Optimize diff-tree -[CM] --stdin · f0c6b2a2
    Junio C Hamano 提交于
    This attempts to optimize "diff-tree -[CM] --stdin", which
    compares successible tree pairs.  This optimization does not
    make much sense for other commands in the diff-* brothers.
    
    When reading from --stdin and using rename/copy detection, the
    patch makes diff-tree to read the current index file first.
    This is done to reuse the optimization used by diff-cache in the
    non-cached case.  Similarity estimator can avoid expanding a
    blob if the index says what is in the work tree has an exact
    copy of that blob already expanded.
    
    Another optimization the patch makes is to check only file sizes
    first to terminate similarity estimation early.  In order for
    this to work, it needs a way to tell the size of the blob
    without expanding it.  Since an obvious way of doing it, which
    is to keep all the blobs previously used in the memory, is too
    costly, it does so by keeping the filesize for each object it
    has already seen in memory.
    Signed-off-by: NJunio C Hamano <junkio@cox.net>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    f0c6b2a2
diff.h 1.3 KB