angular-cn/packages/compiler-cli/ngcc/test
JoostK 898be92f70 perf(ngcc): do not rescan program source files when referenced from multiple root files (#39254)
When ngcc is configured to run with the `--use-program-dependencies`
flag, as is the case in the CLI's asynchronous processing, it will scan
all source files in the program, starting from the program's root files
as configured in the tsconfig. Each individual root file could
potentially rescan files that had already been scanned for an earlier
root file, causing a severe performance penalty if the number of root
files is large. This would be the case if glob patterns are used in the
"include" specification of a tsconfig file.

This commit avoids the performance penalty by keeping track of the files
that have been scanned across all root files, such that no source file
is scanned multiple times.

Fixes #39240

PR Close #39254
2020-10-14 09:34:11 -07:00
..
analysis test(ngcc): use `isNamedDeclaration()` helper to simplify tests (#38959) 2020-10-12 08:32:46 -07:00
dependencies refactor(ngcc): move `logging` code into `ngtsc` (#37114) 2020-06-22 13:38:47 -07:00
entry_point_finder perf(ngcc): do not rescan program source files when referenced from multiple root files (#39254) 2020-10-14 09:34:11 -07:00
execution fix(ngcc): ensure lockfile is removed when analyzeFn fails (#37739) 2020-06-29 10:29:11 -07:00
helpers perf(ngcc): introduce cache for sharing data across entry-points (#38840) 2020-09-15 11:23:04 -07:00
host fix(ngcc): support inline export declarations in UMD files (#38959) 2020-10-12 08:32:46 -07:00
integration fix(ngcc): fix compilation of `ChangeDetectorRef` in pipe constructors (#38892) 2020-09-18 08:02:46 -07:00
locking refactor(ngcc): move `logging` code into `ngtsc` (#37114) 2020-06-22 13:38:47 -07:00
migrations refactor(ngcc): move `logging` code into `ngtsc` (#37114) 2020-06-22 13:38:47 -07:00
packages perf(ngcc): introduce cache for sharing data across entry-points (#38840) 2020-09-15 11:23:04 -07:00
rendering refactor(compiler-cli): make the output AST translator generic (#38775) 2020-09-21 12:27:27 -07:00
writing perf(ngcc): introduce cache for sharing data across entry-points (#38840) 2020-09-15 11:23:04 -07:00
BUILD.bazel refactor(ngcc): move `logging` code into `ngtsc` (#37114) 2020-06-22 13:38:47 -07:00
ngcc_options_spec.ts perf(ngcc): reduce maximum worker count (#38840) 2020-09-15 11:23:09 -07:00
utils_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00