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

Issue 1333813002: Oilpan: Remove reserveInitialCapacity from DistributedNodes' constructor (Closed)

Created:
5 years, 3 months ago by haraken
Modified:
5 years, 3 months ago
CC:
blink-reviews, blink-reviews-dom_chromium.org, dglazkov+blink, eae+blinkwatch, rwlbuis, webcomponents-bugzilla_chromium.org
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Oilpan: Remove reserveInitialCapacity from DistributedNodes' constructor In short: This CL is necessary to fix performance regressions observed in Oilpan. This CL doesn't affect performance of non-Oilpan. In details: The reserveInitialCapacity(32) was introduced in https://chromiumcodereview.appspot.com/23766020. As far as I read the CL description, it seems that the reserveInitialCapacity(32) was introduced just to prevent a regression in micro-benchmarks without doing serious performance measurement in realistic scenarios. The reserveInitialCapacity(32) may be working well in non-Oilpan, but at the very least, it is causing a regression in Oilpan. With Oilpan enabled, allocating the vector buffer (of size sizeof(Node)*32) adds a substantial amount of pressures on the heap and thus increases a GC frequency. The regression caused by the GCs is larger than the improvement caused by the pre-allocation. Overall, it is better to not call reserveInitialCapacity(32) in Oilpan. For example, document.createElement("select") is 2x slower in Oilpan than in non-Oilpan. Thus this CL removes reserveInitialCapacity(32) from DistributedNodes' constructor. This CL removes an unused method from DistributedNodes. BUG= Committed: https://crrev.com/c655d8c1a866eebe51f54f3d4803f3d3c19a523d git-svn-id: svn://svn.chromium.org/blink/trunk@202244 bbb929c8-8fbe-4397-9dbb-9b2b20218538

Patch Set 1 #

Total comments: 1

Patch Set 2 : #

Patch Set 3 : #

Total comments: 1

Patch Set 4 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -3 lines) Patch
M Source/core/dom/shadow/DistributedNodes.h View 1 2 3 2 chunks +17 lines, -3 lines 1 comment Download

Messages

