Monday, March 19, 2007

New Memory Manager in PHP 5.2

I read an article in IBM DeveloperWorks about new feature in PHP 5.2 which deals with new memory manager. Here's some text from the site:
There are many improvements that have taken place in PHP V5.2, and one critical area is that of memory management. The exact quote from README.ZEND_MM states: "The goal of the new memory manager (PHP5.2 and later) is reducing memory allocation overhead and speeding up memory management."

Here are some of the key items from the V5.2 release notes:

* Removed unnecessary --disable-zend-memory-manager configure option
* Added --enable-malloc-mm configure option, which is enabled by default in debug builds to allow using internal and external memory debuggers
* Allows tweaking the memory manager with ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment variables

When used effectively, the new memory-management tools will support your debugging efforts to reclaim some of your system resources. I think this is a good article to demonstrate how memory manager works and make debugging process even more detailed than ever, since we can see how many resources left within the system.