Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:33423 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 52699 invoked by uid 1010); 25 Nov 2007 15:18:55 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 52684 invoked from network); 25 Nov 2007 15:18:54 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Nov 2007 15:18:54 -0000 Authentication-Results: pb1.pair.com smtp.mail=johannes@php.net; spf=unknown; sender-id=unknown Authentication-Results: pb1.pair.com header.from=johannes@php.net; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 83.243.58.163 as permitted sender) X-PHP-List-Original-Sender: johannes@php.net X-Host-Fingerprint: 83.243.58.163 mail4.netbeat.de Received: from [83.243.58.163] ([83.243.58.163:57632] helo=mail4.netbeat.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id BD/02-39497-C5299474 for ; Sun, 25 Nov 2007 10:18:54 -0500 Received: (qmail 9109 invoked by uid 507); 25 Nov 2007 15:18:48 -0000 Received: from unknown (HELO ?192.168.1.102?) (postmaster%schlueters.de@82.135.85.63) by mail4.netbeat.de with ESMTPA; 25 Nov 2007 15:18:48 -0000 To: "\"Andi Gutmans\"" Cc: David Wang , internals@lists.php.net In-Reply-To: <698DE66518E7CA45812BD18E807866CEC12BC2@us-ex1.zend.net> References: <000001c8097a$98ca3d30$ca5eb790$@com> <698DE66518E7CA45812BD18E807866CEC12BC2@us-ex1.zend.net> Content-Type: text/plain; charset=utf-8 Date: Sun, 25 Nov 2007 16:18:47 +0100 Message-ID: <1196003927.3204.4.camel@johannes.nop> Mime-Version: 1.0 X-Mailer: Evolution 2.12.1 (2.12.1-3.fc8) Content-Transfer-Encoding: 8bit Subject: RE: [PHP-DEV] Reference cycle collector patch From: johannes@php.net (Johannes =?ISO-8859-1?Q?Schl=FCter?=) Hi Andi, On Mon, 2007-10-08 at 09:00 -0700, "Andi Gutmans" wrote: > Thanks David. > We'll start testing the patch in our labs right after we're done with the Zend/PHP conference (early next week). Are there any results of these benchmarks, yet? johannes > Andi > > > > -----Original Message----- > > From: David Wang [mailto:planetbeing@gmail.com] > > Sent: Monday, October 08, 2007 12:13 AM > > To: internals@lists.php.net > > Subject: [PHP-DEV] Reference cycle collector patch > > > > Hey all, > > > > Now that macros for manipulating refcount and is_ref have been > > implemented, I’m ready to submit patches for the GC. I know you all > > have been waiting for this for a long time ☺. > > > > I have made two sets of patches, one for HEAD and one for PHP_5_3 (note > > that I had to rearrange the order of definitions and #includes in > > zend.h to get around a recursive dependency problem): > > > > http://zoo.cs.yale.edu/~yw226/gc/gc6.diff.txt > > http://zoo.cs.yale.edu/~yw226/gc/gc5_3.diff.txt > > > > After applying those, these two files should be placed in the Zend > > subdirectory: > > > > http://zoo.cs.yale.edu/~yw226/gc/zend_gc.c > > http://zoo.cs.yale.edu/~yw226/gc/zend_gc.h > > > > For those who were following the progress of the GC through the > > incubator SVN, the GC implemented with these patches is DIFFERENT than > > the one currently in the SVN tree. They are from an “experimental” > > branch that I believed was more tolerant of the zval juggling PHP and > > its extensions sometimes like to do. It turned out to be very > > successful, but I hadn’t bothered remerging it. > > > > I highly recommend these two patches in addition (but they are optional > > for GC functioning): > > > > http://zoo.cs.yale.edu/~yw226/gc/alwaysinline6.diff.txt > > http://zoo.cs.yale.edu/~yw226/gc/alwaysinline5_3.diff.txt > > > > These are meant to be applied after the previous patches. These simply > > change all the inline functions in the Zend engine to “always_inline”. > > Zend object files can become seriously oversized and this makes the > > compiler silently ignore the inline keyword. Changing this to > > always_inline (defined in zend.h) forces the compiler to inline the > > function or at least give a warning if it cannot. > > > > The reason I bring up the issue here is that my patch is known to > > sometimes push object files that were just under the internal compiler > > limit over the edge and make the compiler refuse to inline. This has > > the effect of making the whole Zend engine disproportionately slower. > > > > Anyway, please try these out and tell me how it goes! > > > > > > David > > > > P.S. This patch has the GC enabled by default. > > > > -- > > PHP Internals - PHP Runtime Development Mailing List > > To unsubscribe, visit: http://www.php.net/unsub.php >