Re: Re: Memory investigation
| From: | Rene Veerman | Date: | Wed, 03 Mar 2010 19:56:59 +0000 |
| Subject: | Re: Re: Memory investigation | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-302522@lists.php.net to get a copy of this message | ||
global $fooSize = 0;
function foo($id) {
....
global $fooSize;
if (empty($foos($id)) {
$b = get_memory_usage(true);
$foos[$id] = load_foo($id);
$fooSize+= $b - get_memory_usage(true);
}
...
}
On Wed, Mar 3, 2010 at 8:16 PM, larry@garfieldtech.com
<larry@garfieldtech.com> 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
>
> dsiembab01@gmail.com 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.
>>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>