On Tue, 2013-03-05 at 12:23 -0600, nat...@starin.biz wrote:
> As PHP applications are turning into large frameworks one of the issues
> arriving is memory management. One of the issues is that many frameworks use
> sophisticated caching techniques to make accessing the same data quickly,
> this improves speed it is at the cost of memory. Often the developer knows
> these areas that cache and often times already have functions in place to
> clear out the cache, however in the case where PHP is approaching or exceeds
> memory limits PHP runs the GC then dies if it cannot allocate enough memory.
> If we implemented "memory warning" triggers or user function that will be
> called before the GC is executed which allows the user to try and free up
> some memory on their own. This hopefully would give more flexibility to
> allowing these advanced caching techniques but at the same time allow the
> cache to be cleared out in case memory is getting low.

Running the GC is most likely faster than most cleanup routines a user
could run, also usually there is not that much stuff cached in PHP
scripts. If a PHP script has "tons" of data, which it can easily throw
away, in memory this sounds like a smell of an bad architecture. Cache
cache-worthy stuff in memcache or such and fetch only the data you need.

Also: What should happen if the system runs out of memory while doing
the cleanup? Anything sane doesn't sound good either.

johannes



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

Reply via email to