angular/packages/compiler-cli
Alex Rickabaugh 56763d1165 perf(compiler-cli): refactor the performance tracing infrastructure (#41125)
ngtsc has an internal performance tracing package, which previously has not
really seen much use. It used to track performance statistics on a very
granular basis (microseconds per actual class analysis, for example). This
had two problems:

* it produced voluminous amounts of data, complicating the analysis of such
  results and providing dubious value.
* it added nontrivial overhead to compilation when used (which also affected
  the very performance of the operations being measured).

This commit replaces the old system with a streamlined performance tracing
setup which is lightweight and designed to be always-on. The new system
tracks 3 metrics:

* time taken by various phases and operations within the compiler
* events (counters) which measure the shape and size of the compilation
* memory usage measured at various points of the compilation process

If the compiler option `tracePerformance` is set, the compiler will
serialize these metrics to a JSON file at that location after compilation is
complete.

PR Close #41125
2021-03-24 13:42:26 -07:00
..
integrationtest refactor(core): add links to top runtime errors (#40326) 2021-01-19 10:14:56 -08:00
linker refactor(compiler-cli): implement ɵɵngDeclarePipe() (#40803) 2021-02-12 09:00:16 -08:00
ngcc perf(compiler-cli): refactor the performance tracing infrastructure (#41125) 2021-03-24 13:42:26 -07:00
src perf(compiler-cli): refactor the performance tracing infrastructure (#41125) 2021-03-24 13:42:26 -07:00
test refactor(compiler): move factory out of injector definition (#41022) (#41133) 2021-03-09 08:51:59 -08:00
BUILD.bazel fix(compiler-cli): report non-template diagnostics (#40331) 2021-01-13 10:55:04 -08:00
index.ts perf(compiler-cli): refactor the performance tracing infrastructure (#41125) 2021-03-24 13:42:26 -07:00
package.json build: support building with TypeScript 4.1 (#39571) 2020-11-25 11:10:01 -08:00
tsconfig-build.json build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00
tsconfig.json perf(ivy): ngcc - only find dependencies when targeting a single entry-point (#30525) 2019-07-09 09:40:46 -07:00