Re: [viewvc-dev] ViewVC 1.1.0-beta1 slowness

"C. Michael Pilato" <[email protected]> Wed, 12 Nov 2008 16:45:37 -0500
Newsgroups gmane.comp.version-control.cvs.viewcvs.devel
Organization CollabNet, Inc.
Message-ID <[email protected]>
Mikko Silvonen wrote:
> 2008/11/12 C. Michael Pilato <[email protected]>:
>> Non-answer:  you might be able to relieve some of the pain by turning on
>> pagination (use_pagesize).  But it sounds like some performance comparisons
>> between ViewVC 1.0.x and 1.1.x are in order.
> 
> Thanks; a performance analysis would be appreciated. I have tried
> turning on pagination, but some of the slowly loading directories
> don't contain more than half a dozen immediate children. The
> characteristics of their version histories seem to have a stronger
> effect on the speed.

I did some adhoc testing here on my machine.  I keep a mirror of
Subversion's source code repository on my box, and expose it via several
versions of ViewVC.

With pagination disabled, a log view of Subversion's trunk/subversion
directory takes considerably longer with ViewVC 1.1:  1.0.7 takes about 40
seconds, but 1.1.0-beta1 takes about 85 seconds (regardless of whether authz
is in use).  That's certainly not desirable behavior.  I had been concerned
that ViewVC was calculating too much extra template data in the 1.1 line.
But some debugging reveals that the slowness is coming from the vclib layer:

                          1.1.0      1.0.7
                       ---------  ---------
           ezt-parse:   0.009578   0.009207
             imports:   0.027937   0.046713
         load-config:   0.006787   0.002609
             startup:   0.135589   0.076982
    view_log:itemlog:  58.548900  19.494076  <-- WHOA!
   view_log:rev loop:   6.521578   6.778005

That's where I am so far.  But at least I know where to look now.

-- 
C. Michael Pilato <[email protected]>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFJG06BokEGqRcG/W4RAosVAJ0cLNEIze4uLC9eJFZqX9CtdWTwoACgz2Qc
PH7E0KPRyEJlPUMpiE5y7X4=
=dffV
-----END PGP SIGNATURE-----