Thread (51 messages) flat view 51 messages, 5 authors, 2016-06-15

Re: [StGIT PATCH] Don't use patches/<branch>/current

From: Karl Hasselström <hidden>
Date: 2016-06-15 22:43:10

On 2007-05-16 13:07:14 +0100, Catalin Marinas wrote:
I did a quick test of 'stg series' with the DAG patches applied, on
a Linux kernel repository ('du -sh .git' is 285M) with 42 patches
(only 25 applied). It constantly takes over 2 seconds to complete
(compared to < 200ms without the DAG patches). The problem is that
this delay will happen for bash completion as well.
This is more than ten times as expensive as in my measurement.
Curious. And the algorithm is designed so that it shouldn't take time
proportional to the repository size, just proportional to the number
of patches.

There are three git calls involved:

  * List the references. There can't be more than a few hundred of
    them.

  * rev-list all patches, subtracting everything that's reachable from
    the branch head. This set of commits should not be much larger
    than the number of unapplied patches.

  * rev-list the branch head, but stop walking as soon as all applied
    patches have been seen. This set of commits should not be much
    larger than the number of applied patches.

None of the calls should be expensive.

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help