On Sat, May 11, 2013 at 6:30 PM, Joe Watkins <krak...@php.net> wrote:

> On 05/11/2013 11:10 AM, Joe Watkins wrote:
>
>> On 05/10/2013 08:54 PM, Christopher Jones wrote:
>>
>>>
>>>
>>> On 05/09/2013 05:02 AM, Pierre Schmitz wrote:
>>>
>>>> Hi,
>>>>
>>>> I am testing PHP 5.5 atm and how we can package it for Arch Linux and
>>>> provide an upgrade path for users. The RC1 looks pretty solid so far.
>>>>
>>>> As the new opcache does not provide a user cache to store custom
>>>> variables, I would be glad if you could clarify what the best migration
>>>> from 5.4 would be.
>>>> * Is APC basically dead and wont support PHP 5.5?
>>>>
>>>
>>>  From the lack of APC activity and from comments Rasmus has made in the
>>> bugs (e.g. [1]) this is a safe assumption.
>>>
>>>  * Should APC users switch to opcache and APCu? (with APCu replacing the
>>>> APC package)
>>>>
>>>
>>> OPcache is definitely the opcode cache solution for PHP 5.5
>>>
>>> For user data caches, there are a number of alternatives, as you
>>> noted.  During this initial transition phase it isn't clear what the
>>> directions of each solution will be.  It isn't clear that there will
>>> be one dominant solution.  I'll leave it to Laruence and Joe to
>>> state their cases for world domination of YAC and APCu, respectively.
>>>
>>> Chris
>>>
>>> [1] 
>>> https://bugs.php.net/bug.php?**id=64625<https://bugs.php.net/bug.php?id=64625>
>>>
>>>
>>>  For PHP application developers:
>>>> * Regarding APCu: it provides the old PHP interface function as well as
>>>> their own apcu_* functions. They are aliases right now. Should
>>>> application developers think about switching to the apcu_-API as new
>>>> features will be available only here?
>>>>
>>>> Bonus question:
>>>> * Right now very similar functionality is provided by APCu, XCache,
>>>> WinCache, YAC etc.. Are there plans to include such functionality inside
>>>> PHP in future to make application developers life a little easier? At
>>>> least a common API would be great. There were several bugs in
>>>> applications as these modules behave a little different regarding return
>>>> values etc..
>>>>
>>>> Greetings,
>>>>
>>>> Pierre
>>>>
>>>>
>>>
>> I am still waiting to see articles/blogs and the consensus on YAC.
>>
>> YAC has a much higher throughput, if you are able to write the software
>> to manage it and have the hardware to put up with it, then you should
>> attempt to take advantage.
>>
>> I'm not really sure if most have either the ability or the hardware; or
>> if it's good thing to aspire to having either. Think about what is the
>> advantage of using a cache, why does it create a more stable experience
>> even when we do have the hardware to SELECT or request everything we
>> need from wherever it comes ... it's because you are benefiting from the
>> fact that the cache doesn't just make PHP faster because the opcodes
>> Zend executes are less than fetching an un-cached result, but also, and
>> mostly because it takes the pressure of MySQL, or your network
>> connection, or your IO scheduler, or all of the above if you are clever
>> about it. The problem with having no locking comes on a loaded server
>> when many clients are attempting to read from an expired entry (this is
>> the point where a cache has the effect of a stable service even under
>> load where items have short ttls) the cache so they can avoid some
>> significant work. In that situation, APC (and most others I assume) has
>> a lock acquired by the first writer that cannot be obtained by a reader
>> while it is held, the writer finishes (populating cache) the reader
>> acquires the lock and is able to read that cached item, as are other
>> readers. Good, only one context done what the cache is there to avoid.
>> With YAC, or any solution that does not employ entry level locking, many
>> contexts will end up doing the work, because a reader cannot see what
>> isn't finished writing and will not implicitly wait for a write to
>> complete.
>>
>> Something to think about ...
>>
>> Joe
>>
>
> Not entry level, cache level locking. Entry level I tested and it just
> makes the software more complex and work harder for no improvement evident
> over read/write locks, and no significant benefit over apcu's
> implementation of standard locking (used where rwlocks are disabled
> explicitly) ...


  sorry for missed this message, hehe

  Yac is designed for user relevant caches,  in our applications,  cache
are always bind to a specific user(cache key is prefix with "user_id"), in
this case, Yac is very situable, since there is no "Thundering herd"...

  for these casese, like cache a config file,  once the config file is
modified, then multi-process will try to update it. I assume in this case,
Yac will get a overhead costs,

  anyway,  I am busy about some else work recently,  I will definitly write
some blogs/articles about Yaf in reallife applications later. (... and
windows support)

  thanks



>  --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
Laruence  Xinchen Hui
http://www.laruence.com/

Reply via email to