Total messages: 54 (5 generated)
haraken
PTAL https://codereview.chromium.org/1333813002/diff/1/Source/core/dom/shadow/DistributedNodes.h File Source/core/dom/shadow/DistributedNodes.h (left): https://codereview.chromium.org/1333813002/diff/1/Source/core/dom/shadow/DistributedNodes.h#oldcode63 Source/core/dom/shadow/DistributedNodes.h:63: const WillBeHeapVector<RefPtrWillBeMember<Node>>& nodes() const { return m_nodes; } ...
5 years, 3 months ago (2015-09-10 07:50:56 UTC) #2
haraken
If you really want to keep the initial capacity, another option would be to use ...
5 years, 3 months ago (2015-09-10 08:39:37 UTC) #3
haraken
tkent-san or hayato-san: friendly ping?
5 years, 3 months ago (2015-09-11 03:54:05 UTC) #4
hayato
This CL reminds me of another CL: https://codereview.chromium.org/1257573002/ Looks a different approach. Both try to ...
5 years, 3 months ago (2015-09-11 07:07:30 UTC) #5
haraken
On 2015/09/11 07:07:30, hayato wrote: > This CL reminds me of another CL: https://codereview.chromium.org/1257573002/ > ...
5 years, 3 months ago (2015-09-11 07:15:55 UTC) #6
haraken
On 2015/09/11 07:15:55, haraken wrote: > On 2015/09/11 07:07:30, hayato wrote: > > This CL ...
5 years, 3 months ago (2015-09-11 07:17:35 UTC) #7
hayato
Hmm. It sounds you don't understand my point. Suppose that Shadow DOM micro-benchmarks were written ...
5 years, 3 months ago (2015-09-11 08:58:37 UTC) #8
haraken
On 2015/09/11 08:58:37, hayato wrote: > Hmm. It sounds you don't understand my point. > ...
5 years, 3 months ago (2015-09-11 09:15:06 UTC) #9
Yuta Kitamura
On 2015/09/11 08:58:37, hayato wrote: > Hmm. It sounds you don't understand my point. > ...
5 years, 3 months ago (2015-09-11 09:23:43 UTC) #10
hayato
btw, lgtm I'm okay to this change, however, the CL's description should mention that we ...
5 years, 3 months ago (2015-09-11 09:25:28 UTC) #11
haraken
On 2015/09/11 09:25:28, hayato wrote: > btw, lgtm > > I'm okay to this change, ...
5 years, 3 months ago (2015-09-11 09:26:08 UTC) #12
hayato
Before landing, could you check how the benchmark result would differ between this CL and ...
5 years, 3 months ago (2015-09-11 09:31:33 UTC) #13
haraken
On 2015/09/11 09:31:33, hayato wrote: > Before landing, could you check how the benchmark result ...
5 years, 3 months ago (2015-09-11 09:37:19 UTC) #14
hayato
This CL improves nothing, however, this approach, https://codereview.chromium.org/1257573002/, says that it would improves 4%. I'm ...
5 years, 3 months ago (2015-09-11 09:38:47 UTC) #15
hayato
Added cevans@ to reviewers. It looks https://chromiumcodereview.appspot.com/23766020 introduced this default vector sizing. cevans@, are you ...
5 years, 3 months ago (2015-09-11 09:54:24 UTC) #17
haraken
On 2015/09/11 09:54:24, hayato wrote: > Added cevans@ to reviewers. It looks > https://chromiumcodereview.appspot.com/23766020 introduced ...
5 years, 3 months ago (2015-09-11 09:55:58 UTC) #18
haraken
On 2015/09/11 09:55:58, haraken wrote: > On 2015/09/11 09:54:24, hayato wrote: > > Added cevans@ ...
5 years, 3 months ago (2015-09-11 10:14:44 UTC) #19
haraken
On 2015/09/11 10:14:44, haraken wrote: > On 2015/09/11 09:55:58, haraken wrote: > > On 2015/09/11 ...
5 years, 3 months ago (2015-09-11 10:26:20 UTC) #20
Yuta Kitamura
On 2015/09/11 10:26:20, haraken wrote: > On 2015/09/11 10:14:44, haraken wrote: > > On 2015/09/11 ...
5 years, 3 months ago (2015-09-11 13:20:57 UTC) #21
Yuta Kitamura
(And in my personal opinion, the set up of LargeDistribution is so unrealistic that I ...
5 years, 3 months ago (2015-09-11 13:23:00 UTC) #22
haraken
On 2015/09/11 13:20:57, Yuta Kitamura wrote: > On 2015/09/11 10:26:20, haraken wrote: > > On ...
5 years, 3 months ago (2015-09-11 13:23:40 UTC) #23
haraken
On 2015/09/11 13:23:00, Yuta Kitamura wrote: > (And in my personal opinion, the set up ...
5 years, 3 months ago (2015-09-11 13:25:01 UTC) #24
esprehn
Don't we shrink this later? That would mean inline capacity is producing more waste.
5 years, 3 months ago (2015-09-14 02:07:02 UTC) #26
haraken
On 2015/09/14 02:07:02, esprehn wrote: > Don't we shrink this later? That would mean inline ...
5 years, 3 months ago (2015-09-14 04:58:29 UTC) #27
haraken
On 2015/09/14 04:58:29, haraken wrote: > On 2015/09/14 02:07:02, esprehn wrote: > > Don't we ...
5 years, 3 months ago (2015-09-14 05:02:55 UTC) #28
hayato
If you can agree that it doesn't make sense to improve the result of unrealistic ...
5 years, 3 months ago (2015-09-14 05:29:06 UTC) #29
haraken
On 2015/09/14 05:29:06, hayato wrote: > If you can agree that it doesn't make sense ...
5 years, 3 months ago (2015-09-14 05:35:32 UTC) #30
hayato
I'm not saying that we shouldn't land this CL, but the description of this CL ...
5 years, 3 months ago (2015-09-14 05:36:34 UTC) #31
hayato
On 2015/09/14 05:36:34, hayato wrote: > I'm not saying that we shouldn't land this CL, ...
5 years, 3 months ago (2015-09-14 05:39:02 UTC) #32
haraken
On 2015/09/14 05:39:02, hayato wrote: > On 2015/09/14 05:36:34, hayato wrote: > > I'm not ...
5 years, 3 months ago (2015-09-14 06:12:15 UTC) #33
hayato
Please mention the original CL in the description: https://chromiumcodereview.appspot.com/23766020 > The reserveInitialCapacity(32) was introduced with ...
5 years, 3 months ago (2015-09-14 06:26:30 UTC) #34
haraken
On 2015/09/14 06:26:30, hayato wrote: > Please mention the original CL in the description: > ...
5 years, 3 months ago (2015-09-14 06:41:10 UTC) #35
hayato
Thanks. "Don't reserve initial capacity" is always useful for Oilpan? I think *reservingInitialCapacity* is a ...
5 years, 3 months ago (2015-09-14 08:02:58 UTC) #36
sof
On 2015/09/14 08:02:58, hayato wrote: > Thanks. > > "Don't reserve initial capacity" is always ...
5 years, 3 months ago (2015-09-14 08:08:15 UTC) #37
haraken
On 2015/09/14 08:02:58, hayato wrote: > Thanks. > > "Don't reserve initial capacity" is always ...
5 years, 3 months ago (2015-09-14 08:10:27 UTC) #38
hayato
https://codereview.chromium.org/1333813002/diff/40001/Source/core/dom/shadow/DistributedNodes.h File Source/core/dom/shadow/DistributedNodes.h (right): https://codereview.chromium.org/1333813002/diff/40001/Source/core/dom/shadow/DistributedNodes.h#newcode45 Source/core/dom/shadow/DistributedNodes.h:45: // This is a performance optimization on oilpan builds. ...
5 years, 3 months ago (2015-09-14 10:00:42 UTC) #39
haraken
On 2015/09/14 10:00:42, hayato wrote: > https://codereview.chromium.org/1333813002/diff/40001/Source/core/dom/shadow/DistributedNodes.h > File Source/core/dom/shadow/DistributedNodes.h (right): > > https://codereview.chromium.org/1333813002/diff/40001/Source/core/dom/shadow/DistributedNodes.h#newcode45 > ...
5 years, 3 months ago (2015-09-14 11:47:12 UTC) #40
esprehn
What I mean is https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/dom/shadow/InsertionPoint.cpp&sq=package:chromium&rcl=1442215459&l=101 this reserve initial capacity in the constructor doesn't make sense, ...
5 years, 3 months ago (2015-09-14 15:37:41 UTC) #41
haraken
On 2015/09/14 15:37:41, esprehn wrote: > What I mean is > https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/dom/shadow/InsertionPoint.cpp&sq=package:chromium&rcl=1442215459&l=101 > > this ...
5 years, 3 months ago (2015-09-14 23:26:19 UTC) #42
esprehn
On 2015/09/14 at 23:26:19, haraken wrote: > On 2015/09/14 15:37:41, esprehn wrote: > > What ...
5 years, 3 months ago (2015-09-14 23:57:24 UTC) #43
haraken
On 2015/09/14 23:57:24, esprehn wrote: > On 2015/09/14 at 23:26:19, haraken wrote: > > On ...
5 years, 3 months ago (2015-09-15 00:26:42 UTC) #44
esprehn
lgtm, please explain in your patch description the other change you made too. Is that ...
5 years, 3 months ago (2015-09-15 00:29:41 UTC) #45
haraken
On 2015/09/15 00:29:41, esprehn wrote: > please explain in your patch description the other change ...
5 years, 3 months ago (2015-09-15 00:39:32 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1333813002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1333813002/60001
5 years, 3 months ago (2015-09-15 00:40:36 UTC) #49
commit-bot: I haz the power
Committed patchset #4 (id:60001) as https://src.chromium.org/viewvc/blink?view=rev&revision=202244
5 years, 3 months ago (2015-09-15 01:35:51 UTC) #50
hayato
Is the benchmark result for Oilpan or non-Oilpan? http://haraken.info/a/results.html If that's for non-Oilpan, I would ...
5 years, 3 months ago (2015-09-15 04:44:33 UTC) #51
haraken
On 2015/09/15 04:44:33, hayato wrote: > Is the benchmark result for Oilpan or non-Oilpan? > ...
5 years, 3 months ago (2015-09-15 04:45:45 UTC) #52
hayato
On 2015/09/15 04:45:45, haraken wrote: > On 2015/09/15 04:44:33, hayato wrote: > > Is the ...
5 years, 3 months ago (2015-09-15 04:53:00 UTC) #53
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 12:41:10 UTC) #54
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/c655d8c1a866eebe51f54f3d4803f3d3c19a523d

Powered by Google App Engine
This is Rietveld 408576698