[webkit-dev] Regarding the preload scanner in WebKit

Adam Barth abarth at webkit.org
Wed Dec 29 20:38:47 PST 2010

On Wed, Dec 29, 2010 at 8:19 PM, Aneesh Bhasin <contact.aneesh at gmail.com> wrote:
> I have been reading about the preload scanner that is supported in the
> WebKit since quite some time now (
> http://webkit.org/blog/166/optimizing-page-loading-in-web-browser/ ) . As
> per my understanding (please correct me if I am wrong), the preload scanner
> kicks in when the main parser has halted waiting for some javascript to
> load. To better utilize this time, a 'side' parser is started which parses
> the HTML to see if more resoursec (esp. scripts and CSS) are there which can
> be loaded in parallel.

That's correct.

> I have a few questions regarding this - What exactly is meat by 'loading' in
> context of the above - does it mean downloading the script/CSS from the
> remote host to the local client

Yes.  The preload scanner kicks off the network requests.  We rely on
the network machinery to cache the results so they'll be loaded faster
when the "real" parser finds them.

> or does it also include parsing/ executing
> (in case of script) and parsing/rule-list creation (in case of CSS) ?

Not yet, but that's certainly an area where we'd consider improving
the preload scanner.

> Also,
> how many such parallel loadings can happen at the same time - is it
> configurable in source or by some other API ?

The only limit is the network stack.  In most cases, the browser will
limit the number of concurrent requests outstanding to a host, but
some browsers might find ways to remove that limitation.  For example,
if the browser is using a network stack that supports SPDY, the
network stack might be able to multiplex many HTTP requests over a
single socket.

> Thanks for answering the above !

My pleasure.


More information about the webkit-dev mailing list