Skip to content

Clone node to remove location even when it has been modified if needed - #58706

Merged
Wesley Wigham (weswigham) merged 6 commits into
microsoft:mainfrom
weswigham:textrange-to-original-node
May 31, 2024
Merged

Clone node to remove location even when it has been modified if needed#58706
Wesley Wigham (weswigham) merged 6 commits into
microsoft:mainfrom
weswigham:textrange-to-original-node

Conversation

@weswigham

Copy link
Copy Markdown
Member

Because when a node is updated because its' children changed, location data is, by default, copied by the node update functions. In addition, I also handle deleting location data from node arrays from other files as well, as I noticed that while debugging.

Additionally, one of the comment range copies in the test was coming from an unchecked setCommentRange outside the node copying code, so that now has builtin checks now, too.

Fixes#58698

@weswigham
Wesley Wigham (weswigham) marked this pull request as ready for review May 30, 2024 23:26
@jakebailey

Copy link
Copy Markdown
Member

Wow, this is a big baseline change, but maybe it's just going to have to happen given #58698 is a bad bug?

@jakebailey

Copy link
Copy Markdown
Member

Would run perf on this but I think the merge conflict will make the bot mad.

@jakebailey

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

TypeScript Bot (typescript-bot) commented May 31, 2024

Copy link
Copy Markdown
Contributor

Starting jobs; this comment will be updated as builds start and complete.

CommandStatusResults
perf test this✅ Started👀 Results

