[Webkit-unassigned] [Bug 63531] Turn PreloadScanner implementation to a thread based solution

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 10 14:29:59 PST 2013


https://bugs.webkit.org/show_bug.cgi?id=63531





--- Comment #45 from Balazs Kelemen <kbalazs at webkit.org>  2013-01-10 14:31:49 PST ---
(In reply to comment #43)
> (In reply to comment #42)
> > The benefit doesn't seems to be valuable enough.
> 
> It would be great if you could summarize your findings.  It's likely that we will want to explore these sorts of optimizations throughout the system.  Probably a lot of the exploration we will do will dead-end, like yours did, simply because this is a tough problem.

I'm glad that you are interested in this work.

> 
> So I'm curious about the following:
> 
> - To your best estimate, what was the expected speed-up?  The results you posted are for example 1157.39 (ref) versus 1145.5 (your concurrent version), which seems like a speed-up.

It's a very tiny win, and as I remember I could not reproduce it every time, so we can say it is under the margin of measuring error. Generally page load time did not improved by this work. The case were it was very beneficial is such a page like the parser benchmark (PerformanceTests/Parser/html-parser.html) where the preload scanner is a time waster. I believe this worst case scenario is really a bug of the preload scanner and it should be fixed anyway - without threading I can think about yielding to the event loop after some amount of text it has processed.
The other advantage could be that we can kick off loading resources earlier, but it's hard to measure.

> 
> - As far as you know, what were the bottlenecks?
> 
> I know it's been a long time since you worked on this, but I think that this is a pretty neat case study of taking some part of the code and attempting to make it concurrent.  It would be cool to understand more precisely which parts of your optimization worked, and which parts didn't.

A serious problem is that we can only start the load on the main thread. If the main parser has been stopped because of JS execution we could not load the resources until it finishes. If we could have a loader on the thread it could help but I guess it needs a lot of work.

-- 
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