Webdev:Meetings:2008-12-23: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
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.
Confirmed users
920

edits

Navigation menu