Re: [APC-DEV] [RFC] APC/PHP Lazy Loading
| From: | Rasmus Lerdorf | Date: | Thu, 26 Feb 2009 16:35:29 +0000 |
| Subject: | Re: [APC-DEV] [RFC] APC/PHP Lazy Loading | ||
| References: | 1 2 | Groups: | php.internals php.apc.dev |
| Request: | Send a blank email to internals+get-43181@lists.php.net to get a copy of this message | ||
Gopal V wrote:
> 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!
Yup, I am all for the lazy loading patch as well. I don't think people
really realize how much code they load that is never run. Especially
all the folks with massive front controllers.
>> 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.
I wouldn't worry about xdebug at all. We should probably just turn off
the opcode cache part when xdebug is active if it is a problem.
-Rasmus