http://www.robohornet.org/tests/svgresize.html spends all (90%) of its time in StyleResolver::sweepMatchedPropertiesCache It must be hitting some pathological case?
Does the cache grow without bound?
Maybe the sweep needs be done by a short timer instead of being synchronous.
Created attachment 168748 [details] GC the matched properties cache on a timer instead of every 100 additions.
Comment on attachment 168748 [details] GC the matched properties cache on a timer instead of every 100 additions. Should we be capping the size of this cache?
Comment on attachment 168748 [details] GC the matched properties cache on a timer instead of every 100 additions. I now see that I asked the same question earlier in this bug. :) Anyway, the change itself looks fine. I still have some mild concern about the seemingly unbounded nature of this cache. :)
Perhaps we should add svgresize or similar to PerformanceTests to catch this?
(In reply to comment #4) > (From update of attachment 168748 [details]) > Should we be capping the size of this cache? That sounds like the sane thing to do. Thoughts, Antti? (In reply to comment #6) > Perhaps we should add svgresize or similar to PerformanceTests to catch this? Could we import the test suite wholesale? If so, that would be the best thing to do. It might have a negative impact on cycle times (though that'll certainly motivate us to make the tests run faster!)
(In reply to comment #7) > (In reply to comment #6) > > Perhaps we should add svgresize or similar to PerformanceTests to catch this? > > Could we import the test suite wholesale? If so, that would be the best thing to do. It might have a negative impact on cycle times (though that'll certainly motivate us to make the tests run faster!) Bug 97507 is about just that. I think the current prevailing view is that the suite is in-flux and thus not worth importing. shrug.
Comment on attachment 168748 [details] GC the matched properties cache on a timer instead of every 100 additions. Clearing flags on attachment: 168748 Committed r131388: <http://trac.webkit.org/changeset/131388>
All reviewed patches have been landed. Closing bug.
Good times. :) Now the test spends 50% of time in StyleResolver::canShareStyleWithElement (which has shown up hot in other samples before).