Re: [viewvc-dev] Re: SVN directory log performance

"C. Michael Pilato" <[email protected]>
Newsgroups gmane.comp.version-control.cvs.viewcvs.devel
Organization CollabNet, Inc.
Message-ID <468D35B8.5030002__14685.0985860967$1183659459$gmane$org@collab.net>
Jens Peters wrote:
> Hi Mike
> 
>> So, there are a number of interactions here.
>>
>> First, even though Subversion has a notion of --limit for 'svn log'
>> queries
>> (and the equivalent for the repository APIs), the vclib interface doesn't
>> expose it, so ViewVC doesn't use it.
>>
>> Secondly, remember that the items on the log view can be sorted by things
>> other than revision number.  So, while we could use --limit for log views
>> showing revision-sorted (or unsorted, which is the same thing in
>> Subversion)
>> output, we couldn't use that optimization for any other sorting style.
>>
> 
> Ok, I completely forgot the sorting feature. For that you would indeed
> need to fetch all revisions first. But do you think its worth to keep
> the sorting feature? (Actually I have stripped it from my template,
> because I never used it). I think for doing advanced queries with
> filtering and sorting you can better refer to the commit database.

Yeah, I'm torn about the sorting thing.  It seems fine for CVS views, but
for Subversion I just don't think it makes much sense.  And removing it
allows us all sorts of performance benefits.

> For the implementation details, I can see that in svn_ra you use
> svn_client_log which supports limit in a never version, but in svn (I
> think nearly everyone uses that) its svn_repos_history which does not
> support limits :(, so changing that seems indeed not that easy.

Well, there are other tricks we could use even with svn_repos_history(),
like fetching data in revision blocks (of, say, page_size * 4 revisions).
We might overfetch, but only by a relatively small margin, and certainly
cheaper than fetching the whole line of history.  (Ignoring the sort
problem, of course.)

> PS: I have one practical question: how do you develop viewvc? I have
> setup eclipse with pydev and I'm quite happy with that, especially able
> to debug is really cool. But whenever I do a change in a .py file I have
> to restart apache or the standalone.py, even if I delete the related
> .pyc files. Is there a way to tell python to watch the py/pyc files for
> changes?

I thought Python did that naturally, but maybe not.  I almost never have to
restart Apache for testing.  But then, I'm not using mod_python -- are you?

> PPS: Almost forgot again: Thanks a lot for your energy and motivation
> for developing ViewVC! Despite some performance issues, I haven't seen a
> better and more flexible version control web frontend... and its look &
> feel gets better and better :)

Thanks.  I'm only the guy who inherited the software -- much credit goes to
my predecessors.  But I enjoy it nonetheless.  :-)

-- 
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)

iD8DBQFGjTW4okEGqRcG/W4RAn7gAKC5VNA9oVZpzBDAPcZWEOdNo6Ep2QCgmIyA
o+ieHmDG5lkS/19vgpV4EW0=
=Lz63
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.