Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Issue 2176633002: [css-grid] Avoid the HashMap for the override containing block size (Closed)

Created:
4 years, 5 months ago by jfernandez
Modified:
4 years, 4 months ago
CC:
chromium-reviews, szager+layoutwatch_chromium.org, zoltan1, svillar, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, Manuel Rego, jchaffraix+rendering, blink-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[css-grid] Avoid the HashMap for the override containing block size The change made in r406557 caused a 12% regression on the grid layout performance tests. The root cause is that as part of the changes required to implement the orthogonal flows support we decided to use physical directions to determine whether a grid item overflows its grid area or not. Since we store the logical sizes in a HashMap, we implemented some utility methods that, based on the grid container's writing mode, retrieve the stored width or height from the HashMap. Since the previous logic was reusing the already computed logical value, the change introduced a considerable performance regression. This patch address the issue by removing the utility methods and determine the physical sizes directly inside the layout logic. BUG=630448 Committed: https://crrev.com/2cf9f05031414616d3d1eb1e5ffa5013e396d61b Committed: https://crrev.com/e2bf9ba77a6b9add6c7a703be1fa85814c79c12e Cr-Original-Commit-Position: refs/heads/master@{#407762} Cr-Commit-Position: refs/heads/master@{#408203}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+12 lines, -50 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutBox.h View 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 4 chunks +7 lines, -27 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutGrid.h View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutGrid.cpp View 2 chunks +5 lines, -17 lines 0 comments Download

Messages

Total messages: 24 (11 generated)
jfernandez
4 years, 5 months ago (2016-07-22 13:15:46 UTC) #3
svillar
Never liked those methods :) lgtm
4 years, 5 months ago (2016-07-22 13:39:28 UTC) #4
cbiesinger
lgtm (longer term it may also be helpful to store the override heights in LayoutBoxRareData ...
4 years, 5 months ago (2016-07-22 16:36:38 UTC) #5
jfernandez
On 2016/07/22 16:36:38, cbiesinger wrote: > lgtm > > (longer term it may also be ...
4 years, 5 months ago (2016-07-26 06:08:45 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2176633002/1
4 years, 5 months ago (2016-07-26 06:10:54 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/262125)
4 years, 5 months ago (2016-07-26 09:14:25 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2176633002/1
4 years, 5 months ago (2016-07-26 09:56:39 UTC) #12
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 5 months ago (2016-07-26 10:56:10 UTC) #14
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/2cf9f05031414616d3d1eb1e5ffa5013e396d61b Cr-Commit-Position: refs/heads/master@{#407762}
4 years, 5 months ago (2016-07-26 10:58:07 UTC) #16
robliao
A revert of this CL (patchset #1 id:1) has been created in https://codereview.chromium.org/2180153003/ by robliao@chromium.org. ...
4 years, 4 months ago (2016-07-26 23:36:43 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2176633002/1
4 years, 4 months ago (2016-07-27 17:15:44 UTC) #20
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 4 months ago (2016-07-27 18:55:49 UTC) #22
commit-bot: I haz the power
4 years, 4 months ago (2016-07-27 18:56:58 UTC) #24
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/e2bf9ba77a6b9add6c7a703be1fa85814c79c12e
Cr-Commit-Position: refs/heads/master@{#408203}

Powered by Google App Engine
This is Rietveld 408576698