Skip to content

Ivy rebuild regression in AOT #34796

@SebastianPodgajny

Description

@SebastianPodgajny

🐞 bug report

Affected Package

Is this a regression?

Yes, the previous version in which this problem was not present was: 9.0.0-rc.2

Description

In rc.2 ivy rebuild time in aot was much smaller
main.ts ~6s
app.component.ts ~6s
app.component.html ~6s
component-in-some-large-module.ts ~11s
component-in-some-large-module.html ~6s
component-in-some-large-module.less ~6s
some-small-lib.service.ts ~9s
component-in-small-module.ts ~6s
component-in-small-module.html ~5s
component-in-small-module.less ~6s

I think during beta phase rebuild time was even smaller, currently rebuild is ~20s no matter what I change in project

Here is benchmark for rc.9, 4th rebuild of main.ts

AngularCompilerPlugin._createOrUpdateProgram.ng.createProgram: 673.898ms
TypeChecker.gatherDiagnostics.ng.getNgSemanticDiagnostics: 31997.621ms
TypeChecker.message: 42739.608ms
AngularCompilerPlugin._createOrUpdateProgram.ng.loadNgStructureAsync: 11908.510ms
AngularCompilerPlugin._listLazyRoutesFromProgram.listLazyRoutes: 0.008ms
AngularCompilerPlugin._emit.ng.getNgStructuralDiagnostics: 0.004ms
AngularCompilerPlugin._emit.ng.gatherDiagnostics.ng.getTsSyntacticDiagnostics: 0.704ms
AngularCompilerPlugin._emit.ng.emit: 268.480ms
AngularCompilerPlugin._emit: 269.340ms
AngularCompilerPlugin._update._emit: 269.373ms
AngularCompilerPlugin._update: 13207.579ms
AngularCompilerPlugin._make: 13207.612ms
ngcLoader+/app/src/main.ts+.ngcLoader.AngularCompilerPlugin: 12065.946ms
ngcLoader+/app/src/main.ts+: 12066.811ms

Date: 2020-01-15T20:34:10.851Z - Hash: a7f06110bf2383093fdc
21 unchanged chunks
chunk {main} main.d2ddedbc0eb7b60a0ccf.js, main.d2ddedbc0eb7b60a0ccf.js.map (main) 24.8 MB [initial] [rendered]
Time: 18985ms
: Compiled successfully.
TypeChecker._update: 0.144ms
TypeChecker._createOrUpdateProgram.ng.createProgram: 360.438ms
TypeChecker.gatherDiagnostics.ng.getTsSemanticDiagnostics: 9293.606ms

Above numbers are for large monorepo app which source code contains about 160k typescript lines of code and 950 Components

🔬 Minimal Reproduction

https://stackblitz.com/...

🔥 Exception or Error


🌍 Your Environment

Angular Version:


Angular CLI: 9.0.0-rc.8
Node: 12.10.0
OS: darwin x64

Angular: 9.0.0-rc.9
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... platform-server, router
Ivy Workspace: Yes

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.900.0-rc.6
@angular-devkit/build-angular      0.900.0-rc.8
@angular-devkit/build-ng-packagr   0.900.0-rc.8
@angular-devkit/build-optimizer    0.900.0-rc.6
@angular-devkit/build-webpack      0.900.0-rc.8
@angular-devkit/core               9.0.0-rc.8
@angular-devkit/schematics         9.0.0-rc.8
@angular/cdk                       9.0.0-rc.4
@angular/cli                       9.0.0-rc.8
@ngtools/webpack                   9.0.0-rc.8
@schematics/angular                8.0.1
@schematics/update                 0.900.0-rc.8
ng-packagr                         9.0.0-rc.7
rxjs                               6.5.4
typescript                         3.6.4
webpack                            4.41.2

Model Name:	MacBook Pro
Processor Name:	6-Core Intel Core i7
Processor Speed:	2,2 GHz
Memory:	16 GB
macOS 10.15.1 (19B88)

Anything else relevant?

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: compilerIssues related to `ngc`, Angular's template compilerneeds reproductionThis issue needs a reproduction in order for the team to investigate further

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions