Skip to content
This repository has been archived by the owner on Feb 22, 2018. It is now read-only.

+14%: Add an option to disable ElementProbe #1118

Closed
jbdeboer opened this issue Jun 6, 2014 · 4 comments
Closed

+14%: Add an option to disable ElementProbe #1118

jbdeboer opened this issue Jun 6, 2014 · 4 comments
Assignees

Comments

@jbdeboer
Copy link
Contributor

jbdeboer commented Jun 6, 2014

ElementProbe sets up an expando on nodes, which we suspect is slow.

There should be an option to disable it entirely, both for experiments and for production tuning.

@jbdeboer
Copy link
Contributor Author

jbdeboer commented Jun 6, 2014

We saw a ~7% regression due to b7f175b in order to support ElementProbe. Removing it will get those 7% back and then some; for very simple elements, this could be significant (e.g. 25% speedup)

@jbdeboer
Copy link
Contributor Author

jbdeboer commented Jun 8, 2014

Removing ElementProbe from ElementBinder and ShadowDomComponentFactory sped the TreeComponent benchmark up by 14%

It also reduced memory allocations from 51mb/run to 43mb

This is an easy, high priority fix.

@jbdeboer jbdeboer changed the title Perf: Add an option to disable ElementProbe Perf: (22%) Add an option to disable ElementProbe Jun 8, 2014
@jbdeboer jbdeboer changed the title Perf: (22%) Add an option to disable ElementProbe Perf: +22%: Add an option to disable ElementProbe Jun 8, 2014
@jbdeboer jbdeboer changed the title Perf: +22%: Add an option to disable ElementProbe Perf: +14%: Add an option to disable ElementProbe Jun 8, 2014
@jbdeboer jbdeboer changed the title Perf: +14%: Add an option to disable ElementProbe +14%: Add an option to disable ElementProbe Jun 8, 2014
@jbdeboer
Copy link
Contributor Author

jbdeboer commented Jun 8, 2014

This task involves creating an application-level configuration option (e.g. similar to ScopeDigestTTL) which controls whether or not the ElementProbe is created in ElementBinder, ShadowDomComponetFactory and TranscludingComponentFactory.

Cavaet: ElementProbe is also used in the EventHandler, which is used for on-* events. These events are not in wide use yet, so for a first pass, the configuration option could disable the EventHandler as well.

@jbdeboer jbdeboer self-assigned this Jun 9, 2014
@jbdeboer
Copy link
Contributor Author

jbdeboer commented Jun 9, 2014

I'm working on this issue this morning

jbdeboer added a commit to jbdeboer/angular.dart that referenced this issue Jun 9, 2014
jbdeboer added a commit to jbdeboer/angular.dart that referenced this issue Jun 9, 2014
jbdeboer added a commit that referenced this issue Jun 9, 2014
dsalsbury pushed a commit to dsalsbury/angular.dart that referenced this issue Jul 16, 2014
dsalsbury pushed a commit to dsalsbury/angular.dart that referenced this issue Jul 16, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

Successfully merging a pull request may close this issue.

1 participant