Re: read-for-fill and caching in gitweb (Re: kernel.org mirroring)
From: Robert Fitzsimons <hidden>
Date: 2016-06-15 22:42:47
quoted
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