PHP 4.0.x Persistent flag in memory management.
| From: | Filip Sielimowicz | Date: | Tue, 23 Jan 2001 10:55:00 +0000 |
| Subject: | PHP 4.0.x Persistent flag in memory management. | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-44798@lists.php.net to get a copy of this message | ||
Could anyone explain me briefly the idea of "persistent memory
blocks" ? What result can I expect, when I always set it to 0 ?
And what is the purpose of such flag in hash tables ?
For example, the function zend_hash_destroy(HashTable *ht)
uses functions pefree, and this (I found it after turning off so called
ZEND_FAST_CACHE) has VERY bad infuence on memory usage patterns.
Sometimes it happens, that destroying hash table causes
DIRECT and immediate deallocation of blocks, which were previously
allocated in function 'start_memory_manager' (in 'for' loop, which
initialises memory cache).
In my opinion those blocks should stay untouched until the execution
of 'shutdown_memory_manager' function. Now we haven't even a
base control on order of allocationg and freeing memory blocks.
Zend, may be you would be so kind and explain me a bit ?
This problem is of course related to the 'PHP holds
memory too long', but I changed a title to make people
interested in again...
Filip Sielimowicz
I would be VERY grateful for any response.