Subject: Re: [PATCH and RFC] gitweb: Remove --full-history from git_history

From: Jakub Narebski <[email-masked]>
Date: Wed, 09 Aug 2006 14:04:11 +0200

Junio C Hamano wrote:

> Jakub Narebski <[email-masked]> writes:
> 
>> Stop pretending that gitweb is rename-aware, and remove --full-history
>> option to git-rev-list in git_history (for "history" action):
> 
> Where did you get the idea that --full-history has anything to
> do with renames?

> Message-ID: <[email-masked]>
  http://marc.theaimsgroup.com/?l=git&m=115171557714437
> Message-ID: <[email-masked]>
  http://marc.theaimsgroup.com/?l=git&m=115171683714119

Ooops, sorry, my mistake. Still, even if the patch is to be dropped,
the proposal about rename detection is still valid.

I wonder which version is faster: --full-history, or filter using 
diff-tree?

ab -n 10 "http://localhost/cgi-bin/gitweb/gitweb.cgi?p=git.git;a=history;hb=next;f=gitweb/gitweb.perl"
(ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0) says

  Requests per second:    0.09 [#/sec] (mean)
  Time per request:       10918.552 [ms] (mean)
  Time per request:       10918.552 [ms] (mean, across all concurrent requests)
  Transfer rate:          2.13 [Kbytes/sec] received

  Connection Times (ms)
                min  mean[+/-sd] median     max
  Connect:        0    0     0.0      0       0
  Processing:  8851 10917 2776.1   9284   16420
  Waiting:      407  457    95.1    428     721
  Total:       8851 10917 2776.1   9284   16420

for --full-history version, and

  Requests per second:    0.11 [#/sec] (mean)
  Time per request:       9076.865 [ms] (mean)
  Time per request:       9076.865 [ms] (mean, across all concurrent requests)
  Transfer rate:          2.57 [Kbytes/sec] received

  Connection Times (ms)
                min  mean[+/-sd] median   max
  Connect:        0    0   0.0      0       0
  Processing:  8741 9076 271.7   9100    9581
  Waiting:      299  405  49.5    404     507
  Total:       8741 9076 271.7   9100    9581

for the pipe through git-diff-tree version, both with very similar
times (check out median column), although --full-history version
seems slightly slower...

Still, it is ab on workstation, not separate server, an only average 
over 10 requests.

And 
1025:jnareb@roke:~/git> time git rev-list next -- gitweb/gitweb.perl
  [...]
  real    0m2.623s
  user    0m2.536s
  sys     0m0.016s
1024:jnareb@roke:~/git> time git rev-list next | git diff-tree -r --stdin -- gitweb/gitweb.perl
  [...]
  real    0m6.857s
  user    0m6.024s
  sys     0m0.068s
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git