Re: Zend Optimizer+ Source Code now available
| From: | Rasmus Lerdorf | Date: | Sat, 23 Feb 2013 06:53:51 +0000 |
| Subject: | Re: Zend Optimizer+ Source Code now available | ||
| References: | 1 2 3 4 5 6 7 8 9 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-66168@lists.php.net to get a copy of this message | ||
On 02/22/2013 07:57 PM, Rasmus Lerdorf wrote:
> Hey Dmitry, I noticed today that ZO+ doesn't make use of sapi_get_stat()
> to get the initial stat struct from the sapi if available. So, if you
> have top-level a.php that includes b.php and c.php you end up with:
>
> stat("/var/www/a.php", {st_mode=S_IFREG|0664, st_size=49, ...}) = 0
> stat("/var/www/a.php", {st_mode=S_IFREG|0664, st_size=49, ...}) = 0
> stat("/var/www/b.php", {st_mode=S_IFREG|0664, st_size=10, ...}) = 0
> stat("/var/www/c.php", {st_mode=S_IFREG|0664, st_size=10, ...}) = 0
>
> whereas with APC you have:
>
> stat("/var/www/a.php", {st_mode=S_IFREG|0664, st_size=49, ...}) = 0
> stat("/var/www/b.php", {st_mode=S_IFREG|0664, st_size=10, ...}) = 0
> stat("/var/www/c.php", {st_mode=S_IFREG|0664, st_size=10, ...}) = 0
>
> That initial stat on a.php is done by Apache and because ZO doesn't grab
> that existing stat struct from the sapi it has to re-stat the top-level
> script.
>
> Was this an intentional thing to leave out or just an oversight?
A very quick a lightly-tested implementation:
https://github.com/zend-dev/ZendOptimizerPlus/pull/40
-Rasmus