diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-05-26 01:24:40 -0400 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-05-26 20:28:08 -0700 |
commit | 7dc24aa5a62cc5f77e6637674581c837f4bdf78e (patch) | |
tree | 25045665bfb5d60ec9c9dcd42a528947e525516e /sha1_file.c | |
parent | d079837eeeadc37d266113a1fd2deb0a01aaee91 (diff) | |
download | git-7dc24aa5a62cc5f77e6637674581c837f4bdf78e.tar.gz git-7dc24aa5a62cc5f77e6637674581c837f4bdf78e.tar.xz |
Micro-optimize prepare_alt_odb
Calling getenv() is not that expensive, but its also not free,
and its certainly not cheaper than testing to see if alt_odb_tail
is not null.
Because we are calling prepare_alt_odb() from within find_sha1_file
every time we cannot find an object file locally we want to skip out
of prepare_alt_odb() as early as possible once we have initialized
our alternate list.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'sha1_file.c')
-rw-r--r-- | sha1_file.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sha1_file.c b/sha1_file.c index 6a5ba6350..a3637d7e5 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -376,11 +376,12 @@ void prepare_alt_odb(void) { const char *alt; + if (alt_odb_tail) + return; + alt = getenv(ALTERNATE_DB_ENVIRONMENT); if (!alt) alt = ""; - if (alt_odb_tail) - return; alt_odb_tail = &alt_odb_list; link_alt_odb_entries(alt, alt + strlen(alt), ':', NULL, 0); |