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

Issue 2325953002: LayoutTable: gracefully degrade in the presence of collspan > 1. (Closed)

Created:
4 years, 3 months ago by krasin1
Modified:
4 years, 3 months ago
Reviewers:
Nico, eae
CC:
chromium-reviews, szager+layoutwatch_chromium.org, zoltan1, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, blink-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

LayoutTable: gracefully degrade in the presence of collspan > 1. Currently, there's a boolean field that allows to take a fast path when mapping absolute columns to effective columns (and back), but the fast path is completely abandoned, if a single call with colspan > 1 presented. This change allows gracefully degrade the performance of the fast path by maintaining the number of first cells with colspan = 1, which allows to skip them, even if some cells have colspan > 1. This change speeds up large-table-with-collapsed-borders-and-colspans-wider-than-table microbenchmark by approximately 2x, see: https://storage.googleapis.com/cfi-stats/2016-09-09/results.html BUG=643724 Committed: https://crrev.com/60f47383d88f942923b5ff963023d4547397acc2 Cr-Commit-Position: refs/heads/master@{#417829}

Patch Set 1 #

Patch Set 2 : skip first m_noCellColspanAtLeast columns in the slow path #

Patch Set 3 : maintain on append #

Patch Set 4 : CL for src perf tryjob to run blink_perf.layout benchmark on linux platform(s) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+15 lines, -13 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutTable.h View 1 2 chunks +10 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTable.cpp View 1 2 3 chunks +5 lines, -3 lines 0 comments Download

Messages

Total messages: 26 (19 generated)
krasin1
Hi Emil, while investigating perf regression reported in https://crbug.com/643724, I have come to two findings: ...
4 years, 3 months ago (2016-09-09 18:52:23 UTC) #9
krasin1
CL for src perf tryjob to run blink_perf.layout benchmark on linux platform(s)
4 years, 3 months ago (2016-09-09 21:02:26 UTC) #14
Nico
eae should review this, he actually knows this code. But since we seem to care ...
4 years, 3 months ago (2016-09-09 23:38:10 UTC) #15
eae
This is great and seems well worth the slight increase in memory usage for RenderTable. ...
4 years, 3 months ago (2016-09-10 10:32:00 UTC) #20
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/2325953002/60001
4 years, 3 months ago (2016-09-10 10:32:34 UTC) #22
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 3 months ago (2016-09-10 10:35:23 UTC) #24
commit-bot: I haz the power
4 years, 3 months ago (2016-09-10 10:37:20 UTC) #26
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/60f47383d88f942923b5ff963023d4547397acc2
Cr-Commit-Position: refs/heads/master@{#417829}

Powered by Google App Engine
This is Rietveld 408576698