Re: [viewvc-dev] ViewVC 1.1.0-beta1 slowness
"C. Michael Pilato" <[email protected]> Thu, 13 Nov 2008 14:30:57 -0500
| Newsgroups | gmane.comp.version-control.cvs.viewcvs.devel |
|---|---|
| Organization | CollabNet, Inc. |
| Message-ID | <491C8071.1000001__7887.34400780431$1226604739$gmane$org@collab.net> |
C. Michael Pilato wrote: > 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. Okay, I think I traced this to its origin. Basically, ViewVC 1.1 is doing a lot more work for security purposes when deciding what to return as far as revision metadata goes. That cost cannot be sacrificed for "mere" performance. HOWEVER. ViewVC is also paying this cost when there's no authorization plugin in use, and that's entirely unnecessary. That needs to be fixed. I'm tracking this in issue #384 (as I trust you'll see, Mikko). -- 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) iD8DBQFJHIBxokEGqRcG/W4RAo2DAJoCcCSKsyiCMveXt/xC39s+B3h5HQCgqQv8 AxktooKR5MhIn1LlHXnqkCI= =LvnH -----END PGP SIGNATURE-----