Bug 82928

Summary: Optimizing tracking of intruding floats being removed from RenderBlock during layout
Product: WebKit Reporter: Ken Buchanan <kenrb>
Component: Layout and RenderingAssignee: Ken Buchanan <kenrb>
Status: RESOLVED FIXED    
Severity: Normal CC: hyatt, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch none

Ken Buchanan
Reported 2012-04-02 12:46:12 PDT
This is a follow-up for bug 74056, for some performance improvements in special cases. dhyatt's comment on https://bugs.webkit.org/show_bug.cgi?id=74056 -- > Not going to minus for this but thought of a couple of optimizations if you don't mind following up: > > (1) If the oldIntrudingFloat set ever empties out, you can bail out of that last loop early. > > In other words: > > for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end && !oldIntrudingFloatSet.isEmpty(); ++it) > oldIntrudingFloatSet.remove((*it)->m_renderer); > > That way once the set gets emptied out, you don't waste time iterating over floats that you know won't be found in the set. > > (2) If you cached an intruding object count and kept it up to date, you could really optimize the avoidsFloats case, since all it did was checked for if you had any intruding floats at all. Then you could make that case O(1) instead of O(n). > > I won't minus, but I'd appreciate a follow-up bug and fixes for this.
Attachments
Patch (2.30 KB, patch)
2012-04-12 11:45 PDT, Ken Buchanan
no flags
Ken Buchanan
Comment 1 2012-04-12 11:45:24 PDT
Dave Hyatt
Comment 2 2012-04-13 10:44:49 PDT
Comment on attachment 136945 [details] Patch r=me
WebKit Review Bot
Comment 3 2012-04-13 17:38:42 PDT
Comment on attachment 136945 [details] Patch Clearing flags on attachment: 136945 Committed r114190: <http://trac.webkit.org/changeset/114190>
WebKit Review Bot
Comment 4 2012-04-13 17:38:49 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.