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
		
			
				
	
	
		
			28 lines
		
	
	
		
			994 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			994 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * @license
 | |
|  * Copyright Google LLC All Rights Reserved.
 | |
|  *
 | |
|  * Use of this source code is governed by an MIT-style license that can be
 | |
|  * found in the LICENSE file at https://angular.io/license
 | |
|  */
 | |
| import {NodeJSFileSystem, setFileSystem} from './src/ngtsc/file_system';
 | |
| 
 | |
| export {AotCompilerHost, AotCompilerHost as StaticReflectorHost, StaticReflector, StaticSymbol} from '@angular/compiler';
 | |
| export {VERSION} from './src/version';
 | |
| 
 | |
| export * from './src/metadata';
 | |
| export * from './src/transformers/api';
 | |
| export * from './src/transformers/entry_points';
 | |
| 
 | |
| export * from './src/perform_compile';
 | |
| export * from './src/tooling';
 | |
| 
 | |
| // TODO(tbosch): remove this once usages in G3 are changed to `CompilerOptions`
 | |
| export {CompilerOptions as AngularCompilerOptions} from './src/transformers/api';
 | |
| 
 | |
| export {ngToTsDiagnostic} from './src/transformers/util';
 | |
| export {NgTscPlugin} from './src/ngtsc/tsc_plugin';
 | |
| export {NgtscProgram} from './src/ngtsc/program';
 | |
| 
 | |
| setFileSystem(new NodeJSFileSystem());
 |