RESOLVED FIXED 149726
Web Inspector: Do not immediately create all ProfileNodeTreeElements when showing JavaScript and Events timeline
https://bugs.webkit.org/show_bug.cgi?id=149726
Summary Web Inspector: Do not immediately create all ProfileNodeTreeElements when sho...
Joseph Pecoraro
Reported 2015-10-01 15:18:55 PDT
* SUMMARY Do not immediately create all ProfileNodeTreeElements when showing JavaScript and Events timeline. When switching to JavaScript and Events timeline we accidentally create ProfileNodeDataGrid / ProfileNodeTreeElements for every single profile node. Some samples this can be > 500000 tree elements. This causes significant performance impact on tasks like sorting and filtering.
Attachments
[PATCH] Proposed Fix (3.67 KB, patch)
2015-10-01 15:28 PDT, Joseph Pecoraro
no flags
Radar WebKit Bug Importer
Comment 1 2015-10-01 15:19:24 PDT
Joseph Pecoraro
Comment 2 2015-10-01 15:28:11 PDT
Created attachment 262288 [details] [PATCH] Proposed Fix This brings Script & Events to a usable level of performance as long as you don't have a text filter. 1. Switching to the timeline doesn't create 500000+ tree elements 2. Sorting the timeline doesn't need to update 500000+ tree elements However, this does mean the first time you do a text filter we have abysmal performance, as we create these tree elements at that time and walk all of them, maybe expand portions, and calculate ProfileNode times. I think that is a reasonable step forward at the moment and we will work to improve that next.
Timothy Hatcher
Comment 3 2015-10-01 15:46:56 PDT
Comment on attachment 262288 [details] [PATCH] Proposed Fix Nice!
WebKit Commit Bot
Comment 4 2015-10-01 16:34:36 PDT
Comment on attachment 262288 [details] [PATCH] Proposed Fix Clearing flags on attachment: 262288 Committed r190437: <http://trac.webkit.org/changeset/190437>
WebKit Commit Bot
Comment 5 2015-10-01 16:34:40 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.