Subject: Re: read-for-fill and caching in gitweb (Re: kernel.org mirroring)

From: Robert Fitzsimons <[email-masked]>
Date: Fri, 29 Dec 2006 19:31:56 +0000

> >                  project_list   summary  shortlog        log
> > v267                  173 1.6  1141 8.8   795 5.0   919  1.9
> > 1.4.4.3               220 2.3   397 2.4   930 4.2  1113 56.9
> > 1.5.0.rc0.g4a4d       226 1.9   292 1.7   352 4.0   491  6.7
> > 1.5.0.rc0.g4a4d        60 1.0   131 0.7   195 1.2   347  3.7
> > (mod_perl)

> It is simply the case that new features cost more. Namely in earlier
> versions of gitweb Last Change time was taken from HEAD (from current
> branch), in newer we check all branches (using git-for-each-ref).
> For published public repository it migh make sense to pack also heads
> (make them packed refs).
>
> I was thinking about making this a gitweb %feature, allowing gitweb
> administrator to chose if Last Change is taken from all branches
> (as it is now), from HEAD (as it was before), or from given branch
> (for example master).

I've sent a separate email with a patch to add this feature.
("[PATCH] gitweb: New feature last_modified_ref."
<20061229185805.GF6558@localhost>).

Here are the new numbers.  Notes: I've only got 3 projects in my project
list and I did a 'git gc' on them since yesterday.

                 project_list    summary   shortlog         log

v267                 174  1.1   286  2.1   794  3.4    921  3.2
1.4.4.3              207  1.7   383  2.0   921  5.2   1082  3.8
g04509 + patch       213  1.6   297 68.9   341  3.9    484  5.0
g04509 + patch        71 69.9   117  2.5   190  2.1    341  2.7
(mod_perl)
g04509 + patch       209  1.0   276  1.5   342  3.3    483  6.3
(HEAD)
g04509 + patch        66 70.1   117  2.6   189  3.4    341  3.8
(HEAD, mod_perl)

The v267 summary time is wrong, that version of gitweb is not
packed-refs aware.

I think I need a more consistent test setup I'm seeing some weird
deviations.

Robert