git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lea Wiemann <lewiemann@gmail.com>
To: Jakub Narebski <jnareb@gmail.com>
Cc: git@vger.kernel.org, John Hawley <warthog19@eaglescrag.net>,
	Junio C Hamano <gitster@pobox.com>, Petr Baudis <pasky@suse.cz>,
	Lars Hjemli <hjemli@gmail.com>
Subject: Re: Gitweb caching: Google Summer of Code project
Date: Wed, 28 May 2008 00:54:39 +0200	[thread overview]
Message-ID: <483C912F.6010802@gmail.com> (raw)
In-Reply-To: <200805272353.34319.jnareb@gmail.com>

Jakub Narebski wrote:
> Lately he posted a patch
> implementing projects list caching, in a bit different way from how it
> is done on kernel.org, namely by caching data and not final output:

Thanks for this and all the other pointers.

Caching data and not final output is actually what I'm about to try 
next.  If I'm not mistaken, the HTML output is significantly larger than 
the source (repository) data; however, kernel.org still seems to benefit 
from caching the HTML, rather than letting Linux' page cache cache the 
source data.  That leads me to think that the page cache somehow fails 
to cache the source data properly -- I'm not sure why (wild speculation: 
perhaps because of the pack format).  Anyway, I'd hope that I can 
encapsulate the 30-40 git_cmd calls in gitweb.perl and somehow cache 
their results (or, to save memory, the parts of their results that are 
actually used) and cache them using memcached.  If that works well, we 
can stop bothering about frontend (HTML) caching, unless CPU becomes an 
issue, since all HTML pages are generated from cacheable source data.

I'm *kindof* hoping that in the end there will be only few issues with 
cache expiry, since most calls are uniquely identified through hashes. 
(And the ones that are not, like getting the hash of the most recent 
commit, can perhaps be cached with some fairly low expiry time.)

So that's what I'll try next.  If you have any comments or warnings off 
the top of your heads, feel free to send email of course. :)

> the main culprit of [the fork] was splitting gitweb into many, many
> files.  While it helped John in understanding gitweb, it made it
> difficult to merge changes back to mainline.

Interesting point, thanks for letting me know.  (I might have gone ahead 
and tried to split the mainline gitweb myself... ^^)  I think it would 
be nice if gitweb.perl could be split at some point, but I assume there 
are too many patches out there for that to be worth the merge problems, 
right?

-- Lea

  reply	other threads:[~2008-05-27 22:55 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-27 18:03 Gitweb caching: Google Summer of Code project Lea Wiemann
2008-05-27 21:53 ` Jakub Narebski
2008-05-27 22:54   ` Lea Wiemann [this message]
2008-05-28 12:14     ` Jakub Narebski
2008-05-28 18:33       ` Lea Wiemann
2008-05-29 23:27         ` Jakub Narebski
2008-05-30  7:24           ` Lea Wiemann
2008-05-30 10:02             ` Jakub Narebski
2008-05-30 14:59               ` Lea Wiemann
2008-05-30 15:07                 ` Petr Baudis
2008-05-30 15:27                   ` Lea Wiemann
2008-05-30 15:38                     ` Petr Baudis
2008-05-30 16:04                       ` Rafael Garcia-Suarez
2008-05-30 18:56                         ` J.H.
2008-05-30 20:28                           ` Junio C Hamano
2008-05-30 21:32                             ` Lea Wiemann
2008-05-30 18:47                       ` Lea Wiemann
2008-05-31 10:15                     ` Jakub Narebski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=483C912F.6010802@gmail.com \
    --to=lewiemann@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=hjemli@gmail.com \
    --cc=jnareb@gmail.com \
    --cc=pasky@suse.cz \
    --cc=warthog19@eaglescrag.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).