New issue
Advanced search Search tips

Issue 626684 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 588893
Owner: ----
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

WindowProxy::initialize is very slow

Project Member Reported by dcheng@chromium.org, Jul 8 2016

Issue description

https://twitter.com/bz_moz/status/751424738279452673 links to https://jsfiddle.net/76vqay5e/, which has a test case that repeatedly creates and destroys iframes.

On my Z620, the fiddle reports ~20ms per loop in Chrome. In Firefox, it's ~1ms per loop.

I added some random tracing to WindowProxy initialization: https://codereview.chromium.org/2131273002

~5.5 ms is spent in WebLocalFrameImpl::createChildFrame. Only 0.5ms is spent in the sync IPC call: something else here is accounting for the majority of time.

~12.5 ms is spent in WindowProxy::initialize.
  - About half that is spent in v8::Context::New
  - The other half is spent updating the document, activity logger, security token
    - 2.5 ms of that is spent in didCreateScriptContext, which is a hook for extensions
 
Here's a trace: it looks like WindowProxy::updateDocumentProperty is also quite expensive.
trace_Fri_Jul_08_2016_9.16.43_AM.json.gz
9.7 MB Download
Cc: jochen@chromium.org verwa...@chromium.org
Components: -Blink>JavaScript Blink>JavaScript>API
Labels: Performance
Status: Available (was: Untriaged)

Comment 3 by dcheng@chromium.org, Jul 11 2016

Mergedinto: 588893
Status: Duplicate (was: Available)

Sign in to add a comment