New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 849245 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression

Blocked on:
issue angleproject:2607



Sign in to add a comment

7.6%-10% regression in angle_perftests at 563941:563943

Project Member Reported by jmadill@google.com, Jun 4 2018

Issue description

See the link to graphs below.
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=849245

(For debugging:) Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?sid=9677374409157d14ddc1b21b5b773a1495aa184dc34e17d78f053d612951a2b7


Bot(s) for this bug's original alert(s):

chromium-rel-win7-gpu-nvidia
Blocking: angleproject:2607
Cc: jgilb...@mozilla.com oetu...@nvidia.com
Components: Internals>GPU>ANGLE
Owner: jmad...@chromium.org
Status: Assigned (was: Untriaged)
This is because of jgilbert@mozilla.com Use stringstream with locale override.

Jeff, can you try re-implementing this using a faster approach? Something like stdtod with a custom step added to parse out commas.

https://chromium-review.googlesource.com/1077789

Blockedon: angleproject:2607
Blocking: -angleproject:2607

Comment 4 Deleted

 Issue 849246  has been merged into this issue.

Comment 6 Deleted

I'm surprised this would be so much slower as to show up this strongly here.

Honestly ANGLE translation times haven't been our bottleneck, so we're looking at a much, much lower real-world regression here. 

I did poke around, and I came up with a solution that's nearly as fast as baseline, but it's not thread-safe.

I can't spend any more time on this. c++17 should eventually give us <charconv> and from_chars(), but it seems like no one's implemented float support yet.
OK, no worries. Maybe Olli can help when he has time. Can you upload your WIP CL and we can see what you were thinking of? Generally we're not too worried about ANGLE compile perf but when there are regressions we try to fix them.
Project Member

Comment 9 by bugdroid1@chromium.org, Jun 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/c3907efa884ff001387d8821898a28c808a6d582

commit c3907efa884ff001387d8821898a28c808a6d582
Author: Olli Etuaho <oetuaho@nvidia.com>
Date: Fri Jun 08 12:29:14 2018

Always use custom float parsing in GLSL

We now always use custom parsing code for parsing floats in GLSL
shaders. Previously this code was only used in corner cases that
stringstream parsing did not handle according to the GLSL spec.

This is slightly faster in compiler perftests, and results in a
smaller binary as well.

Some new test cases are added to make sure that the custom float
parsing behaves correctly.

BUG= chromium:849245 
TEST=angle_unittests, angle_perftests

Change-Id: I2a88ec6a8b427016e34519d72bc98216947a4c64
Reviewed-on: https://chromium-review.googlesource.com/1092697
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

[modify] https://crrev.com/c3907efa884ff001387d8821898a28c808a6d582/src/tests/compiler_tests/FloatLex_test.cpp
[modify] https://crrev.com/c3907efa884ff001387d8821898a28c808a6d582/src/compiler/translator/util.cpp
[modify] https://crrev.com/c3907efa884ff001387d8821898a28c808a6d582/src/compiler/preprocessor/Token.cpp
[modify] https://crrev.com/c3907efa884ff001387d8821898a28c808a6d582/src/compiler/preprocessor/Token.h
[modify] https://crrev.com/c3907efa884ff001387d8821898a28c808a6d582/src/compiler/preprocessor/numeric_lex.h

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 9 2018

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

commit 3e27f4c7cc547d27a75eeeb28579581bebee61b0
Author: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Sat Jun 09 02:54:08 2018

Roll src/third_party/angle 4b06c1e..f15f886 (7 commits)

https://chromium.googlesource.com/angle/angle.git/+log/4b06c1e..f15f886


git log 4b06c1e..f15f886 --date=short --no-merges --format='%ad %ae %s'
2018-06-08 ynovikov@chromium.org Differentiate texture and renderbuffer framebuffer attachment capabilities
2018-06-08 lucferron@chromium.org Vulkan: Keep unused uniforms list to fix glslang issues
2018-06-08 lfy@google.com GLES1: Texture environment API
2018-06-08 fjhenigman@chromium.org Vertex format support in AttributeLayoutTest.
2018-06-08 thomasanderson@chromium.org Remove manual references to exe_and_shlib_deps
2018-06-08 geofflang@chromium.org Hold RendererGL objects with a shared_ptr.
2018-06-08 oetuaho@nvidia.com Always use custom float parsing in GLSL


Created with:
  gclient setdep -r src/third_party/angle@f15f886

The AutoRoll server is located here: https://angle-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:845700 , chromium:849245 
TBR=geofflang@chromium.org

Change-Id: I84d8cf1625fd301c5807f308a57a2a80f2783e04
Reviewed-on: https://chromium-review.googlesource.com/1093429
Reviewed-by: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#565829}
[modify] https://crrev.com/3e27f4c7cc547d27a75eeeb28579581bebee61b0/DEPS

Owner: oetu...@nvidia.com
Status: Fixed (was: Assigned)
Graph has recovered. Thanks for the fix, Olli.

Sign in to add a comment