Newsgroups: php.apc.dev,php.internals Path: news.php.net Xref: news.php.net php.apc.dev:191 php.internals:43178 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 201 invoked from network); 26 Feb 2009 14:33:06 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Feb 2009 14:33:06 -0000 Authentication-Results: pb1.pair.com smtp.mail=gopalv@yahoo-inc.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=gopalv@yahoo-inc.com; sender-id=unknown; domainkeys=good Received-SPF: error (pb1.pair.com: domain yahoo-inc.com from 203.99.254.144 cause and error) DomainKey-Status: good X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: gopalv@yahoo-inc.com X-Host-Fingerprint: 203.99.254.144 rsmtp2.corp.hki.yahoo.com FreeBSD 4.7-5.2 (or MacOS X 10.2-10.3) (2) Received: from [203.99.254.144] ([203.99.254.144:41550] helo=rsmtp2.corp.hki.yahoo.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 30/B0-30584-C18A6A94 for ; Thu, 26 Feb 2009 09:33:02 -0500 Received: from [127.0.0.1] (closehello-dr.eglbp.corp.yahoo.com [10.66.79.69]) by rsmtp2.corp.hki.yahoo.com (8.13.8/8.13.8/y.rout) with ESMTP id n1QEWqBt067346; Thu, 26 Feb 2009 06:32:53 -0800 (PST) DomainKey-Signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=message-id:date:from:user-agent:mime-version:to:cc:subject: references:in-reply-to:content-type:content-transfer-encoding; b=tDZxVwf/Pcxx2EitJAnhDSa3UlaITShremvTpOVa+I7udCmM1c0YPaSy47rxYqfW Message-ID: <49A6A82C.9030504@yahoo-inc.com> Date: Thu, 26 Feb 2009 20:03:16 +0530 User-Agent: Thunderbird 2.0.0.17 (X11/20080925) MIME-Version: 1.0 To: shire CC: PHP Internals List , apc-dev@lists.php.net References: <49A097FE.10205@tekrat.com> In-Reply-To: <49A097FE.10205@tekrat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [APC-DEV] [RFC] APC/PHP Lazy Loading From: gopalv@yahoo-inc.com (Gopal V) shire wrote: > http://tekrat.com/downloads/bits/apc_lazy_php53.patch > > You should be able to apply the above patch to the latest PHP_5_3 > branch, and recompile the latest APC CVS against it. Two ini settings > enable/display lazy loading: > > apc.lazy_functions=On/Off > apc.lazy_classes=On/OFf Awesome! > Alternative implementations would include replacing the function entries > with an internal function that would load the opcodes when called, > however I found this implementation to be problematic, still requires > changes to PHP, and would also require inserting entries into the > function/class tables which itself ends up being an expensive task for > extremely large codebases. I still haven't given up on the executor hooks. But can't argue with code that works (yes, it works for most of my tests). I should finish up the RO patches in place so that we can catch stuff being overwritten in shm without locks - reflection, xdebug and suhosin looks like potential culprits here. Cheers, Gopal -- If I learn from my mistakes, pretty soon I'll know everything