[Webkit-unassigned] [Bug 98800] RoboHornetPro spends ~25% of total test time in WebCore::Region::Shape methods
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Oct 11 13:51:20 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=98800
--- Comment #6 from Eric Seidel <eric at webkit.org> 2012-10-11 13:52:01 PST ---
I think there are various ways that we could fix this.
N=number of regions, M= number of spans per region.
1. create a form of the union() operator which was self-modifying. That would allow us to do only N*M span copies instead of our current approximately (N*M)^2.
2. pre-allocate span/segment vectors of the correct size. That would make us have N vector allocations, instead of the current N*ln(M).
3. lazily turn a list of rects into a Region, using a Vector<IntRect> instead of the Region for the map which could eliminate all unnecessary span/segment copies. :)
4. fix bug 84393 or similar to avoid doing this operation so often.
5. find a way to turn off the OverlapMap for this (and similar) scenarios, since Simon says it shouldn't buy us anything in this example.
I suspect we'll end up doing a combination of the above. I'm happy to file additional bugs if that would be helpful.
I've stared at the Region code enough this afternoon that I suspect I could execute on 1 or 2 and possibly 3. But I also suspect that Anders being Mr. Region, would do a better job than I would, assuming he has the time to do so.
It's also possible that 6. we could temporarily disable the OverlayMap if it's not buying us much? I don't really know what it does, so that one is a shot in the dark. :)
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list