From: Björn Steinbrink Date: Mon, 25 May 2009 20:16:02 GMT Subject: Re: [PATCH] speed: reuse char instead of recreation in loop Message-ID: <20090525201602.GA18471@atjola.homenet> In-Reply-To: On 2009.05.25 19:44:10 +0000, Thomas Spura wrote: > Move a char and a char * outside of a for loop for speed improvements > > Signed-off-by: Thomas Spura > --- > Comments? > > transport.c | 7 +++---- > 1 files changed, 3 insertions(+), 4 deletions(-) > > diff --git a/transport.c b/transport.c > index 17891d5..e350937 100644 > --- a/transport.c > +++ b/transport.c > @@ -263,11 +263,10 @@ static int write_refs_to_temp_dir(struct strbuf > *temp_dir, > int refspec_nr, const char **refspec) > { > int i; > + unsigned char sha1[20]; > + char *ref; > > for (i = 0; i < refspec_nr; i++) { > - unsigned char sha1[20]; > - char *ref; > - I doubt that this makes any difference at all. > if (dwim_ref(refspec[i], strlen(refspec[i]), sha1, &ref) ! > = 1) > return error("Could not get ref %s", refspec[i]); > > @@ -275,8 +274,8 @@ static int write_refs_to_temp_dir(struct strbuf > *temp_dir, > free(ref); > return -1; > } > - free(ref); > } > + free(ref); And this now leaks memory. Björn