Re: [PATCH] fetch: avoid quadratic loop checking for updated submodules
- From
Jeff King <peff@peff.net>
- Date
- Sep 13, 2011, 17:15 UTC
- Message-ID
- <20110913171506.GA32251@sigill.intra.peff.net>
- In-Reply-To
- <CAP8UFD3ULs9YLCaaJYGo-_A=KqO4yFy3WHJmO5b_hyRSPzA-Vg@mail.gmail.com>
On Tue, Sep 13, 2011 at 06:40:07PM +0200, Christian Couder wrote:
Show 7 quoted lines
> > +struct argv_array {
> > + const char **argv;
> > + unsigned int argc;
> > + unsigned int alloc;
> > +};
>
> But there is already such a struct in bisect.c!Heh. I completely missed that. As I was writing it, I realized it would be a good thing to factor out, but most of the argv builders I checked weren't dynamic at all (they knew up front how big argv would need to be because they were copying).
As it turns out, our implementations are remarkably similar considering I hadn't read yours. It must mean they're both obviously correct. :)
> So it would be nice if you could refactor this and the argv_array > functions in bisect.c in the same way you refactored sha1-array.
Will do. Junio, do you want me to re-roll the quadratic fix, or just build the refactoring on top?
-Peff