You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Joel Rosdahl <jo...@rosdahl.net> on 2002/09/01 20:58:30 UTC

[PATCH] small fix for memory leak in svn_wc_props_modified_p

Good evening.

I have done some experiments to see how good Subversion currently is
at handling lots of source code. More specifically, I tested to
import/checkout/status/update/commit the Linux 2.2.21 code using a
crude benchmark script. Current time results at my system:

  Import: 358.3 s
Checkout: 348.4 s
  Status: failed
  Update: 21.9 s
  Commit: 60.4 s

(This is for ra_local.)

I won't comment the numbers, but rather the memory usage; it goes up
to at most 50 MB for import/checkout/update/commit, but running "svn
status" makes svn eat insane amounts of memory, and it consequently
gets killed for its greediness. :-) I think the attached patch fixes
the problem.

* subversion/libsvn_wc/props.c (svn_wc_props_modified_p): Avoid memory
  leak by passing subpool to svn_wc_entry.

--- subversion/libsvn_wc/props.c
+++ subversion/libsvn_wc/props.c	2002-09-01 20:34:53.000000000 +0200
@@ -1309,7 +1309,7 @@
   /* If something is scheduled for replacement, we do *not* want to
      pay attention to any base-props;  they might be residual from the
      old deleted file. */
-  SVN_ERR (svn_wc_entry (&entry, path, TRUE, pool));  
+  SVN_ERR (svn_wc_entry (&entry, path, TRUE, subpool));
   if (entry 
       && ((entry->schedule == svn_wc_schedule_replace)
           || (entry->schedule == svn_wc_schedule_add)))

        Regards,
        Joel

-- 
Joel Rosdahl <jo...@rosdahl.net>  (GnuPG/PGP key available)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] small fix for memory leak in svn_wc_props_modified_p

Posted by Justin Erenkrantz <je...@apache.org>.
On Sun, Sep 01, 2002 at 10:58:30PM +0200, Joel Rosdahl wrote:
> I won't comment the numbers, but rather the memory usage; it goes up
> to at most 50 MB for import/checkout/update/commit, but running "svn
> status" makes svn eat insane amounts of memory, and it consequently
> gets killed for its greediness. :-) I think the attached patch fixes
> the problem.

Yup.  Looks right (i.e. passed make check).  Committed.

/me mutters about svn entry caching

Thanks!  -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org