refactor(view_compiler): codegen DI and Queries
BREAKING CHANGE: - Renderer: * renderComponent method is removed form `Renderer`, only present on `RootRenderer` * Renderer.setDebugInfo is removed. Renderer.createElement / createText / createTemplateAnchor now take the DebugInfo directly. - Query semantics: * Queries don't work with dynamically loaded components. * e.g. for router-outlet: loaded components can't be queries via @ViewQuery, but router-outlet emits an event `activate` now that emits the activated component - Exception classes and the context inside changed (renamed fields) - DebugElement.attributes is an Object and not a Map in JS any more - ChangeDetectorGenConfig was renamed into CompilerConfig - AppViewManager.createEmbeddedViewInContainer / AppViewManager.createHostViewInContainer are removed, use the methods in ViewContainerRef instead - Change detection order changed: * 1. dirty check component inputs * 2. dirty check content children * 3. update render nodes Closes #6301 Closes #6567
This commit is contained in:
@ -1,3 +0,0 @@
|
||||
library benchmarks.e2e_test.change_detection_perf;
|
||||
|
||||
main() {}
|
@ -1,93 +0,0 @@
|
||||
import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
|
||||
|
||||
describe('ng2 change detection benchmark', function() {
|
||||
|
||||
var URL = 'benchmarks/src/change_detection/change_detection_benchmark.html';
|
||||
|
||||
afterEach(verifyNoBrowserErrors);
|
||||
|
||||
it('should log ng stats (dynamic, reads)', function(done) {
|
||||
runClickBenchmark({
|
||||
url: URL,
|
||||
buttons: ['#ng2ChangeDetectionDynamicReads'],
|
||||
id: 'ng2.changeDetection.dynamic.reads',
|
||||
params: [
|
||||
{name: 'numberOfChecks', value: 900000},
|
||||
{name: 'iterations', value: 20, scale: 'linear'}
|
||||
],
|
||||
microMetrics: {'detectChangesAvg': 'avg time to detect changes (ms)'},
|
||||
waitForAngular2: false
|
||||
}).then(done, done.fail);
|
||||
});
|
||||
|
||||
it('should log ng stats (dynamic, writes)', function(done) {
|
||||
runClickBenchmark({
|
||||
url: URL,
|
||||
buttons: ['#ng2ChangeDetectionDynamicWrites'],
|
||||
id: 'ng2.changeDetection.dynamic.writes',
|
||||
params: [
|
||||
{name: 'numberOfChecks', value: 900000},
|
||||
{name: 'iterations', value: 20, scale: 'linear'}
|
||||
],
|
||||
microMetrics: {'detectChangesAvg': 'avg time to detect changes (ms)'},
|
||||
waitForAngular2: false
|
||||
}).then(done, done.fail);
|
||||
});
|
||||
|
||||
it('should log ng stats (jit, reads)', function(done) {
|
||||
runClickBenchmark({
|
||||
url: URL,
|
||||
buttons: ['#ng2ChangeDetectionJitReads'],
|
||||
id: 'ng2.changeDetection.jit.reads',
|
||||
params: [
|
||||
{name: 'numberOfChecks', value: 900000},
|
||||
{name: 'iterations', value: 20, scale: 'linear'}
|
||||
],
|
||||
microMetrics: {'detectChangesAvg': 'avg time to detect changes (ms)'},
|
||||
waitForAngular2: false
|
||||
}).then(done, done.fail);
|
||||
});
|
||||
|
||||
it('should log ng stats (jit, writes)', function(done) {
|
||||
runClickBenchmark({
|
||||
url: URL,
|
||||
buttons: ['#ng2ChangeDetectionJitWrites'],
|
||||
id: 'ng2.changeDetection.jit.writes',
|
||||
params: [
|
||||
{name: 'numberOfChecks', value: 900000},
|
||||
{name: 'iterations', value: 20, scale: 'linear'}
|
||||
],
|
||||
microMetrics: {'detectChangesAvg': 'avg time to detect changes (ms)'},
|
||||
waitForAngular2: false
|
||||
}).then(done, done.fail);
|
||||
});
|
||||
|
||||
it('should log baseline stats (create)', function(done) {
|
||||
runClickBenchmark({
|
||||
url: URL,
|
||||
buttons: ['#baselineChangeDetectionReads'],
|
||||
id: 'baseline.changeDetection.reads',
|
||||
params: [
|
||||
{name: 'numberOfChecks', value: 900000},
|
||||
{name: 'iterations', value: 20, scale: 'linear'}
|
||||
],
|
||||
microMetrics: {'detectChangesAvg': 'avg time to detect changes (ms)'},
|
||||
waitForAngular2: false
|
||||
}).then(done, done.fail);
|
||||
});
|
||||
|
||||
it('should log baseline stats (update)', function(done) {
|
||||
runClickBenchmark({
|
||||
url: URL,
|
||||
buttons: ['#baselineChangeDetectionWrites'],
|
||||
id: 'baseline.changeDetection.writes',
|
||||
params: [
|
||||
{name: 'numberOfChecks', value: 900000},
|
||||
{name: 'iterations', value: 20, scale: 'linear'}
|
||||
],
|
||||
microMetrics: {'detectChangesAvg': 'avg time to detect changes (ms)'},
|
||||
waitForAngular2: false
|
||||
}).then(done, done.fail);
|
||||
});
|
||||
|
||||
});
|
Reference in New Issue
Block a user