Re: [PATCHv5 3/3] gitweb: gravatar url cache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 25, 2009 at 1:06 AM, Jacob Helwig<jacob.helwig@xxxxxxxxx> wrote:
> On Wed, Jun 24, 2009 at 15:46, Giuseppe
> Bilotta<giuseppe.bilotta@xxxxxxxxx> wrote:
>> On Thu, Jun 25, 2009 at 12:02 AM, Junio C Hamano<gitster@xxxxxxxxx> wrote:
>>
>>> 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 could have a hash key of "$email_$size", or something similar to
> fake an array hash key.

The point is not so much the form to give to the key but rather the
fact that hashing on both means the URL has to be recomputed when the
same email appears with both sizes. Considering that (at least for
gravatars) the computational intensive part comes from the MD5 of the
email, this means a waste of cycles.

By letting the cache be per-avatar, each avatar kind can choose to
hash on whatever it needs to. But I got an idea on how to improve on
this.

-- 
Giuseppe "Oblomov" Bilotta
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]