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@xxxxxxxxxxxxxxxx <larry@xxxxxxxxxxxxxxxx> 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@xxxxxxxxx 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