diff --git a/modules/benchmarks/src/tree/tree_benchmark.js b/modules/benchmarks/src/tree/tree_benchmark.js
index c98dd4099b..de5677bc31 100644
--- a/modules/benchmarks/src/tree/tree_benchmark.js
+++ b/modules/benchmarks/src/tree/tree_benchmark.js
@@ -41,8 +41,8 @@ function setupReflector() {
directives: [TreeComponent, NgIf],
inline: `
{{data.value}}
-
+
`
})
})]
@@ -188,8 +188,9 @@ export function main() {
}
function initBaseline() {
- baselineRootTreeComponent = new BaseLineTreeComponent();
- DOM.appendChild(DOM.querySelector(document, 'baseline'), baselineRootTreeComponent.element);
+ var tree = DOM.createElement('tree');
+ DOM.appendChild(DOM.querySelector(document, 'baseline'), tree);
+ baselineRootTreeComponent = new BaseLineTreeComponent(tree);
DOM.on(DOM.querySelector(document, '#baselineDestroyDom'), 'click', baselineDestroyDom);
DOM.on(DOM.querySelector(document, '#baselineCreateDom'), 'click', baselineCreateDom);
DOM.on(DOM.querySelector(document, '#baselineUpdateDomProfile'), 'click', profile(baselineCreateDom, noop, 'baseline-update'));
@@ -219,18 +220,19 @@ function buildTree(maxDepth, values, curDepth) {
buildTree(maxDepth, values, curDepth+1));
}
-var BASELINE_TEMPLATE = DOM.createTemplate(
+var BASELINE_TREE_TEMPLATE = DOM.createTemplate(
'_');
+var BASELINE_IF_TEMPLATE = DOM.createTemplate(
+ '');
// http://jsperf.com/nextsibling-vs-childnodes
class BaseLineTreeComponent {
- element:Element;
value:BaseLineInterpolation;
left:BaseLineIf;
right:BaseLineIf;
- constructor() {
- this.element = DOM.createElement('span');
- var clone = DOM.clone(BASELINE_TEMPLATE.content.firstChild);
+ constructor(element) {
+ this.element = element;
+ var clone = DOM.clone(BASELINE_TREE_TEMPLATE.content.firstChild);
var shadowRoot = this.element.createShadowRoot();
DOM.appendChild(shadowRoot, clone);
@@ -281,8 +283,9 @@ class BaseLineIf {
this.component = null;
}
if (this.condition) {
- this.component = new BaseLineTreeComponent();
- this.anchor.parentNode.insertBefore(this.component.element, this.anchor);
+ var element = DOM.clone(BASELINE_IF_TEMPLATE).content.firstChild;
+ this.anchor.parentNode.insertBefore(element, this.anchor.nextSibling);
+ this.component = new BaseLineTreeComponent(element.firstChild);
}
}
if (isPresent(this.component)) {