@@ -1151,17 +1151,16 @@ namespace ts {
1151
1151
/** Performance measurements for the compiler. */
1152
1152
/*@internal */
1153
1153
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 > ;
1157
1156
1158
1157
/**
1159
1158
* Increments a counter with the specified name.
1160
1159
*
1161
1160
* @param counterName The name of the counter.
1162
1161
*/
1163
1162
export function increment ( counterName : string ) {
1164
- if ( enabled ) {
1163
+ if ( counters ) {
1165
1164
counters [ counterName ] = ( getProperty ( counters , counterName ) || 0 ) + 1 ;
1166
1165
}
1167
1166
}
@@ -1172,14 +1171,14 @@ namespace ts {
1172
1171
* @param counterName The name of the counter.
1173
1172
*/
1174
1173
export function getCount ( counterName : string ) {
1175
- return enabled && getProperty ( counters , counterName ) || 0 ;
1174
+ return counters && getProperty ( counters , counterName ) || 0 ;
1176
1175
}
1177
1176
1178
1177
/**
1179
1178
* Marks the start of a performance measurement.
1180
1179
*/
1181
1180
export function mark ( ) {
1182
- return enabled ? Date . now ( ) : 0 ;
1181
+ return measures ? Date . now ( ) : 0 ;
1183
1182
}
1184
1183
1185
1184
/**
@@ -1189,7 +1188,7 @@ namespace ts {
1189
1188
* @param marker The timestamp of the starting mark.
1190
1189
*/
1191
1190
export function measure ( measureName : string , marker : number ) {
1192
- if ( enabled ) {
1191
+ if ( measures ) {
1193
1192
measures [ measureName ] = ( getProperty ( measures , measureName ) || 0 ) + ( mark ( ) - marker ) ;
1194
1193
}
1195
1194
}
@@ -1200,25 +1199,29 @@ namespace ts {
1200
1199
* @param measureName The name of the measure whose durations should be accumulated.
1201
1200
*/
1202
1201
export function getDuration ( measureName : string ) {
1203
- return enabled && getProperty ( measures , measureName ) || 0 ;
1202
+ return measures && getProperty ( measures , measureName ) || 0 ;
1204
1203
}
1205
1204
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. */
1215
1206
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. */
1220
1222
export function disable ( ) {
1221
- enabled = false ;
1223
+ counters = undefined ;
1224
+ measures = undefined ;
1222
1225
}
1223
1226
}
1224
1227
}
0 commit comments