Peter's right: as far as I understand, parsing, rendering, and script
execution are all expected to take place on a single thread of execution.
 This includes any calls across multiple pages, which is why we place
"connected" same-site pages (those in the same unit of related browsing
contexts) in the same process.  If one page calls a function in another
page, we don't want to allow data races.

For more info on the decisions we've made about which pages go to which
process, see:
http://dev.chromium.org/developers/design-documents/process-models

We also have a Eurosys 2009 paper on the topic:
http://www.cs.washington.edu/homes/creis/publications/eurosys-2009.pdf

Hope that helps,
Charlie


On Mon, Jan 4, 2010 at 7:10 PM, Peter Kasting <pkast...@google.com> wrote:

> On Mon, Jan 4, 2010 at 6:55 PM, Fady Samuel <fadysam...@gmail.com> wrote:
>
>> So a script cannot execute concurrently with the traversal of the DOM
>> tree? Could this be a performance bottleneck?
>
>
> Pretty much nothing in the renderer can execute concurrently with other
> things in the renderer.  There have been academic papers published about
> trying to parallelize parts of web rendering, and some though experiments
> from various smart Mozilla and WebKit folks, but from what I've seen it's
> not promising.  The web wasn't really designed with thread- or process-level
> parallelism on the part of the UA in mind.  (Witness, for example, the
> horror of sync XHR, or how difficult it is to make alert()s not be
> renderer-modal.)
>
> In particular, it's fairly well-defined that script sees a coherent state
> as it executes, so unless you can solve the halting problem, there are
> pretty severe limits on how much you could parallelize script execution with
> other stuff.
>
> PK
>
> --
> Chromium Developers mailing list: chromium-dev@googlegroups.com
> View archives, change email options, or unsubscribe:
> http://groups.google.com/group/chromium-dev
>

-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev

Reply via email to