[PATCH v4 06/11] http.c: Remove unnecessary strdup of sha1_to_hex result

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Shawn O. Pearce
Date: Monday, April 19, 2010 - 7:23 am

Most of the time the dumb HTTP transport is run without the verbose
flag set, so we only need the result of sha1_to_hex(sha1) once, to
construct the pack URL.  Don't bother with an unnecessary malloc,
copy, free chain of this buffer.

If verbose is set, we'll format the SHA-1 twice now.  But this
tiny extra CPU time spent is nothing compared to the slowdown that
is usually imposed by the verbose messages being sent to the tty,
and is entirely trivial compared to the latency involved with the
remote HTTP server sending something as big as a pack file.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Acked-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---

 Message fixed, Acked-by added.
 
 No code change from v3.

 http.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/http.c b/http.c
index 7ee1ba5..95e3b8b 100644
--- a/http.c
+++ b/http.c
@@ -899,7 +899,6 @@ int http_fetch_ref(const char *base, struct ref *ref)
 static int fetch_pack_index(unsigned char *sha1, const char *base_url)
 {
 	int ret = 0;
-	char *hex = xstrdup(sha1_to_hex(sha1));
 	char *filename;
 	char *url = NULL;
 	struct strbuf buf = STRBUF_INIT;
@@ -910,10 +909,10 @@ static int fetch_pack_index(unsigned char *sha1, const char *base_url)
 	}
 
 	if (http_is_verbose)
-		fprintf(stderr, "Getting index for pack %s\n", hex);
+		fprintf(stderr, "Getting index for pack %s\n", sha1_to_hex(sha1));
 
 	end_url_with_slash(&buf, base_url);
-	strbuf_addf(&buf, "objects/pack/pack-%s.idx", hex);
+	strbuf_addf(&buf, "objects/pack/pack-%s.idx", sha1_to_hex(sha1));
 	url = strbuf_detach(&buf, NULL);
 
 	filename = sha1_pack_index_name(sha1);
@@ -921,7 +920,6 @@ static int fetch_pack_index(unsigned char *sha1, const char *base_url)
 		ret = error("Unable to get pack index %s\n", url);
 
 cleanup:
-	free(hex);
 	free(url);
 	return ret;
 }
-- 
1.7.1.rc1.279.g22727

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
git fetch over http:// left my repo broken, Christian Halstrick, (Thu Apr 15, 2:51 am)
Re: git fetch over http:// left my repo broken, Michael J Gruber, (Thu Apr 15, 2:58 am)
Re: git fetch over http:// left my repo broken, Ilari Liusvaara, (Thu Apr 15, 4:33 am)
Re: git fetch over http:// left my repo broken, Ilari Liusvaara, (Thu Apr 15, 4:43 am)
Re: git fetch over http:// left my repo broken, Shawn O. Pearce, (Thu Apr 15, 7:15 am)
[PATCH 0/6] detect dumb HTTP pack file corruption, Shawn O. Pearce, (Thu Apr 15, 12:09 pm)
[PATCH 1/6] http.c: Remove bad free of static block, Shawn O. Pearce, (Thu Apr 15, 12:09 pm)
[PATCH 2/6] t5550-http-fetch: Use subshell for repository ..., Shawn O. Pearce, (Thu Apr 15, 12:09 pm)
Re: [PATCH 0/6] detect dumb HTTP pack file corruption, Junio C Hamano, (Sat Apr 17, 10:56 am)
Re: [PATCH 0/6] detect dumb HTTP pack file corruption, Shawn O. Pearce, (Sat Apr 17, 12:11 pm)
Re: [PATCH v2 5/6] http-fetch: Use index-pack rather than ..., Shawn O. Pearce, (Sat Apr 17, 12:30 pm)
[PATCH v3 01/11] http.c: Remove bad free of static block, Shawn O. Pearce, (Sat Apr 17, 1:07 pm)
[PATCH v3 09/11] Allow parse_pack_index on temporary files, Shawn O. Pearce, (Sat Apr 17, 1:07 pm)
[PATCH v4 00/11] Resend sp/maint-dumb-http-pack-reidx, Shawn O. Pearce, (Mon Apr 19, 7:23 am)
[PATCH v4 06/11] http.c: Remove unnecessary strdup of sha1 ..., Shawn O. Pearce, (Mon Apr 19, 7:23 am)
[PATCH v4 09/11] Allow parse_pack_index on temporary files, Shawn O. Pearce, (Mon Apr 19, 7:23 am)
Re: [PATCH v4 00/11] Resend sp/maint-dumb-http-pack-reidx, Tay Ray Chuan, (Mon Apr 19, 7:46 am)
Re: [PATCH v4 00/11] Resend sp/maint-dumb-http-pack-reidx, Shawn O. Pearce, (Mon Apr 19, 7:49 am)
Re: [PATCH v4 00/11] Resend sp/maint-dumb-http-pack-reidx, Tay Ray Chuan, (Mon Apr 19, 9:33 pm)