From: Junio C Hamano Date: Wed, 24 Jun 2009 22:02:15 GMT Subject: Re: [PATCHv5 3/3] gitweb: gravatar url cache Message-ID: <7v63elqoig.fsf@alter.siamese.dyndns.org> In-Reply-To: <1245878183-2967-4-git-send-email-giuseppe.bilotta@gmail.com> Giuseppe Bilotta writes: > Views which contain many occurrences of the same email address (e.g. > shortlog view) benefit from not having to recalculate the MD5 of the > email address every time. > --- Sign-off? I think the cache is placed at the wrong level (it doesn't have to be a GRavatar_url_cache, but can be a general avatar_url_cache). IOW, our %avatar_url_cache = (); sub git_get_avatar { ... my $url; if (!exists $avatar_url_cache{$email}) { if ($git_gravatar_enabled) { $url = ... gravatar stuff ...; } else if ($git_whatever_enabled) { $url = ... other stuff ...; } $avatar_url_cache{$email} = $url; } $url = $avatar_url_cache{$email}; if (defined $url) { return ... prefix then $url then suffix ...; } else { return ""; } } But the basic idea is sound, I think.