git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Jun 24, 2009, 23:31 UTC
Message-ID
<cb7bb73a0906241631h6ad03867i796b658abc425896@mail.gmail.com>
In-Reply-To
<8c9a060906241606x281f4d33ne5e4999a50ee8128@mail.gmail.com>
On Thu, Jun 25, 2009 at 1:06 AM, Jacob Helwig<jacob.helwig@gmail.com> wrote:
Show 18 quoted lines
> On Wed, Jun 24, 2009 at 15:46, Giuseppe
> Bilotta<giuseppe.bilotta@gmail.com> wrote:
>> On Thu, Jun 25, 2009 at 12:02 AM, Junio C Hamano<gitster@pobox.com> 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
Previous: Jacob HelwigNext: Giuseppe Bilotta
Message 8 of 12 in “[PATCHv5 0/3] gitweb: gravatar support”
  1. Giuseppe BilottaJun 24, 2009
  2. 1/3 gitweb: refactor author name insertionGiuseppe Bilotta, Jun 24, 2009
  3. 2/3 gitweb: gravatar supportGiuseppe Bilotta, Jun 24, 2009
  4. 3/3 gitweb: gravatar url cacheGiuseppe Bilotta, Jun 24, 2009
  5. Junio C HamanoJun 24, 2009
  6. Giuseppe BilottaJun 24, 2009
  7. Jacob HelwigJun 24, 2009
  8. Giuseppe BilottaJun 24, 2009
  9. 3/3 gitweb: gravatar url cacheGiuseppe Bilotta, Jun 24, 2009
  10. Junio C HamanoJun 25, 2009
  11. Jakub NarebskiJun 25, 2009
  12. Giuseppe BilottaJun 25, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.