Does it also reproduce if you remove the revision_root() call?

What does Perl invoke when an object becomes unreferenced or falls out
of scope?

Max Voit wrote on Fri, Oct 14, 2011 at 00:33:08 +0200:
> Hi,
> 
> developing an application dealing with many repositories the existence
> of paths within that repositories had to be checked.
> Using something like:
> 
>     my $repos = SVN::Repos::open($localpath) or die "no such repo";
>     my $fs    = $repos->fs;
>    
>     $ispath =
>     $repos->fs->revision_root( $fs->youngest_rev)->is_dir($path);
> 
>     undef($fs);
>     undef($repos);
> 
> resulted in a persistent memory usage of approx. 300MB for ~ 3000 calls,
> though undefing the references of the objects.
> 
> Attached is a small sample script, showing the problem with 1000
> calls - resulting in 200M with nothing but the directory in question in
> the repository. Repository-size seems to matter. (the application uses
> near productive repos)
> 
> running with
>     libsvn1 1.6.6dfsg-2ubuntu1.3
>     libsvn-perl 1.6.6dfsg-2ubuntu1.3
>     perl 5.10.1-8ubuntu2.1
> 
> kind regards,
> Max Voit


Reply via email to