3.0.13 Released

[email protected] (Rasmus Lerdorf) Sat, 24 Feb 2007 23:27:33 +0000
Newsgroups php.apc.dev
Message-ID <[email protected]>
I just pushed out 3.0.13 so we can start breaking things again.  There
are a bunch of internal fixes from Gopal and Brian Shire in this release
and a couple of user-visible features as well.  The user-visible stuff
being:

Pthread mutex and spin locks

Brian Shire did all the legwork on this.  We stole (with permission) the
spin locking code from PostgreSQL after I had a chat with Bruce Momjian
about PostgreSQL internals.  It turns out PostgreSQL has a very similar
shared memory locking requirement and they had already done all the work
of writing a cross-platform spin lock implementation.  Give it a try.
Compile your APC using --enable-apc-spinlocks to switch to spin locks.
They should be quite a bit more efficient than the standard fcntl locks.
If they don't work for you, you can also try pthread locks.  Some
feedback and benchmarks on these two new locking implementations would
be appreciated.

File upload progress

If you are running PHP 5.2 you can now connect the file upload hooks
provided by PHP into APC by turning on apc.rfc1867 in your config file.
The INSTALL file has a longer description of this feature and you can
see a sample at http://progphp.com/progress.php with source at .phps

User cache changes

apc_store and apc_fetch handle recursive zvals now and you can pass an
array to apc_fetch with a list of keys to fetch.  There is also a new
function, apc_add() which is exactly like apc_store() except it will
return false and not insert anything if the key is already in the cache.

-Rasmus