@typescript-bot

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-Unions - node (v18.15.0, x64)
Errors3030~~~p=1.000 n=6
Symbols62,15362,153~~~p=1.000 n=6
Types50,24250,242~~~p=1.000 n=6
Memory used194,716k (± 0.93%)192,937k (± 0.74%)~192,325k195,870kp=0.066 n=6
Parse Time1.96s (± 0.70%)1.95s (± 0.65%)~1.93s1.97sp=0.103 n=6
Bind Time1.07s (± 1.42%)1.06s (± 0.71%)~1.05s1.07sp=0.867 n=6
Check Time14.02s (± 0.61%)14.06s (± 0.73%)~13.86s14.15sp=0.422 n=6
Emit Time3.99s (± 1.09%)4.05s (± 0.75%)+0.06s (+ 1.55%)4.02s4.10sp=0.024 n=6
Total Time21.04s (± 0.37%)21.12s (± 0.34%)+0.08s (+ 0.36%)20.98s21.20sp=0.045 n=6
angular-1 - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols944,109944,109~~~p=1.000 n=6
Types407,049407,049~~~p=1.000 n=6
Memory used1,222,140k (± 0.00%)1,222,157k (± 0.00%)~1,222,101k1,222,213kp=0.298 n=6
Parse Time8.09s (± 0.60%)8.12s (± 0.68%)~8.03s8.18sp=0.470 n=6
Bind Time2.23s (± 0.84%)2.25s (± 0.97%)~2.22s2.28sp=0.256 n=6
Check Time36.52s (± 0.11%)36.47s (± 0.36%)~36.28s36.64sp=0.575 n=6
Emit Time18.10s (± 0.59%)18.12s (± 0.41%)~18.03s18.23sp=0.630 n=6
Total Time64.95s (± 0.25%)64.95s (± 0.17%)~64.81s65.12sp=0.873 n=6
mui-docs - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols2,051,4602,051,460~~~p=1.000 n=6
Types899,446899,446~~~p=1.000 n=6
Memory used2,065,714k (± 0.00%)2,065,597k (± 0.00%)-117k (- 0.01%)2,065,464k2,065,693kp=0.020 n=6
Parse Time9.94s (± 0.29%)9.98s (± 0.21%)~9.94s10.00sp=0.052 n=6
Bind Time3.36s (± 1.01%)3.38s (± 0.76%)~3.34s3.42sp=0.288 n=6
Check Time99.88s (± 1.21%)99.49s (± 1.89%)~96.89s100.96sp=0.936 n=6
Emit Time0.20s (± 2.67%)0.20s (± 2.02%)~0.20s0.21sp=0.282 n=6
Total Time113.39s (± 1.04%)113.05s (± 1.66%)~110.43s114.48sp=0.936 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,229,6661,229,706+40 (+ 0.00%)~~p=0.001 n=6
Types260,899260,911+12 (+ 0.00%)~~p=0.001 n=6
Memory used2,376,011k (± 2.59%)2,376,495k (± 2.62%)~2,349,580k2,503,599kp=1.000 n=6
Parse Time7.52s (± 0.77%)7.49s (± 0.72%)~7.42s7.57sp=0.230 n=6
Bind Time2.79s (± 0.95%)2.80s (± 0.98%)~2.78s2.85sp=0.808 n=6
Check Time49.70s (± 0.61%)49.54s (± 0.77%)~49.12s50.20sp=0.521 n=6
Emit Time3.89s (± 3.77%)3.94s (± 6.32%)~3.71s4.42sp=0.873 n=6
Total Time63.92s (± 0.51%)63.78s (± 0.72%)~63.22s64.43sp=0.575 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,229,6661,229,706+40 (+ 0.00%)~~p=0.001 n=6
Types260,899260,911+12 (+ 0.00%)~~p=0.001 n=6
Memory used2,502,761k (± 3.34%)2,477,259k (± 3.16%)~2,425,442k2,578,894kp=0.575 n=6
Parse Time5.17s (± 1.20%)5.16s (± 0.74%)~5.10s5.21sp=0.873 n=6
Bind Time1.68s (± 0.49%)1.68s (± 0.70%)~1.66s1.69sp=0.738 n=6
Check Time34.42s (± 0.17%)34.35s (± 0.37%)~34.11s34.44sp=0.261 n=6
Emit Time2.58s (± 2.23%)2.61s (± 3.24%)~2.51s2.74sp=0.689 n=6
Total Time43.86s (± 0.25%)43.81s (± 0.44%)~43.48s44.05sp=0.810 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols258,551258,591+40 (+ 0.02%)~~p=0.001 n=6
Types105,006105,018+12 (+ 0.01%)~~p=0.001 n=6
Memory used428,129k (± 0.01%)428,274k (± 0.02%)+146k (+ 0.03%)428,204k428,453kp=0.008 n=6
Parse Time2.73s (± 0.54%)2.75s (± 0.56%)~2.73s2.77sp=0.102 n=6
Bind Time1.10s (± 1.41%)1.10s (± 1.21%)~1.09s1.12sp=0.865 n=6
Check Time15.37s (± 0.50%)15.36s (± 0.47%)~15.27s15.45sp=0.936 n=6
Emit Time1.14s (± 0.66%)1.16s (± 1.93%)~1.12s1.18sp=0.062 n=6
Total Time20.35s (± 0.49%)20.38s (± 0.39%)~20.30s20.51sp=0.470 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors3535~~~p=1.000 n=6
Symbols224,565224,565~~~p=1.000 n=6
Types93,73493,734~~~p=1.000 n=6
Memory used369,866k (± 0.03%)369,822k (± 0.02%)~369,725k369,933kp=0.471 n=6
Parse Time3.49s (± 0.35%)3.52s (± 0.70%)+0.03s (+ 0.72%)3.49s3.56sp=0.050 n=6
Bind Time1.97s (± 1.19%)1.93s (± 1.26%)-0.04s (- 2.12%)1.89s1.95sp=0.015 n=6
Check Time19.41s (± 0.15%)19.36s (± 0.41%)~19.25s19.47sp=0.259 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time24.87s (± 0.12%)24.80s (± 0.28%)~24.71s24.89sp=0.090 n=6
vscode - node (v18.15.0, x64)
Errors1010~~~p=1.000 n=6
Symbols2,842,9232,842,923~~~p=1.000 n=6
Types963,434963,434~~~p=1.000 n=6
Memory used3,015,788k (± 0.00%)3,015,749k (± 0.00%)~3,015,672k3,015,809kp=0.261 n=6
Parse Time13.84s (± 0.37%)13.81s (± 0.19%)~13.77s13.85sp=0.627 n=6
Bind Time4.17s (± 0.15%)4.20s (± 1.91%)~4.15s4.36sp=0.802 n=6
Check Time73.27s (± 0.23%)73.36s (± 0.53%)~73.12s74.14sp=0.936 n=6
Emit Time23.67s (± 0.64%)23.61s (± 0.32%)~23.49s23.69sp=0.520 n=6
Total Time114.94s (± 0.25%)114.98s (± 0.30%)~114.70s115.66sp=0.521 n=6
webpack - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols266,361266,361~~~p=1.000 n=6
Types108,554108,554~~~p=1.000 n=6
Memory used411,273k (± 0.00%)411,308k (± 0.02%)~411,207k411,377kp=0.298 n=6
Parse Time3.85s (± 0.70%)3.83s (± 0.59%)~3.82s3.88sp=0.354 n=6
Bind Time1.66s (± 1.10%)1.67s (± 0.31%)~1.66s1.67sp=0.548 n=6
Check Time17.00s (± 0.16%)17.00s (± 0.43%)~16.93s17.10sp=0.468 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time22.52s (± 0.21%)22.50s (± 0.28%)~22.44s22.60sp=0.629 n=6
xstate-main - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols525,588525,588~~~p=1.000 n=6
Types179,032179,032~~~p=1.000 n=6
Memory used462,968k (± 0.04%)463,259k (± 0.08%)~462,840k463,635kp=0.261 n=6
Parse Time3.14s (± 0.90%)3.15s (± 0.81%)~3.12s3.19sp=0.418 n=6
Bind Time1.19s (± 0.34%)1.18s (± 0.44%)-0.01s (- 0.70%)1.18s1.19sp=0.022 n=6
Check Time18.07s (± 0.47%)18.11s (± 0.51%)~17.95s18.22sp=0.260 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time22.40s (± 0.30%)22.45s (± 0.45%)~22.28s22.57sp=0.261 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

