Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:30877 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 64168 invoked by uid 1010); 13 Jul 2007 00:17:31 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 64153 invoked from network); 13 Jul 2007 00:17:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Jul 2007 00:17:31 -0000 Authentication-Results: pb1.pair.com smtp.mail=planetbeing@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=planetbeing@gmail.com; sender-id=pass; domainkeys=bad Received-SPF: pass (pb1.pair.com: domain gmail.com designates 64.233.162.231 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: planetbeing@gmail.com X-Host-Fingerprint: 64.233.162.231 nz-out-0506.google.com Received: from [64.233.162.231] ([64.233.162.231:35159] helo=nz-out-0506.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id AE/45-26552-A94C6964 for ; Thu, 12 Jul 2007 20:17:31 -0400 Received: by nz-out-0506.google.com with SMTP id x7so287489nzc for ; Thu, 12 Jul 2007 17:17:27 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:from:to:references:in-reply-to:subject:date:message-id:mime-version:content-type:content-transfer-encoding:x-mailer:thread-index:content-language; b=Nzi2Ry7rv6SZ3tCDzwfmY1ti7qt/fS26FQlpHV/n7UQV6GLHS6W43+9pgmvAGJ0swh2F/qH9gTIFDj9eS8quaNQ/43mGxeeklGDqWX5mLf/8p4wQveWZyPWshl9Sx3quxZJfK76l4mjUWON+nPNtKbTj7EYbVQdjr33ENBH7PVE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:from:to:references:in-reply-to:subject:date:message-id:mime-version:content-type:content-transfer-encoding:x-mailer:thread-index:content-language; b=d+7T8DGUCmhYJrhOlS6G1Xc1dMNvYbcRLEZ2cqKp+hBoX+5giUNKxuq9R4bO4dUtD3w8uYxXilcm74CV5WsuNOzgfh4GiHuZ+Hc5keyu6oiGmVTeOSBOxXgVyrHwYYVvv4VaTk/BjW39O+NO1shBpoDzjahPGAzTXFVyTDpBflU= Received: by 10.114.36.1 with SMTP id j1mr1110925waj.1184285842055; Thu, 12 Jul 2007 17:17:22 -0700 (PDT) Received: from DavidPC ( [24.21.139.96]) by mx.google.com with ESMTP id l38sm24463571waf.2007.07.12.17.17.19 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 12 Jul 2007 17:17:20 -0700 (PDT) To: "'Stanislav Malyshev'" , "'Sebastian Bergmann'" , References: <46969CCA.3010608@zend.com> In-Reply-To: <46969CCA.3010608@zend.com> Date: Thu, 12 Jul 2007 17:17:15 -0700 Message-ID: <000901c7c4e3$2b803030$82809090$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AcfEy5bBZOwejbgDQhOySFXdLzeIGgAF1MCA Content-Language: en-us Subject: RE: [PHP-DEV] Mid-term Update for Cycle Collector (Google Summer of Code Project) From: planetbeing@gmail.com ("David") Hi all, > -----Original Message----- > From: news [mailto:news@sea.gmane.org] On Behalf Of Sebastian Bergmann > Sent: Thursday, July 12, 2007 2:52 AM > 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. I'll get on that. Should I create a patch for 5.2 only, or should one for HEAD be created as well? > -----Original Message----- > From: Stanislav Malyshev [mailto:stas@zend.com] > Sent: Thursday, July 12, 2007 2:28 PM > Indeed, memory usage reduction is very impressive - though I'm somewhat > surprised so much memory is wasted, is this some special very circular > case? The Template test does indeed involve a lot of cycles, which is why it was recommended to me as a good test case. However any program that generates a large amount of objects that are self-referential can do the same thing. See: http://bugs.php.net/bug.php?id=33595 > However, twofold speed reduction can be bad - but maybe it can be > optimized. Yes, that's very true. Although, anything that involves checking and freeing over a gigabyte worth of objects is going to take a long time. I'll keep working on it. My current priority for optimization is reducing overhead for acyclic programs. Three bytes are added to the zval struct with the current implementation and that struct is copied around a lot. Most notably, this causes an annoying 5% slow down in bench.php. I'm not certain what real world impact this has, but data with the php.ini option zend.enable_gc set to 0 would be very helpful. David