Confirmed users
920
edits
No edit summary |
LesOrchard (talk | contribs) No edit summary |
||
| Line 7: | Line 7: | ||
** Community Store push last week | ** Community Store push last week | ||
** Rewriting Graph server javascript code | ** Rewriting Graph server javascript code | ||
* lorchard | |||
** LizardFeeder launch attempt, still pending | |||
** AMO Bandwagon feed working, lessons learned: | |||
*** Problem: | |||
**** Models yield lots of deeply nested arrays, even with lots of unbinding | |||
**** Sanitizing is heavily recursive with deeply nested arrays, is slow, and appears to tickle PHP-level memory leaks. | |||
**** This combination lead to an inability to build the feed in under 90 seconds and 64mb of RAM. Since php.ini limits to 30 seconds and 16MB, this is fail. | |||
*** Solution: | |||
**** Never feed Model result arrays straight into sanitizing. | |||
**** Build an intermediate array, as flat as possible, with only the minimal amount of data necessary for the View. | |||
**** This reduces both the recursion and work sanitizing needs do to in general. | |||
*** Bonus: | |||
**** Learned all about using XDebug with 650MB cachegrind files, which don't work in webgrind and require KCachegrind or WinCachegrind to view. | |||
**** Turning on function tracing (separate from profiling) offers a peek at memory usage from call to call. | |||
**** CakePHP adds 100000's of function calls of overhead, for what it's worth. | |||