tsserver

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen3,418ms (± 0.57%)3,420ms (± 0.20%)~3,407ms3,428msp=0.628 n=6
Req 2 - geterr7,569ms (± 0.44%)7,594ms (± 0.51%)~7,549ms7,653msp=0.471 n=6
Req 3 - references434ms (± 1.20%)433ms (± 1.48%)~423ms441msp=0.936 n=6
Req 4 - navto340ms (± 0.71%)341ms (± 1.85%)~334ms353msp=0.868 n=6
Req 5 - completionInfo count1,3571,357~~~p=1.000 n=6
Req 5 - completionInfo117ms (± 8.17%)116ms (± 4.65%)~111ms125msp=0.627 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen3,605ms (± 0.45%)3,618ms (± 0.25%)~3,602ms3,626msp=0.090 n=6
Req 2 - geterr5,705ms (± 0.45%)5,714ms (± 0.20%)~5,701ms5,728msp=0.936 n=6
Req 3 - references449ms (± 0.82%)449ms (± 0.97%)~444ms456msp=0.871 n=6
Req 4 - navto342ms (± 1.54%)345ms (± 1.52%)~341ms352msp=0.157 n=6
Req 5 - completionInfo count1,5191,519~~~p=1.000 n=6
Req 5 - completionInfo117ms (± 8.31%)117ms (± 7.84%)~107ms125msp=1.000 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen6,117ms (± 0.55%)6,141ms (± 0.36%)~6,115ms6,165msp=0.229 n=6
Req 2 - geterr1,361ms (± 1.85%)1,355ms (± 1.02%)~1,343ms1,380msp=0.810 n=6
Req 3 - references115ms (± 6.04%)113ms (± 3.64%)~109ms118msp=0.366 n=6
Req 4 - navto534ms (± 6.92%)524ms (± 7.52%)~496ms588msp=0.630 n=6
Req 5 - completionInfo count3,4133,413~~~p=1.000 n=6
Req 5 - completionInfo1,075ms (± 9.25%)1,057ms (±11.61%)~986ms1,306msp=0.297 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

