8000 Performance API cleanup, pre-init with common values. · regisp/TypeScript@82e2531 · GitHub
[go: up one dir, main page]

Skip to content

Commit 82e2531

Browse files
committed
Performance API cleanup, pre-init with common values.
1 parent 0d2b1c4 commit 82e2531

File tree

2 files changed

+25
-24
lines changed

2 files changed

+25
-24
lines changed

src/compiler/core.ts

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,17 +1151,16 @@ namespace ts {
11511151
/** Performance measurements for the compiler. */
11521152
/*@internal*/
11531153
export namespace performance {
1154-
let counters: Map<number> = {};
1155-
let measures: Map<number> = {};
1156-
let enabled = false;
1154+
let counters: Map<number>;
1155+
let measures: Map<number>;
11571156

11581157
/**
11591158
* Increments a counter with the specified name.
11601159
*
11611160
* @param counterName The name of the counter.
11621161
*/
11631162
export function increment(counterName: string) {
1164-
if (enabled) {
1163+
if (counters) {
11651164
counters[counterName] = (getProperty(counters, counterName) || 0) + 1;
11661165
}
11671166
}
@@ -1172,14 +1171,14 @@ namespace ts {
11721171
* @param counterName The name of the counter.
11731172
*/
11741173
export function getCount(counterName: string) {
1175-
return enabled && getProperty(counters, counterName) || 0;
1174+
return counters && getProperty(counters, counterName) || 0;
11761175
}
11771176

11781177
/**
11791178
* Marks the start of a performance measurement.
11801179
*/
11811180
export function mark() {
1182-
return enabled ? Date.now() : 0;
1181+
return measures ? Date.now() : 0;
11831182
}
11841183

11851184
/**
@@ -1189,7 +1188,7 @@ namespace ts {
11891188
* @param marker The timestamp of the starting mark.
11901189
*/
11911190
export function measure(measureName: string, marker: number) {
1192-
if (enabled) {
1191+
if (measures) {
11931192
measures[measureName] = (getProperty(measures, measureName) || 0) + (mark() - marker);
11941193
}
11951194
}
@@ -1200,25 +1199,29 @@ namespace ts {
12001199
* @param measureName The name of the measure whose durations should be accumulated.
12011200
*/
12021201
export function getDuration(measureName: string) {
1203-
return enabled && getProperty(measures, measureName) || 0;
1202+
return measures && getProperty(measures, measureName) || 0;
12041203
}
12051204

1206-
/**
1207-
* Resets all marks and measurements in the performance service.
1208-
*/
1209-
export function reset() {
1210-
counters = {};
1211-
measures = {};
1212-
}
1213-
1214-
/** Enables performance measurements for the compiler. */
1205+
/** Enables (and resets) performance measurements for the compiler. */
12151206
export function enable() {
1216-
enabled = true;
1217-
}
1218-
1219-
/** Disables performance measurements for the compiler. */
1207+
counters = { };
1208+
measures = {
1209+
programTime: 0,
1210+
parseTime: 0,
1211+
bindTime: 0,
1212+
emitTime: 0,
1213+
ioReadTime: 0,
1214+
ioWriteTime: 0,
1215+
printTime: 0,
1216+
commentTime: 0,
1217+
sourceMapTime: 0
1218+
};
1219+
}
1220+
1221+
/** Disables (and clears) performance measurements for the compiler. */
12201222
export function disable() {
1221-
enabled = false;
1223+
counters = undefined;
1224+
measures = undefined;
12221225
}
12231226
}
12241227
}

src/compiler/tsc.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,6 @@ namespace ts {
546546
function compile(fileNames: string[], compilerOptions: CompilerOptions, compilerHost: CompilerHost) {
547547
if (compilerOptions.diagnostics || compilerOptions.extendedDiagnostics) {
548548
performance.enable();
549-
performance.reset();
550549
}
551550

552551
const program = createProgram(fileNames, compilerOptions, compilerHost);
@@ -594,7 +593,6 @@ namespace ts {
594593
reportTimeStatistic("Total time", programTime + bindTime + checkTime + emitTime);
595594

596595
performance.disable();
597-
performance.reset();
598596
}
599597

600598
return { program, exitStatus };

0 commit comments

Comments
 (0)
0