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, [email protected]
<[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.
>>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php