startup

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
tsc-startup - node (v18.15.0, x64)
Execution time187.86ms (± 0.15%)187.50ms (± 0.15%)-0.35ms (- 0.19%)186.09ms191.31msp=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time360.95ms (± 0.26%)361.33ms (± 0.27%)+0.38ms (+ 0.10%)353.18ms368.84msp=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time287.28ms (± 0.27%)287.08ms (± 0.27%)-0.20ms (- 0.07%)280.39ms290.56msp=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time288.08ms (± 0.29%)288.03ms (± 0.28%)~280.81ms294.41msp=0.225 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@weswigham

Copy link
Copy Markdown
MemberAuthor

Jake Bailey (@jakebailey) I've minimized the diff (and swapped them all to only improvements) by adding a small change to explicitly add positions for type parameter names. I think the original change caused us to stop attaching positions to them spuriously, and now we actually do it explicitly, so there's a smaller diff, but there is a diff of parameter names where we now actually have locations. Also a fourslash test update that shows a new comment getting preserved.

Comment on lines +7 to +16
import {fn} from "./a";
export const m = {
/**
* leading doc for prop
*/
prop: 1
}


export const x = { p: fn };

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test doesn't seem like it tests #58698; am I missing something?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, maybe I'm just wrong given the issue was about pulling comments from other files, yeah.

@jakebailey

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) perf test this faster

@typescript-bot

TypeScript Bot (typescript-bot) commented May 31, 2024

Copy link
Copy Markdown
Contributor

Starting jobs; this comment will be updated as builds start and complete.

CommandStatusResults
perf test this faster✅ Started👀 Results

@jakebaileyJake Bailey (jakebailey) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM assuming perf remains unchanged.

