Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:30847 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 67908 invoked by uid 1010); 12 Jul 2007 09:52:03 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 67893 invoked from network); 12 Jul 2007 09:52:03 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Jul 2007 09:52:03 -0000 Authentication-Results: pb1.pair.com smtp.mail=php-php-dev@m.gmane.org; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=news@sea.gmane.org; sender-id=pass Received-SPF: pass (pb1.pair.com: domain m.gmane.org designates 80.91.229.2 as permitted sender) X-PHP-List-Original-Sender: php-php-dev@m.gmane.org X-Host-Fingerprint: 80.91.229.2 main.gmane.org Linux 2.5 (sometimes 2.4) (4) Received: from [80.91.229.2] ([80.91.229.2:50554] helo=ciao.gmane.org) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F2/E7-09861-FB9F5964 for ; Thu, 12 Jul 2007 05:52:01 -0400 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1I8vKz-0003cO-Cx for internals@lists.php.net; Thu, 12 Jul 2007 11:51:53 +0200 Received: from p508844b3.dip.t-dialin.net ([80.136.68.179]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 12 Jul 2007 11:51:53 +0200 Received: from sb by p508844b3.dip.t-dialin.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 12 Jul 2007 11:51:53 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: internals@lists.php.net Date: Thu, 12 Jul 2007 11:51:36 +0200 Lines: 43 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: p508844b3.dip.t-dialin.net User-Agent: Thunderbird 2.0.0.4 (Windows/20070604) In-Reply-To: Sender: news Subject: Re: [PHP-DEV] Mid-term Update for Cycle Collector (Google Summer of Code Project) From: sb@sebastian-bergmann.de (Sebastian Bergmann) David Wang schrieb: > Hello, everyone. My name is David Wang and I am one of the students > participating in Google Summer of Code this year. As you may remember, > my project is to implement a garbage collector for circular references > in PHP. As the midterm for Summer of Code is coming up, my mentor, > Derick Rethans, thought it would be a good idea if I shared my > progress with the community. Hello David, > On the Graph test, maximum memory usage with unmodified PHP was 133.9 > MB with an execution time of 8 seconds. > On the Graph test, maximum memory usage with gc was 51.6 MB with an > execution time of 9 seconds. > On the Template test, maxmium memory usage with unmodified PHP was 1.5 > GB with an execution time of 30 seconds. > On the Template test, maxmium memory usage with gc was 67.3 MB with an > execution time of 1 minute. > On the whole suite of tests (which includes the Graph and Template > tests), execution time with unmodified PHP was 12:03. With cycle > collection, it was 12:43. these numbers are quite impressive. > My project is currently being hosted on the xdebug CVS. You can get > the latest version with the following commands: > > cvs -d :pserver:srmread@cvs.xdebug.org:/repository login > CVS password: srmread > cvs -d :pserver:srmread@cvs.xdebug.org:/repository co circular > Note that I'm implementing my project on top of a CVS version of PHP > 5.2 that is a couple of weeks old. However, the cycle collector can be > ported into other versions of PHP fairly easily as it does not affect > the existing Zend engine code too much. As a first step, I think the code changes that convert direct accesses to the reference counters to the proper macros should be merged. These changes should be done in any case and it minimizes your patch and makes it more readable. -- Sebastian Bergmann http://sebastian-bergmann.de/ GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69