On Sat, Aug 18, 2018 at 12:44 AM Junio C Hamano <gitster@xxxxxxxxx> wrote: > * nd/unpack-trees-with-cache-tree (2018-08-13) 5 commits > - unpack-trees: reuse (still valid) cache-tree from src_index > - unpack-trees: reduce malloc in cache-tree walk > - unpack-trees: optimize walking same trees with cache-tree > - unpack-trees: add performance tracing > - trace.h: support nested performance tracing > > The unpack_trees() API used in checking out a branch and merging > walks one or more trees along with the index. When the cache-tree > in the index tells us that we are walking a tree whose flattened > contents is known (i.e. matches a span in the index), as linearly > scanning a span in the index is much more efficient than having to > open tree objects recursively and listing their entries, the walk > can be optimized, which is done in this topic. > > Will merge to and cook in 'next'. Please hold. I was going to address your "The last step feels a bit scary" comment by auditing and adding some cache-tree validation. I'm seeing some bad cache-tree when running more validation through the test suite. Maybe it's just bugs in my validation code, but better be safe than sorry. -- Duy