33/// <reference path="core.ts" />
44
55namespace ts {
6- /* @internal */ export let programTime = 0 ;
7- /* @internal */ export let emitTime = 0 ;
8- /* @internal */ export let ioReadTime = 0 ;
9- /* @internal */ export let ioWriteTime = 0 ;
10-
116 /** The version of the TypeScript compiler release */
127 export const version = "2.1.0" ;
138
@@ -865,9 +860,9 @@ namespace ts {
865860 function getSourceFile ( fileName : string , languageVersion : ScriptTarget , onError ?: ( message : string ) => void ) : SourceFile {
866861 let text : string ;
867862 try {
868- const start = new Date ( ) . getTime ( ) ;
863+ const start = performance . mark ( ) ;
869864 text = sys . readFile ( fileName , options . charset ) ;
870- ioReadTime += new Date ( ) . getTime ( ) - start ;
865+ performance . measure ( "I/O Read" , start ) ;
871866 }
872867 catch ( e ) {
873868 if ( onError ) {
@@ -934,7 +929,7 @@ namespace ts {
934929
935930 function writeFile ( fileName : string , data : string , writeByteOrderMark : boolean , onError ?: ( message : string ) => void ) {
936931 try {
937- const start = new Date ( ) . getTime ( ) ;
932+ const start = performance . mark ( ) ;
938933 ensureDirectoriesExist ( getDirectoryPath ( normalizePath ( fileName ) ) ) ;
939934
940935 if ( isWatchSet ( options ) && sys . createHash && sys . getModifiedTime ) {
@@ -944,7 +939,7 @@ namespace ts {
944939 sys . writeFile ( fileName , data , writeByteOrderMark ) ;
945940 }
946941
947- ioWriteTime += new Date ( ) . getTime ( ) - start ;
942+ performance . measure ( "I/O Write" , start ) ;
948943 }
949944 catch ( e ) {
950945 if ( onError ) {
@@ -1121,7 +1116,7 @@ namespace ts {
11211116 // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled.
11221117 const sourceFilesFoundSearchingNodeModules : Map < boolean > = { } ;
11231118
1124- const start = new Date ( ) . getTime ( ) ;
1119+ const start = performance . mark ( ) ;
11251120
11261121 host = host || createCompilerHost ( options ) ;
11271122
@@ -1221,7 +1216,7 @@ namespace ts {
12211216
12221217 verifyCompilerOptions ( ) ;
12231218
1224- programTime += new Date ( ) . getTime ( ) - start ;
1219+ performance . measure ( "Program" , start ) ;
12251220
12261221 return program ;
12271222
@@ -1468,14 +1463,14 @@ namespace ts {
14681463 // checked is to not pass the file to getEmitResolver.
14691464 const emitResolver = getDiagnosticsProducingTypeChecker ( ) . getEmitResolver ( ( options . outFile || options . out ) ? undefined : sourceFile ) ;
14701465
1471- const start = new Date ( ) . getTime ( ) ;
1466+ const start = performance . mark ( ) ;
14721467
14731468 const emitResult = emitFiles (
14741469 emitResolver ,
14751470 getEmitHost ( writeFileCallback ) ,
14761471 sourceFile ) ;
14771472
1478- emitTime += new Date ( ) . getTime ( ) - start ;
1473+ performance . measure ( "Emit" , start ) ;
14791474 return emitResult ;
14801475 }
14811476
0 commit comments