Re: Mutation events - slowness examples

Boris Zbarsky wrote:
>>>>> Just as a data point, Gecko trunk had a bug earlier today where we 
>>>>> accidentally introduce a performance regression on removing table 
>>>>> rows.  The bug was easily caught because the regression made 
>>>>> removing a table row O(N) in number of rows and it immediately 
>>>>> turned out that all sorts of pages out there sort 
>>>>> multi-thousand-row tables by reordering the row nodes in the DOM.
>>>> Can you provide some URLs?
>>>
>>> Here's an example: 
>>> http://crash-stats.mozilla.com/report/list?product=Firefox&version=Firefox%3A3.0&version=Firefox%3A3.0.1&version=Firefox%3A3.0.10&version=Firefox%3A3.0.10pre&version=Firefox%3A3.0.11&version=Firefox%3A3.0.11pre&version=Firefox%3A3.0.12pre&version=Firefox%3A3.0.1pre&version=Firefox%3A3.0.2&version=Firefox%3A3.0.2pre&version=Firefox%3A3.0.3&version=Firefox%3A3.0.4&version=Firefox%3A3.0.4pre&version=Firefox%3A3.0.5&version=Firefox%3A3.0.5pre&version=Firefox%3A3.0.6&version=Firefox%3A3.0.6pre&version=Firefox%3A3.0.7&version=Firefox%3A3.0.7pre&version=Firefox%3A3.0.8&version=Firefox%3A3.0.8pre&version=Firefox%3A3.0.9&version=Firefox%3A3.0.9pre&version=Firefox%3A3.0b1&version=Firefox%3A3.0b2&version=Firefox%3A3.0b3&version=Firefox%3A3.0b4&version=Firefox%3A3.0b5&version=Firefox%3A3.0b5pre&version=Firefox%3A3.0pre&version=Firefox%3A3.1a1&version=Firefox%3A3.1a1pre&version=Firefox%3A3.1a2&version=Firefox%3A3.1a2pre&version=Firefox%3A3.1b1&version=Firefox%3A3.1b1pre&version=Firefox 
>>>
> %3A
>>>
>>> 3.1b2&version=Firefox%3A3.1b2pre&version=Firefox%3A3.1b3&version=Firefox%3A3.1b3pre&version=Firefox%3A3.1b4pre&version=Firefox%3A3.2a1pre&version=Firefox%3A3.5&version=Firefox%3A3.5b4&version=Firefox%3A3.5b4pre&version=Firefox%3A3.5b5pre&version=Firefox%3A3.5b99&version=Firefox%3A3.5pre&version=Firefox%3A3.6a1pre&platform=mac&query_search=signature&query_type=contains&query=nsObjCExceptionLogAbort&date=&range_value=4&range_unit=weeks&do_query=1&signature=nsObjCExceptionLogAbort%28NSException*%29%20|%20nsAppShell%3A%3AProcessGeckoEvents%28void*%29 
>>>
>> That just gives me a page of crash-stats. I can't find any links to 
>> pages that caused the crashes.
>
> That page sorts the table of crash-stats when DOMContentLoaded fires. 
> There aren't any "pages that caused the crashes" (and I'm not sure 
> what made you think there are).  Just the page I linked to, which 
> shows an ~500 row table being sorted.  Not counting mutations 
> triggered by the parser while building up the DOM, loading that page 
> performs 500-some DOM node inserts and 500-some DOM node removes.  
> Clicking the table headers also has the same effect: 1 click, 
> 1000-some DOM operations.
OK can you provide URLs for "all sorts of pages out there that sort 
multi-thousand-row tables"?

Received on Friday, 26 June 2009 05:58:37 UTC