[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn_repos_get_logs3 and unbounded memory use

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2006-02-09 18:54:47 CET

C. Michael Pilato wrote:
> Garrett Rooney wrote:
>> So, just to see what the impact would be like, I implemented this the
>> "easy" way, not keeping any history objects open at all, just doing
>> the open/prev/prev thing each time we need to move back. On my test
>> case (which runs log on about 1200 paths in a repository that's got
>> 867 revisions in it) this results in about a 20% speed hit, with max
>> memory usage (via the oh-so-scientific "look at the output of top"
>> method of measuring) capping out at around 3 megs, as opposed to about
>> 250 megs the old way of doing things.
>
> As I noted on the phone a few minutes ago, my opinion runs thusly: if
> typical real-world use-cases (say, < 10 paths passed to 'svn log') don't
> suffer noticably from this approach, then the fix is fine with me -- it
> solves memory problems for all use-cases, even if the obnoxious cases
> suffer a 20% hit in speed. At least the operations (eventually)
> complete successfully.

I remember that one Subversion UI client (don't remember which one
exactly) passes multiple paths/urls to svn_client_log3(), even if the
user only wan't the log for one file/folder. It does this to get the
additional information on what happened to the same file/folder on all
tags/branches.

So I guess, if there are many branches and tags, that number of passed
paths will grow too (probably way beyond 10).

Not that I'm not ok with your approach here, just wanted to tell you
why/where/how this can easily happen.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Feb 9 18:55:53 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.