| Newsgroups |
php.general |
| Message-ID |
<[email protected]> |
Currently it's mostly procedural with some components that are OO. I
suspect most of the memory sinks are large arrays (we have a lot of
them), but I am not certain of that. Hence my interest in more accurate
investigation tools.
--Larry Garfield
[email protected] wrote:
> couple questions Larry is this application composed of classes or
> straight up no holes barred procedural code?
>
> [email protected] wrote:
>> That's not really what I'm after. Let me try an example:
>>
>> function foo($id) {
>> static $foos = array();
>>
>> if (empty($foos[$id]) {
>> $foos[$id] = load_foo($id);
>> }
>> return $foos[$id];
>> }
>>
>> When load_foo() is slow (e.g., lots of DB traffic or remote-server
>> calls or whatever), such caching can have a significant performance
>> boost. Sometime after foo() has been called 15 times from 30 places in
>> code, when I get to the end of the request (or just every time I call
>> foo() would be fine) I want to be able to do something like:
>>
>> $cost = get_memory_used_by($foos);
>>
>> So that I can determine how much memory that caching is costing me
>> over the lifetime of the page, and determine if it's a worthwhile
>> trade-off.
>>
>> --Larry Garfield
>>
>> [email protected] wrote:
>>> function check_memory_usage(&$memory)
>>> {
>>> $memory[] = memory_get_usage();
>>> return $memory;
>>> }
>>>
>>> something like this?
>>> you can put it wherever you like and returns an array for further
>>> processing. You could optionally add a second argument to set the
>>> index to a name and check if the name exists to add 1 to the end of
>>> the name so your indexes stay maintained.
>>>
>