Re:PHP 5.5.0 Alpha 6 - Released
by Mahn on Friday March 08, 2013 @09:17AM
(#5343509)
So is Zend Optimizer meant to replace APC altogether, or just co-exist with APC? I've been using APC quite extensively assuming it would make it into the core eventually.
[ Parent
| on HN ]
Besides opcode caching, APC provides shared key-value storage. I don't really see why they chose Zend over APC as a standard opcache. Also, they are incompatible and cannot run together.
We will provide a separate extension (currently called "apcu") which contains only the user-cache part of APC. ZO+ and that extension together should behave the same way as APC currently does. This will actually work even better, because both components will be completely separate (the shared cache had fragmentation issues in APC.)
ZO+ was chosen over APC because it is more stable. ZO+ is (more or less) PHP 5.5 compatible already, whereas APC still tries to cope with 5.4 compatibility.
That's great, thanks for sharing.
The RFC for including ZO+ outlines some possible reasons: https://wiki.php.net/rfc/optimizerplus#advantages_of_optimiz...
That's why I asked, I really hope they ship APC within the core aswell if Zend Optimizer doesn't provide a data store. To be honest, I find the data store that APC provides way more important than opcode caching.
Yes, it would replace APC. Unless you are using the user-caching of APC it should not affect you.
Wow, that's just silly then. The user caching part of APC is practically the sole reason I use it; it's by far the fastest (non-distributed) caching mechanism available for PHP right now, several orders of magnitude faster than memcache or redis since the round-trip time is zero.
Are you sure about that? I'm getting better performance with XCache, and it has everything that APC has plus some other useful features like deleting keys by prefix.
Is that what you've found running memcache/redis on the same server? I've never actually used APC for user-caching.
Yes, YMMV depending on your environment, but I did test this carefully before making the decision to use APC for data caching wherever possible. IIRC I saw up to thousands of fetch/store operations in just 1ms using APC; but I'd suggest you to benchmark it on your own and judge by yourself.