Description
TypeScript Version: 3.7.1-RC
Search Terms: Compilation time Check time 3.7.1-RC
Code
// takes 25-30 minutes
node --max-old-space-size=8092 "C:\Program Files (x86)\Microsoft SDKs\TypeScript\3.7\tsc.js"
// takes 2-3 minutes
node --max-old-space-size=8092 "C:\Program Files (x86)\Microsoft SDKs\TypeScript\3.5\tsc.js"
Expected behavior: Compilation should take a reasonable amount of time
Actual behavior: Compilation is 10 times slower than 3.5.2 version.
Related Issues: maybe related: #24435
Hi, we give a try at typescript 3.7.1-RC today (upgrading from 3.5.2) and we are facing a significant increase of build time.
I've launched the compilation with extendedDiagnostics flag and this is the "check time" which is a lot slower.
In 3.7.1-rc:
Files: 532
Lines: 402274
Nodes: 1927658
Identifiers: 684045
Symbols: 1844544
Types: 528324
Memory used: 1857090K
Assignability cache size: 337352
Identity cache size: 10477
Subtype cache size: 88675
I/O Read time: 0.15s
Parse time: 3.89s
Program time: 4.72s
Bind time: 2.84s
Check time: 1480.74s
transformTime time: 9.18s
commentTime time: 0.28s
I/O Write time: 0.41s
printTime time: 22.17s
Emit time: 22.25s
Total time: 1510.55s
In 3.5.2:
Files: 532
Lines: 400795
Nodes: 2122066
Identifiers: 672829
Symbols: 1707809
Types: 518149
Memory used: 1781530K
Assignability cache size: 333702
Identity cache size: 1968
Subtype cache size: 88497
I/O Read time: 0.14s
Parse time: 3.51s
Program time: 4.22s
Bind time: 2.50s
Check time: 85.37s
transformTime time: 11.09s
commentTime time: 0.13s
I/O Write time: 0.56s
printTime time: 33.09s
Emit time: 33.16s
Total time: 125.24s
Do you have any clue of what is going on ? I've saw nothing in breaking change that could cause that.
Thanks in advance.
the tsconfig.json used:
{
"compileOnSave": true,
"compilerOptions": {
"incremental": false,
"outDir": "./dist/js",
"noImplicitAny": false,
"allowJs": false,
"checkJs": false,
"noEmitOnError": true,
"removeComments": true,
"sourceMap": false,
"target": "es5",
"lib": [
"dom",
"es5",
"scripthost",
"es2015.promise",
"es2015.collection",
"es2015.core",
"es2015.generator",
"es2015.iterable",
"es2015.proxy",
"es2015.reflect",
"es2015.symbol",
"es2015.symbol.wellknown"
],
"rootDir": "./src/js",
"noResolve": true,
"module": "amd",
"moduleResolution": "node",
"experimentalDecorators": false,
"jsx": "react"
},
"include": [
"./src/**/*.js",
"./src/**/*.ts",
"./src/**/*.tsx",
"./Scripts/typings/**/*.ts"
],
"exclude": [
"./Scripts/excludedtypings/**/*.ts",
"node_modules",
"node_modules/@types",
"wwwroot"
]
}