From: Junio C Hamano Date: Thu, 25 Jun 2009 00:01:43 GMT Subject: Re: [PATCHv5 3/3] gitweb: gravatar url cache Message-ID: <7vvdmlnpug.fsf@alter.siamese.dyndns.org> In-Reply-To: Giuseppe Bilotta writes: > On Thu, Jun 25, 2009 at 12:02 AM, Junio C Hamano wrote: >> 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? > > Duh. > >> 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). > > I'm not sure about it. The URL depends on email and size (can you use > arrays as hash keys in Perl?) , and the email part might be the same > but the size part might differ across separate calls (in theory; in > practice avatars in a view are presently all the same size; but for > example if we were to autodetect email addresses in commit messages, > we might have both single- and double- sided avatars in the same > page). By hashing on email+size only we would lose the benefit of > cache when using the same avatar at separate sizes. You can use nested hash, like: $avatar_cache{$email}{$size} or $avatar_cache{$size}{$email} but that is completely orthogonal to the issue of using a single cache shared across services, isn't it?