I agree with both (A) and (B).

However (B) was done on purpose and has its advantages and disadvantages.
Anyway, I've opened https://github.com/zendtech/ZendOptimizerPlus/issues/118

C) file based opcode caching may be interesting as well

but all these requests are going to be a part of next major release (may be
in php-5.6)

Thanks. Dmitry.

Thanks. Dmitry.


On Tue, Jun 11, 2013 at 2:13 PM, Terry Ellison <ellison.te...@gmail.com>wrote:

> On 10/06/13 09:20, Dmitry Stogov wrote:
>
>> Sorry for slow response.
>> I'm very busy with other work and have no time for MLC OPcache review.
>> I don't think we can include it into main tree before 5.5.0 release
>> anyway.
>> But in general I think we may include your work in the future releases.
>>
>> Also, thanks for useful reports about problems you've found in OPcache :)
>>
>> Thanks. Dmitry.
>>
>>  Dmitry,
>
> One useful side-effect of writing the MLC support is that I've really had
> to take apart the core OPcache code to understand how it works.  It's
> probably the first in-depth review that this extension has had from someone
> _outside_ the Zend team, so its only to be expected that anyone doing this
> would find a few issues.
>
> What I do think needs to be said it that I think that you guys have done a
> fantastic job here in this development.  9 times out of 10 when I've
> initially thought "why didn't they do it this way?" when digging into the
> code, I've dug down in and discovered that you already had, or had
> approached it a better way.  IMO, the whole OPcache approach is tighter and
> more sound than that of APC.  Take one example of this: the 2-pass algo for
> compiled scripts which enables the storage for a compiled script be to
> allocated as a single storage unit.  This has two major performance
> benefits at runtime:
>
> 1)  The memory allocator overheads of preparing scripts for execution (and
> deallocation at rundown) are reduced by more than an order of magnitude.
> 2)  The memory needed to execute the script is in a contiguous memory
> areas, and this gives improved hardware (as in L1/L2/L3) caching which
> passes through to a runtime performance improvement.
>
> There are a couple of things that I would refactor if I had written
> OPcache.  (I'll raise a couple of issues on these to discuss what I mean in
> more depth.  and when the MLC work reaches a plateau if you think its
> worthwhile I can cut a couple of branches to show you a possible solution.)
> A)  The SMA startup bootstrap is just messy and needs refactoring.
> B)  The simple dead-and-rebirth method of refreshing caches isn't going to
> scale well on real systems.
>
> Terry
> (Note the new email addr that I am using for php.net work, as this one
> isn't being blocked by the php.net server)
>

Reply via email to