@typescript-bot

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-Unions - node (v18.15.0, x64)
Errors3030~~~p=1.000 n=6
Symbols62,15362,153~~~p=1.000 n=6
Types50,24250,242~~~p=1.000 n=6
Memory used193,601k (± 0.94%)193,543k (± 0.98%)~192,298k196,074kp=0.688 n=6
Parse Time1.31s (± 0.62%)1.30s (± 0.58%)~1.29s1.31sp=0.206 n=6
Bind Time0.72s0.72s~~~p=1.000 n=6
Check Time9.59s (± 0.39%)9.58s (± 0.50%)~9.53s9.65sp=0.688 n=6
Emit Time2.75s (± 0.42%)2.76s (± 0.58%)~2.74s2.78sp=0.316 n=6
Total Time14.36s (± 0.31%)14.35s (± 0.33%)~14.32s14.44sp=0.936 n=6
angular-1 - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols944,109944,109~~~p=1.000 n=6
Types407,049407,049~~~p=1.000 n=6
Memory used1,222,175k (± 0.00%)1,222,155k (± 0.01%)~1,222,039k1,222,250kp=0.471 n=6
Parse Time8.07s (± 0.35%)8.04s (± 0.39%)~7.98s8.06sp=0.122 n=6
Bind Time2.22s (± 0.53%)2.23s (± 0.52%)~2.21s2.24sp=0.365 n=6
Check Time36.25s (± 0.31%)36.26s (± 0.33%)~36.07s36.41sp=0.936 n=6
Emit Time18.10s (± 0.62%)18.02s (± 0.44%)~17.91s18.14sp=0.229 n=6
Total Time64.64s (± 0.16%)64.55s (± 0.27%)~64.31s64.82sp=0.572 n=6
mui-docs - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols2,051,4602,051,460~~~p=1.000 n=6
Types899,446899,446~~~p=1.000 n=6
Memory used2,065,705k (± 0.01%)2,065,648k (± 0.01%)~2,065,488k2,065,811kp=0.298 n=6
Parse Time8.10s (± 0.23%)8.08s (± 0.22%)~8.06s8.11sp=0.121 n=6
Bind Time2.74s (± 0.74%)2.75s (± 1.23%)~2.70s2.79sp=0.935 n=6
Check Time81.94s (± 0.58%)82.18s (± 0.39%)~81.76s82.46sp=0.332 n=6
Emit Time0.17s (± 3.32%)0.17s (± 2.42%)~0.16s0.17sp=0.282 n=6
Total Time92.95s (± 0.52%)93.18s (± 0.34%)~92.76s93.51sp=0.378 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,229,6661,229,707+41 (+ 0.00%)~~p=0.001 n=6
Types260,892260,904+12 (+ 0.00%)~~p=0.001 n=6
Memory used2,402,475k (± 3.26%)2,351,996k (± 0.04%)~2,350,837k2,353,107kp=0.378 n=6
Parse Time7.46s (± 0.90%)7.42s (± 0.76%)~7.37s7.51sp=0.336 n=6
Bind Time2.80s (± 0.90%)2.82s (± 0.35%)~2.81s2.83sp=0.195 n=6
Check Time49.45s (± 0.41%)49.61s (± 0.65%)~49.18s50.18sp=0.471 n=6
Emit Time3.76s (± 4.56%)3.80s (± 2.17%)~3.68s3.92sp=0.230 n=6
Total Time63.48s (± 0.63%)63.67s (± 0.56%)~63.29s64.33sp=0.378 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,229,6661,229,707+41 (+ 0.00%)~~p=0.001 n=6
Types260,892260,904+12 (+ 0.00%)~~p=0.001 n=6
Memory used2,478,063k (± 3.14%)2,478,139k (± 3.13%)~2,426,955k2,579,274kp=0.936 n=6
Parse Time6.24s (± 0.52%)6.25s (± 0.41%)~6.21s6.29sp=0.873 n=6
Bind Time2.01s (± 0.81%)2.02s (± 0.75%)~1.99s2.03sp=0.462 n=6
Check Time40.50s (± 0.21%)40.47s (± 0.27%)~40.34s40.62sp=0.470 n=6
Emit Time3.02s (± 2.57%)3.06s (± 2.49%)~2.99s3.20sp=0.423 n=6
Total Time51.79s (± 0.25%)51.82s (± 0.30%)~51.65s52.00sp=1.000 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols258,551258,592+41 (+ 0.02%)~~p=0.001 n=6
Types104,999105,011+12 (+ 0.01%)~~p=0.001 n=6
Memory used428,176k (± 0.02%)428,239k (± 0.01%)~428,212k428,280kp=0.199 n=6
Parse Time4.08s (± 0.59%)4.08s (± 0.48%)~4.06s4.11sp=0.570 n=6
Bind Time1.62s (± 1.39%)1.63s (± 1.62%)~1.58s1.65sp=0.627 n=6
Check Time22.42s (± 0.42%)22.40s (± 0.43%)~22.31s22.57sp=0.687 n=6
Emit Time1.69s (± 1.10%)1.71s (± 1.13%)~1.68s1.73sp=0.106 n=6
Total Time29.80s (± 0.29%)29.82s (± 0.31%)~29.69s29.97sp=0.748 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors3535~~~p=1.000 n=6
Symbols224,565224,565~~~p=1.000 n=6
Types93,73493,734~~~p=1.000 n=6
Memory used369,873k (± 0.02%)369,766k (± 0.02%)-107k (- 0.03%)369,690k369,854kp=0.045 n=6
Parse Time3.51s (± 0.59%)3.49s (± 0.49%)~3.47s3.52sp=0.121 n=6
Bind Time1.94s (± 0.95%)1.94s (± 0.89%)~1.91s1.96sp=0.569 n=6
Check Time19.41s (± 0.41%)19.42s (± 0.24%)~19.36s19.47sp=0.574 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time24.85s (± 0.26%)24.85s (± 0.22%)~24.76s24.89sp=0.686 n=6
vscode - node (v18.15.0, x64)
Errors1010~~~p=1.000 n=6
Symbols2,843,0692,843,069~~~p=1.000 n=6
Types963,472963,472~~~p=1.000 n=6
Memory used3,015,828k (± 0.00%)3,015,850k (± 0.00%)~3,015,765k3,015,928kp=0.575 n=6
Parse Time13.86s (± 0.36%)13.85s (± 0.23%)~13.82s13.89sp=1.000 n=6
Bind Time4.21s (± 2.19%)4.19s (± 2.32%)~4.14s4.39sp=0.357 n=6
Check Time73.78s (± 1.93%)73.95s (± 2.06%)~72.84s77.00sp=0.471 n=6
Emit Time22.99s (± 6.51%)23.02s (± 6.45%)~20.00s23.90sp=1.000 n=6
Total Time114.83s (± 0.23%)115.01s (± 0.36%)~114.37s115.46sp=0.378 n=6
webpack - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols266,361266,361~~~p=1.000 n=6
Types108,554108,554~~~p=1.000 n=6
Memory used411,489k (± 0.02%)411,433k (± 0.02%)~411,363k411,568kp=0.378 n=6
Parse Time4.78s (± 1.04%)4.77s (± 0.68%)~4.74s4.83sp=0.872 n=6
Bind Time2.08s (± 0.79%)2.08s (± 0.61%)~2.07s2.10sp=0.567 n=6
Check Time21.20s (± 0.53%)21.08s (± 0.25%)~21.02s21.16sp=0.063 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time28.07s (± 0.29%)27.92s (± 0.21%)-0.14s (- 0.51%)27.84s28.00sp=0.020 n=6
xstate-main - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols525,588525,588~~~p=1.000 n=6
Types179,032179,032~~~p=1.000 n=6
Memory used463,316k (± 0.07%)463,353k (± 0.08%)~462,839k463,657kp=0.873 n=6
Parse Time2.62s (± 0.31%)2.62s (± 0.24%)~2.61s2.63sp=0.599 n=6
Bind Time0.99s (± 0.52%)0.99s (± 0.52%)~0.99s1.00sp=1.000 n=6
Check Time15.23s (± 0.58%)15.24s (± 0.40%)~15.14s15.33sp=0.568 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time18.85s (± 0.43%)18.85s (± 0.31%)~18.75s18.93sp=0.419 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@weswigham
Wesley Wigham (weswigham) merged commit d4976c0 into microsoft:mainMay 31, 2024
Jonathan Skeate (skeate) added a commit to skeate/TypeScript that referenced this pull request Jun 1, 2024
* upstream/main: (37 commits)
Added NoTruncation flag to completions (microsoft#58719)
Clone node to remove location even when it has been modified if needed (microsoft#58706)
Properly account for `this` argument in intersection apparent type caching (microsoft#58677)
Fix: Include Values of Script Extensions for Unicode Property Value Expressions in Regular Expressions (microsoft#58615)
In `reScanSlashToken` use `charCodeChecked` not `codePointChecked` (microsoft#58727)
Shorten error spans for errors reported on constructor declarations (microsoft#58061)
Mark file as skips typechecking if it contains ts-nocheck (microsoft#58593)
Fixed an issue with broken `await using` declarations in `for of` loops (microsoft#56466)
Do not expand type references in keyof and index access (microsoft#58715)
Improve the performance of isolatedDeclarations quickfix (microsoft#58722)
Unwrap `NoInfer` types when narrowing (microsoft#58292)
Recover from type reuse errors by falling back to inferred type printing (microsoft#58720)
Fixing self import (microsoft#58718)
Enable JS emit for noCheck and noCheck for transpileModule (microsoft#58364)
Revert PR 55371 (microsoft#58702)
Update dependencies (microsoft#58639)
Fix baselines after PR 58621 (microsoft#58705)
Do not infer `yield*` type from contextual `TReturn` (microsoft#58621)
`await using` normative changes (microsoft#58624)
Handling statements from a known source file (microsoft#58679)
...
@microsoftMicrosoft (microsoft) locked as resolved and limited conversation to collaborators Oct 16, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: TeamFor Uncommitted BugPR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TS5.5-beta injects a random @ts-expect-error comment in the generated .d.ts files

3 participants

@weswigham@jakebailey@typescript-bot