I'm sorry for the late answer. On Wed, Apr 18, 2012 at 01:36:08AM +0200, Jakub Narebski wrote: > On Mon, 16 Apr 2012, Kacper Kornet wrote: > > On Mon, Apr 16, 2012 at 10:06:49PM +0200, Jakub Narebski wrote: > >> On Mon, 16 Apr 2012, Kacper Kornet wrote: > >>> On Sat, Apr 14, 2012 at 03:16:01PM +0200, Jakub Narebski wrote: > >>> My tests show that forks are also a bottleneck in my setup. > >> What do you mean by "my tests" here? Is it benchmark (perhaps just using > >> 'timed' feature) with and without custom change removing fork(s)? Or did > >> you used profiler (e.g. wondefull Devel::NYTProf) for that? > > Nothing fancy. I look at the footnote produced by "timed" feature. And > > I see a difference between version with the following patch: [...] > > and the one in which git_repo_exist() uses invocation to /bin/true: > > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > > index 18cdf96..4bcc66f 100755 > > --- a/gitweb/gitweb.perl > > +++ b/gitweb/gitweb.perl > > @@ -3156,6 +3156,13 @@ sub git_get_project_owner { > > return $owner; > > } > > +sub git_repo_exist { > > + my ($path) = @_; > > + > > + $git_dir = "$projectroot/$path"; > > + return not system('/bin/true'); > > +} > > + > What were the differences in timing? The best results with the host disk caches were: v1.7.10 This page took 66.960714 seconds and 16517 git commands to generate. Call /bin/true in git_repo_exist() This page took 45.583935 seconds and 1 git commands to generate The patches applied: This page took 6.090545 seconds and 1 git commands to generate. > Anyway, if you plan on resending this patch series, then "gitweb: Improve > repository verification" should be be first, I think. Thank you for writing that one for me. I will send my two patches to omit owner and last modification time on top of it. -- Kacper Kornet -- 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