I'm using PHP for 8 months now and faced an interesting problem...
$mem = memory_get_usage() / 1096;
$mem = number_format($mem, 3, ".", ","). " kB";
The end result is:
<!--
Exec. time script: 0.053 sec.
Allocated mem: 492.036 kB
-->
I spent some time with my Zend Studio debugger and profiler. In the script I use a method to retrieve phrases (yes, it's a multi language application), which consumes quite some mem. To decrease memory consumption, I payd special attention to unset()ting vars in the code. However, according to my debugger and watch, the memory is not actually released after unsetting a var.
In my debugger, I see that each time the method is called, for each executed line the used memory is increased.
My questions:
1) Are there ways to release vars / give mem back to the system during execution and in that way decrease memory usage / decrease performance ?
2) Can I force a garbage collector to actually do it's job ? Read the docs, but didn't find info about it. Maybe I need new glasses 😃
Any suggestion would be appriciated...
BTW; I'm developing on a SuSe Linux prof. machine and using MySql 4.1.10 + PHP5. At this moment, the database is small, but after deployment it will be a large database and much traffic, so performance is quite important.
Kind regards, Nico