Re: [PATCH v4 5/5] unpack-trees: reuse (still valid) cache-tree from src_index

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 13, 2018 at 6:05 PM Ben Peart <peartben@xxxxxxxxx> wrote:
> I was part way through writing a patch that would copy the valid parts
> of the cache-tree from the source index to the dest index

Yeah sorry about that. I make bad judgements all the time, unfortunately.

If it's sort of working though, please post to the list anyway to
archive it. Who knows, some time down the road we might actually need
it again.

> I run some tests on a large repo and the results look very promising.
>
> base    new     diff    % saved
> 0.55    0.52    0.02    4.32%   s:  read cache .git/index
> 0.31    0.30    0.01    2.98%   s:  initialize name hash
> 0.03    0.02    0.00    9.98%   s:  preload index
> 0.09    0.09    0.00    4.86%   s:  refresh index
> 5.93    1.19    4.74    79.95%  s:   traverse_trees
> 0.12    0.13    -0.01   -4.15%  s:   check_updates
> 2.14    0.00    2.14    100.00% s:   cache_tree_update
> 10.63   4.29    6.33    59.59%  s:  unpack_trees

There's a big gap here, I think. unpack_trees() takes 4s but the sum
of traverse_trees, check_updates and cache_tree_update is 1.5s top. I
guess that's sparse checkout and stuff? It's either that or there's
another big hidden thing we should pay attention to ;-)

> 0.97    0.91    0.06    6.41%   s:  write index, changed mask = 28
> 3.49    0.18    3.31    94.91%  s:    traverse_trees
> 0.00    0.00    0.00    17.53%  s:    check_updates
> 3.61    0.30    3.31    91.77%  s:   unpack_trees
> 3.61    0.30    3.31    91.77%  s:  diff-index
> 17.28   8.36    8.92    51.62%  s: git command: c:git.exe checkout
>
> Same methodology as before, I ran "git checkout" 5 times, threw away the
> first 2 runs and averaged the last 3.  I entered 0 for the "new"
> cache_tree_update line as it no longer reports anything.
-- 
Duy



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux