TypeScript: Compilation time significantly slower in 3.7.1-RC vs 3.5.2, essentially the "check time" part.
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: https://github.com/Microsoft/TypeScript/issues/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"
]
}
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 3
- Comments: 25 (14 by maintainers)
@amcasey Yep there is definitely significant improvements with this build. We go down from 4.30 min to 1.40 min in full mode (no change in incremental, around 7 seconds) Check time go down from 253.29s to 74.43s
attached: extended diagnostics and prof-process of isolates
extendedDiagnostics_prof-process_3.7.4.zip
extendedDiagnostics_prof-process_3.8.0next.zip