New issue
Advanced search Search tips

Issue 616618 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocked on:
issue 611864

Blocking:
issue 581997



Sign in to add a comment

V8PrivateProperty isn't fast enough

Project Member Reported by kbr@chromium.org, Jun 1 2016

Issue description

After the fix for  Issue 611864 , testing shows that V8PrivateProperty still carries too high a cost -- specifically, V8PrivateProperty::Symbol::get().

Please see https://codereview.chromium.org/2023603003 , which eliminates the "persistent caches" in several WebGL objects in favor of calling V8PrivateProperty::Symbol::get. It increases the mean_frame_time of the WebGL portion of the Animometer / Motion Mark benchmark from 56.217 ms to 83.02 ms. This is too high a cost.

More profiling and optimization of V8PrivateProperty is needed.

 

Comment 1 by kbr@chromium.org, Jun 1 2016

Cc: vmi...@chromium.org
Components: Blink>WebGL
To run the associated benchmark, build Chrome in Release mode and run:

./tools/perf/run_benchmark --browser=release smoothness.tough_webgl_cases > output.txt

both with and without https://codereview.chromium.org/2023603003/ patched in.

On my Linux workstation, mean_frame_time of http___kenrussell.github.io_webgl-animometer_Animometer_tests_3d_webgl.html is 56.217 ms with Chrome ToT, and 83.02 ms with the CL above patched in. This is too high a cost.

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c6cada593b5b731a615f6d66f96586f37e86e2d4

commit c6cada593b5b731a615f6d66f96586f37e86e2d4
Author: yukishiino <yukishiino@chromium.org>
Date: Thu Jun 02 14:55:35 2016

binding: Supports V8PrivateProperty::getOrUndefined.

Adds getOrUndefined() as a fast version of get() for the clients
that do not need to care about the difference between
a) the private property has not yet been set, and
b) the private property was intentionally set to undefined.

BUG= 616618 

Review-Url: https://codereview.chromium.org/2035713002
Cr-Commit-Position: refs/heads/master@{#397401}

[modify] https://crrev.com/c6cada593b5b731a615f6d66f96586f37e86e2d4/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h

Owner: yukishiino@chromium.org
Status: Fixed (was: Untriaged)
Close this issue, since I have no more idea to improve V8PrivateProperty.

Sign in to add a comment