-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Comparing changes
Open a pull request
base repository: microsoft/TypeScript
base: v4.0.2
head repository: microsoft/TypeScript
compare: v4.0.3
- 9 commits
- 25 files changed
- 8 contributors
Commits on Aug 26, 2020
-
Cherry-pick PR #40118 into release-4.0 (#40134)
Component commits: e1f4f9c Fix tuple name homogeneity check Co-authored-by: Wesley Wigham <t-weswig@microsoft.com>
Configuration menu - View commit details
-
Copy full SHA for 8890dcb - Browse repository at this point
Copy the full SHA 8890dcbView commit details
Commits on Sep 8, 2020
-
Cherry-pick PR #40348 into release-4.0 (#40349)
Component commits: 3b33279 Fix call hierarchy item serialization and server tests Co-authored-by: Andrew Branch <andrew@wheream.io>
Configuration menu - View commit details
-
Copy full SHA for 3e7a8e7 - Browse repository at this point
Copy the full SHA 3e7a8e7View commit details
Commits on Sep 9, 2020
-
Set stackTraceLimit to 0 in fileSystemEntryExists
The exception thrown by Node.js's fs.statSync function contains a stack trace that can be expensive to compute. Since this exception isn't used by fileSystemEntryExists, we can safely set Error.stackTraceLimit to 0 without a change in behavior. --- A significant performance improvement was noticed with this change while profiling tsserver on packages within a proprietary monorepo. Specifically, my team saw high self time percentages for Node.js's uvException and handleErrorFromBinding internal functions. These functions are executed within fs.statSync when it fails to find the given path. https://user-images.githubusercontent.com/906558/90183227-220cb800-dd81-11ea-8d61-f41f89481f46.png fs.statSync: https://github.com/nodejs/node/blob/v14.4.0/lib/fs.js#L1030-L1037 handleErrorFromBinding: https://github.com/nodejs/node/blob/v14.4.0/lib/internal/fs/utils.js#L254-L269 uvException: https://github.com/nodejs/node/blob/v14.4.0/lib/internal/errors.js#L390-L443 ## Measurements After adding Error.stackTraceLimit = 0, we saw: - For a large configured project with 12,565 files, tsserver reached the projectLoadingFinish event 48.78% faster. (~46.786s vs ~31.447s) - For a medium project with 7,064 files, tsserver was 25.75% faster. (~20.897s vs ~16.618s) - For a small project with 796 files, tsserver was only a negligible 3.00% faster. (~3.545s vs ~3.442) Measurements were taken on macOS 10.15.6, Node.js 14.4.0, and a recent master commit of TypeScript (610fa28). The average of 3 runs before and after this change were taken. I would normally include .cpuprofile and isolate-*-*-*.log files, but can't post them publicly in this case. If there's any other summaries the TypeScript team would be curious about I can report them. ## fs.statSync Misses Within our monorepo, the fs.statSync misses were mostly searches for alternative file extensions of module imports. - For node_modules imports, a lot of .ts/.tsx lookups failed until the .d.ts file was found. - Within projects with a lot of JSX files, .ts files were looked for before finding the .tsx version. - In the medium scale project mentioned above, a total of 38,515 non-existent files were queried during createProgram.
Configuration menu - View commit details
-
Copy full SHA for 657576a - Browse repository at this point
Copy the full SHA 657576aView commit details
Commits on Sep 15, 2020
-
Cherry-pick PR #40273 into release-4.0 (#40303)
Component commits: 2c0e01a Fix misplaced comma in auto imported specifier Co-authored-by: Andrew Branch <andrew@wheream.io>
Configuration menu - View commit details
-
Copy full SHA for 65b84e7 - Browse repository at this point
Copy the full SHA 65b84e7View commit details
Commits on Sep 16, 2020
-
Configuration menu - View commit details
-
Copy full SHA for e3301f7 - Browse repository at this point
Copy the full SHA e3301f7View commit details -
Merge pull request #40444 from amcasey/Cherry40043
Set stackTraceLimit to 0 in fileSystemEntryExists
Configuration menu - View commit details
-
Copy full SHA for 23c77c4 - Browse repository at this point
Copy the full SHA 23c77c4View commit details -
Merge pull request #40595 from typescript-bot/pick/39924/release-4.0
🤖 Pick PR #39924 (Insert auto imports after header co...) into release-4.0
Configuration menu - View commit details
-
Copy full SHA for 1dde4bb - Browse repository at this point
Copy the full SHA 1dde4bbView commit details
Commits on Sep 18, 2020
-
TypeScript Bot committed
Sep 18, 2020 Configuration menu - View commit details
-
Copy full SHA for 2eb5dea - Browse repository at this point
Copy the full SHA 2eb5deaView commit details -
Configuration menu - View commit details
-
Copy full SHA for fee3bfb - Browse repository at this point
Copy the full SHA fee3bfbView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v4.0.2...v4.0.3