mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Previously the `ProgramBasedEntryPointFinder` was parsing all the entry-points referenced by the program for dependencies even if all the entry-points had been processed already. Now this entry-point finder will re-use the `EntryPointManifest` to load the entry-point dependencies when possible which avoids having to parse them all again, on every invocation of ngcc. Previously the `EntryPointManifest` was only used in the `DirectoryWalkerEntryPointFinder`, which also contained the logic for computing the contents of the manifest. This logic has been factored out into an `EntryPointCollector` class. Both the `ProgramBasedEntryPointFinder` and `DirectoryWalkerEntryPointFinder` now use the `EntryPointManifest` and the `EntryPointCollector`. The result of this change is that there is a small cost on the first run of ngcc to compute and store the manifest - the processing takes 102% of the processing time before this PR. But on subsequent runs there is a significant benefit on subsequent runs - the processing takes around 50% of the processing time before this PR. PR Close #37665 |
||
|---|---|---|
| .. | ||
| analysis | ||
| dependencies | ||
| entry_point_finder | ||
| execution | ||
| helpers | ||
| host | ||
| integration | ||
| locking | ||
| migrations | ||
| packages | ||
| rendering | ||
| writing | ||
| BUILD.bazel | ||
| ngcc_options_spec.ts | ||
| utils_spec.ts | ||