Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

visitNodesWithoutCopyingPositions always makes a new NodeArray #59137

Merged
merged 2 commits into from
Jul 16, 2024

Conversation

iisaduan
Copy link
Member

@iisaduan iisaduan commented Jul 3, 2024

fixes #59115

The original call assumed createNodeArray always makes a new NodeArray, however, in some instances (when there are no changes to the NodeArray), the original array returns. Unpacking the array makes sure that a new NodeArray is always created.

(Side note: As a lot of nodeFactory functions make a distinction between when it is always new node vs it is possible to return the old one, ie createT vs updateT, createNodeArray doesn't currently follow that convention. A bigger version of this PR would be to change the behavior of createNodeArray (such as #59135, but it could/would have other side effects), or to make two ___NodeArray functions that makes this distinction)

@typescript-bot typescript-bot added Author: Team For Milestone Bug PRs that fix a bug with a specific milestone labels Jul 3, 2024
@iisaduan
Copy link
Member Author

iisaduan commented Jul 3, 2024

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 3, 2024

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

Command Status Results
perf test this ✅ Started 👀 Results
@@ -8980,7 +8980,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
if (result) {
if (result.pos !== -1 || result.end !== -1) {
if (result === nodes) {
result = factory.createNodeArray(nodes, nodes.hasTrailingComma);
result = factory.createNodeArray([...nodes], nodes.hasTrailingComma);
Copy link
Member

Choose a reason for hiding this comment

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

I believe slice() tends to be a little faster than spreading since engines have to do shenanigans to support non-array iterables.

Suggested change
result = factory.createNodeArray([...nodes], nodes.hasTrailingComma);
result = factory.createNodeArray(nodes.slice(), nodes.hasTrailingComma);
@typescript-bot
Copy link
Collaborator

@iisaduan
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - node (v18.15.0, x64)
Errors 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,153 62,153 ~ ~ ~ p=1.000 n=6
Types 50,242 50,242 ~ ~ ~ p=1.000 n=6
Memory used 194,051k (± 1.00%) 194,056k (± 1.00%) ~ 192,142k 195,895k p=1.000 n=6
Parse Time 1.58s (± 0.33%) 1.58s (± 0.76%) ~ 1.57s 1.60s p=0.351 n=6
Bind Time 0.85s (± 0.98%) 0.86s (± 1.14%) ~ 0.84s 0.87s p=0.396 n=6
Check Time 11.22s (± 0.26%) 11.23s (± 0.43%) ~ 11.15s 11.29s p=0.627 n=6
Emit Time 3.29s (± 0.41%) 3.28s (± 0.63%) ~ 3.25s 3.31s p=0.119 n=6
Total Time 16.95s (± 0.18%) 16.95s (± 0.37%) ~ 16.87s 17.02s p=0.872 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 944,114 944,114 ~ ~ ~ p=1.000 n=6
Types 407,050 407,050 ~ ~ ~ p=1.000 n=6
Memory used 1,218,295k (± 0.00%) 1,218,348k (± 0.00%) +53k (+ 0.00%) 1,218,311k 1,218,381k p=0.031 n=6
Parse Time 7.96s (± 0.93%) 7.99s (± 0.45%) ~ 7.95s 8.04s p=0.296 n=6
Bind Time 2.22s (± 0.23%) 2.22s ~ ~ ~ p=0.174 n=6
Check Time 35.78s (± 0.29%) 35.85s (± 0.18%) ~ 35.76s 35.92s p=0.297 n=6
Emit Time 16.23s (± 0.46%) 16.13s (± 0.39%) ~ 16.06s 16.21s p=0.066 n=6
Total Time 62.19s (± 0.28%) 62.19s (± 0.16%) ~ 62.02s 62.29s p=0.936 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,129,960 2,129,960 ~ ~ ~ p=1.000 n=6
Types 927,566 927,566 ~ ~ ~ p=1.000 n=6
Memory used 2,104,757k (± 0.01%) 2,105,157k (± 0.05%) ~ 2,104,631k 2,107,311k p=0.810 n=6
Parse Time 9.60s (± 0.36%) 9.62s (± 0.51%) ~ 9.54s 9.68s p=0.628 n=6
Bind Time 3.38s (± 0.61%) 3.37s (± 0.35%) ~ 3.35s 3.38s p=0.622 n=6
Check Time 100.60s (± 1.28%) 101.30s (± 1.03%) ~ 99.44s 102.20s p=0.378 n=6
Emit Time 0.20s (± 4.15%) 0.40s (±124.30%) ~ 0.19s 1.41s p=0.666 n=6
Total Time 113.77s (± 1.10%) 114.68s (± 0.57%) ~ 113.91s 115.39s p=0.298 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,496 1,225,530 +34 (+ 0.00%) ~ ~ p=0.001 n=6
Types 261,459 261,460 +1 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 2,341,324k (± 0.03%) 2,341,542k (± 0.07%) ~ 2,339,616k 2,343,996k p=0.936 n=6
Parse Time 7.56s (± 0.51%) 7.48s (± 0.50%) -0.08s (- 1.04%) 7.44s 7.54s p=0.013 n=6
Bind Time 2.80s (± 0.61%) 2.80s (± 0.89%) ~ 2.77s 2.83s p=0.688 n=6
Check Time 49.71s (± 0.70%) 49.68s (± 0.44%) ~ 49.38s 49.91s p=0.936 n=6
Emit Time 3.98s (± 3.19%) 3.89s (± 5.07%) ~ 3.65s 4.19s p=0.298 n=6
Total Time 64.07s (± 0.56%) 63.87s (± 0.52%) ~ 63.39s 64.20s p=0.689 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,496 1,225,530 +34 (+ 0.00%) ~ ~ p=0.001 n=6
Types 261,459 261,460 +1 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 2,415,743k (± 0.03%) 2,416,019k (± 0.02%) ~ 2,415,233k 2,416,512k p=0.471 n=6
Parse Time 7.77s (± 0.85%) 7.76s (± 1.11%) ~ 7.62s 7.85s p=1.000 n=6
Bind Time 2.52s (± 0.70%) 2.52s (± 1.22%) ~ 2.48s 2.55s p=0.744 n=6
Check Time 50.21s (± 0.19%) 50.27s (± 0.68%) ~ 49.84s 50.87s p=0.936 n=6
Emit Time 3.88s (± 1.12%) 3.95s (± 3.15%) ~ 3.81s 4.12s p=0.810 n=6
Total Time 64.38s (± 0.30%) 64.52s (± 0.72%) ~ 64.00s 65.37s p=0.689 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 258,194 258,228 +34 (+ 0.01%) ~ ~ p=0.001 n=6
Types 104,737 104,738 +1 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 427,499k (± 0.01%) 427,532k (± 0.02%) ~ 427,470k 427,715k p=0.630 n=6
Parse Time 3.28s (± 0.52%) 3.29s (± 0.63%) ~ 3.27s 3.32s p=0.287 n=6
Bind Time 1.33s (± 0.78%) 1.32s (± 0.62%) ~ 1.31s 1.33s p=0.546 n=6
Check Time 17.86s (± 0.35%) 17.84s (± 0.29%) ~ 17.78s 17.92s p=0.748 n=6
Emit Time 1.26s (± 1.64%) 1.25s (± 1.34%) ~ 1.23s 1.27s p=0.570 n=6
Total Time 23.73s (± 0.32%) 23.71s (± 0.18%) ~ 23.67s 23.77s p=0.688 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,565 224,565 ~ ~ ~ p=1.000 n=6
Types 93,734 93,734 ~ ~ ~ p=1.000 n=6
Memory used 369,451k (± 0.02%) 369,472k (± 0.04%) ~ 369,337k 369,749k p=0.936 n=6
Parse Time 2.76s (± 0.84%) 2.78s (± 0.99%) ~ 2.74s 2.81s p=0.195 n=6
Bind Time 1.59s (± 0.74%) 1.58s (± 0.40%) ~ 1.57s 1.59s p=0.179 n=6
Check Time 15.50s (± 0.38%) 15.46s (± 0.35%) ~ 15.39s 15.54s p=0.261 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 19.85s (± 0.34%) 19.82s (± 0.29%) ~ 19.73s 19.88s p=0.335 n=6
vscode - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,881,144 2,881,144 ~ ~ ~ p=1.000 n=6
Types 975,520 975,520 ~ ~ ~ p=1.000 n=6
Memory used 3,044,034k (± 0.00%) 3,044,033k (± 0.00%) ~ 3,043,945k 3,044,074k p=1.000 n=6
Parse Time 13.63s (± 0.25%) 13.72s (± 0.32%) +0.09s (+ 0.66%) 13.67s 13.78s p=0.005 n=6
Bind Time 4.22s (± 2.70%) 4.25s (± 2.94%) ~ 4.13s 4.38s p=0.746 n=6
Check Time 74.22s (± 2.20%) 72.86s (± 0.42%) ~ 72.55s 73.31s p=0.148 n=6
Emit Time 22.73s (± 6.78%) 24.07s (± 0.37%) 🔻+1.34s (+ 5.90%) 23.95s 24.15s p=0.031 n=6
Total Time 114.80s (± 0.38%) 114.90s (± 0.37%) ~ 114.41s 115.49s p=0.936 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 267,117 267,117 ~ ~ ~ p=1.000 n=6
Types 108,775 108,775 ~ ~ ~ p=1.000 n=6
Memory used 411,555k (± 0.01%) 411,516k (± 0.01%) ~ 411,443k 411,622k p=0.230 n=6
Parse Time 3.17s (± 0.68%) 3.18s (± 0.54%) ~ 3.15s 3.20s p=0.746 n=6
Bind Time 1.42s (± 0.82%) 1.42s (± 0.39%) ~ 1.41s 1.42s p=0.859 n=6
Check Time 14.20s (± 0.27%) 14.17s (± 0.32%) ~ 14.11s 14.25s p=0.366 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.79s (± 0.22%) 18.76s (± 0.30%) ~ 18.72s 18.87s p=0.198 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 525,251 525,251 ~ ~ ~ p=1.000 n=6
Types 178,574 178,574 ~ ~ ~ p=1.000 n=6
Memory used 462,881k (± 0.08%) 462,908k (± 0.08%) ~ 462,420k 463,306k p=0.575 n=6
Parse Time 2.65s (± 0.41%) 2.65s (± 0.48%) ~ 2.63s 2.66s p=0.869 n=6
Bind Time 0.98s (± 0.77%) 0.98s (± 0.42%) ~ 0.97s 0.98s p=1.000 n=6
Check Time 15.16s (± 0.35%) 15.20s (± 0.39%) ~ 15.14s 15.30s p=0.375 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.79s (± 0.26%) 18.83s (± 0.33%) ~ 18.77s 18.93s p=0.422 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)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,755ms (± 0.96%) 2,780ms (± 0.53%) ~ 2,757ms 2,797ms p=0.065 n=6
Req 2 - geterr 6,497ms (±11.04%) 6,691ms (±10.58%) ~ 5,989ms 7,370ms p=0.810 n=6
Req 3 - references 357ms (±11.34%) 374ms (± 8.91%) ~ 319ms 396ms p=0.419 n=6
Req 4 - navto 317ms (± 9.39%) 329ms (± 7.32%) ~ 280ms 340ms p=0.744 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 125ms (± 8.73%) 128ms (± 8.49%) ~ 107ms 139ms p=1.000 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,408ms (± 0.76%) 2,426ms (± 0.44%) ~ 2,408ms 2,437ms p=0.149 n=6
Req 2 - geterr 3,789ms (± 0.31%) 3,793ms (± 0.49%) ~ 3,776ms 3,824ms p=1.000 n=6
Req 3 - references 276ms (± 0.15%) 276ms (± 0.49%) ~ 275ms 278ms p=0.929 n=6
Req 4 - navto 226ms (± 0.18%) 226ms (± 0.52%) ~ 225ms 228ms p=0.858 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 71ms (± 3.65%) 75ms (± 5.67%) ~ 72ms 83ms p=0.161 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 5,202ms (± 0.59%) 5,223ms (± 0.82%) ~ 5,157ms 5,275ms p=0.230 n=6
Req 2 - geterr 1,132ms (± 1.19%) 1,129ms (± 0.89%) ~ 1,119ms 1,145ms p=0.872 n=6
Req 3 - references 77ms (± 3.67%) 76ms (± 2.10%) ~ 75ms 79ms p=1.000 n=6
Req 4 - navto 457ms (± 0.29%) 458ms (± 0.18%) ~ 457ms 459ms p=0.619 n=6
Req 5 - completionInfo count 3,413 3,413 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 833ms (± 0.82%) 831ms (± 1.34%) ~ 812ms 843ms p=0.936 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)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 157.75ms (± 0.16%) 157.70ms (± 0.18%) -0.05ms (- 0.03%) 156.64ms 162.20ms p=0.009 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 230.65ms (± 0.12%) 230.65ms (± 0.19%) ~ 229.19ms 241.67ms p=0.075 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 227.26ms (± 0.13%) 227.31ms (± 0.16%) ~ 225.76ms 231.35ms p=0.454 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 226.80ms (± 0.14%) 226.86ms (± 0.16%) ~ 225.46ms 229.48ms p=0.214 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)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@iisaduan
Copy link
Member Author

iisaduan commented Jul 5, 2024

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 5, 2024

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

Command Status Results
perf test this ✅ Started 👀 Results
@typescript-bot
Copy link
Collaborator

@iisaduan
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - node (v18.15.0, x64)
Errors 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,153 62,153 ~ ~ ~ p=1.000 n=6
Types 50,242 50,242 ~ ~ ~ p=1.000 n=6
Memory used 193,308k (± 0.99%) 193,804k (± 1.01%) ~ 191,794k 195,683k p=0.936 n=6
Parse Time 1.95s (± 0.78%) 1.95s (± 0.82%) ~ 1.93s 1.97s p=0.568 n=6
Bind Time 1.07s (± 0.97%) 1.06s (± 1.54%) ~ 1.04s 1.08s p=0.286 n=6
Check Time 13.84s (± 0.56%) 13.79s (± 0.53%) ~ 13.71s 13.91s p=0.229 n=6
Emit Time 4.05s (± 2.25%) 4.13s (± 4.47%) ~ 3.99s 4.39s p=0.628 n=6
Total Time 20.91s (± 0.53%) 20.93s (± 1.22%) ~ 20.71s 21.28s p=0.689 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 944,114 944,114 ~ ~ ~ p=1.000 n=6
Types 407,050 407,050 ~ ~ ~ p=1.000 n=6
Memory used 1,218,357k (± 0.00%) 1,218,356k (± 0.00%) ~ 1,218,306k 1,218,408k p=0.936 n=6
Parse Time 7.94s (± 0.58%) 7.99s (± 0.62%) ~ 7.92s 8.05s p=0.126 n=6
Bind Time 2.22s (± 0.18%) 2.22s (± 0.44%) ~ 2.21s 2.23s p=0.930 n=6
Check Time 35.75s (± 0.26%) 35.83s (± 0.35%) ~ 35.66s 35.97s p=0.298 n=6
Emit Time 16.19s (± 0.35%) 16.17s (± 0.57%) ~ 16.06s 16.28s p=0.873 n=6
Total Time 62.09s (± 0.23%) 62.21s (± 0.25%) ~ 62.05s 62.47s p=0.335 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,130,140 2,130,140 ~ ~ ~ p=1.000 n=6
Types 927,634 927,634 ~ ~ ~ p=1.000 n=6
Memory used 2,106,234k (± 0.01%) 2,106,183k (± 0.01%) ~ 2,105,900k 2,106,342k p=0.936 n=6
Parse Time 9.68s (± 0.49%) 9.67s (± 0.71%) ~ 9.58s 9.77s p=1.000 n=6
Bind Time 3.39s (± 0.61%) 3.41s (± 0.66%) ~ 3.39s 3.45s p=0.122 n=6
Check Time 101.62s (± 1.22%) 100.97s (± 1.57%) ~ 99.23s 102.66s p=0.471 n=6
Emit Time 0.20s (± 3.79%) 0.39s (±122.26%) ~ 0.19s 1.37s p=1.000 n=6
Total Time 114.88s (± 1.05%) 114.44s (± 1.22%) ~ 112.64s 115.95s p=0.873 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,497 1,225,497 ~ ~ ~ p=1.000 n=6
Types 261,459 261,459 ~ ~ ~ p=1.000 n=6
Memory used 2,341,676k (± 0.03%) 2,342,668k (± 0.04%) ~ 2,341,420k 2,344,373k p=0.128 n=6
Parse Time 7.50s (± 0.50%) 7.55s (± 0.49%) +0.06s (+ 0.78%) 7.51s 7.60s p=0.031 n=6
Bind Time 2.79s (± 0.69%) 2.79s (± 0.67%) ~ 2.78s 2.83s p=0.628 n=6
Check Time 49.48s (± 0.27%) 49.59s (± 0.17%) ~ 49.47s 49.70s p=0.173 n=6
Emit Time 3.84s (± 3.16%) 3.85s (± 4.12%) ~ 3.68s 4.14s p=0.936 n=6
Total Time 63.61s (± 0.26%) 63.80s (± 0.19%) ~ 63.55s 63.88s p=0.066 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,497 1,225,497 ~ ~ ~ p=1.000 n=6
Types 261,459 261,459 ~ ~ ~ p=1.000 n=6
Memory used 2,415,097k (± 0.04%) 2,415,467k (± 0.03%) ~ 2,414,558k 2,416,497k p=0.471 n=6
Parse Time 6.29s (± 0.98%) 6.28s (± 0.97%) ~ 6.19s 6.35s p=0.936 n=6
Bind Time 2.03s (± 0.76%) 2.01s (± 0.68%) ~ 1.99s 2.03s p=0.079 n=6
Check Time 40.84s (± 0.67%) 40.88s (± 0.74%) ~ 40.55s 41.44s p=0.936 n=6
Emit Time 3.17s (± 2.66%) 3.15s (± 3.69%) ~ 3.01s 3.31s p=0.936 n=6
Total Time 52.34s (± 0.62%) 52.34s (± 0.70%) ~ 52.04s 53.05s p=0.936 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 258,195 258,195 ~ ~ ~ p=1.000 n=6
Types 104,737 104,737 ~ ~ ~ p=1.000 n=6
Memory used 427,483k (± 0.01%) 427,457k (± 0.01%) ~ 427,402k 427,484k p=0.575 n=6
Parse Time 4.08s (± 0.43%) 4.08s (± 0.48%) ~ 4.05s 4.10s p=0.867 n=6
Bind Time 1.62s (± 1.54%) 1.63s (± 1.01%) ~ 1.61s 1.65s p=1.000 n=6
Check Time 22.00s (± 0.30%) 21.94s (± 0.31%) ~ 21.87s 22.05s p=0.148 n=6
Emit Time 1.55s (± 1.03%) 1.54s (± 1.27%) ~ 1.52s 1.57s p=0.557 n=6
Total Time 29.25s (± 0.25%) 29.18s (± 0.31%) ~ 29.10s 29.33s p=0.199 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,565 224,565 ~ ~ ~ p=1.000 n=6
Types 93,734 93,734 ~ ~ ~ p=1.000 n=6
Memory used 369,533k (± 0.02%) 369,511k (± 0.03%) ~ 369,367k 369,724k p=0.575 n=6
Parse Time 2.77s (± 1.34%) 2.77s (± 0.55%) ~ 2.75s 2.79s p=0.681 n=6
Bind Time 1.58s (± 1.23%) 1.59s (± 1.08%) ~ 1.57s 1.61s p=0.408 n=6
Check Time 15.48s (± 0.31%) 15.47s (± 0.43%) ~ 15.39s 15.54s p=1.000 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 19.83s (± 0.28%) 19.83s (± 0.35%) ~ 19.74s 19.90s p=1.000 n=6
vscode - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,882,184 2,882,184 ~ ~ ~ p=1.000 n=6
Types 975,716 975,716 ~ ~ ~ p=1.000 n=6
Memory used 3,045,406k (± 0.00%) 3,045,434k (± 0.00%) ~ 3,045,350k 3,045,596k p=0.575 n=6
Parse Time 13.75s (± 0.36%) 13.72s (± 0.08%) ~ 13.70s 13.73s p=0.746 n=6
Bind Time 4.19s (± 0.47%) 4.22s (± 1.94%) ~ 4.17s 4.38s p=0.935 n=6
Check Time 73.72s (± 0.44%) 73.81s (± 1.00%) ~ 73.34s 75.28s p=0.689 n=6
Emit Time 23.96s (± 0.50%) 23.66s (± 3.49%) ~ 21.98s 24.11s p=1.000 n=6
Total Time 115.61s (± 0.35%) 115.40s (± 0.21%) ~ 115.13s 115.84s p=0.378 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 267,117 267,117 ~ ~ ~ p=1.000 n=6
Types 108,775 108,775 ~ ~ ~ p=1.000 n=6
Memory used 411,552k (± 0.01%) 411,521k (± 0.02%) ~ 411,435k 411,607k p=0.423 n=6
Parse Time 3.17s (± 0.69%) 3.18s (± 0.31%) ~ 3.17s 3.19s p=0.622 n=6
Bind Time 1.41s (± 0.29%) 1.42s (± 0.53%) ~ 1.41s 1.43s p=0.100 n=6
Check Time 14.20s (± 0.30%) 14.18s (± 0.37%) ~ 14.12s 14.26s p=0.747 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.78s (± 0.30%) 18.78s (± 0.28%) ~ 18.72s 18.87s p=0.872 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 525,251 525,251 ~ ~ ~ p=1.000 n=6
Types 178,574 178,574 ~ ~ ~ p=1.000 n=6
Memory used 462,817k (± 0.07%) 462,939k (± 0.07%) ~ 462,433k 463,358k p=0.378 n=6
Parse Time 2.64s (± 0.70%) 2.64s (± 0.50%) ~ 2.62s 2.66s p=0.452 n=6
Bind Time 0.98s 0.98s (± 0.64%) ~ 0.97s 0.99s p=1.000 n=6
Check Time 15.17s (± 0.37%) 15.16s (± 0.30%) ~ 15.10s 15.22s p=0.630 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.79s (± 0.27%) 18.77s (± 0.26%) ~ 18.72s 18.86s p=0.573 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)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,426ms (± 0.43%) 3,415ms (± 0.56%) ~ 3,387ms 3,439ms p=0.422 n=6
Req 2 - geterr 7,480ms (± 0.56%) 7,476ms (± 0.33%) ~ 7,438ms 7,514ms p=1.000 n=6
Req 3 - references 393ms (± 0.37%) 394ms (± 0.34%) ~ 392ms 396ms p=0.112 n=6
Req 4 - navto 337ms (± 0.63%) 338ms (± 0.15%) ~ 338ms 339ms p=0.242 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 130ms (± 1.37%) 129ms (± 1.14%) ~ 128ms 131ms p=0.411 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,417ms (± 0.36%) 2,421ms (± 1.09%) ~ 2,378ms 2,451ms p=0.630 n=6
Req 2 - geterr 3,801ms (± 0.36%) 3,796ms (± 0.19%) ~ 3,787ms 3,805ms p=0.378 n=6
Req 3 - references 276ms (± 0.85%) 277ms (± 0.42%) ~ 275ms 278ms p=1.000 n=6
Req 4 - navto 229ms (± 2.45%) 226ms (± 0.23%) ~ 226ms 227ms p=0.437 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 73ms (± 7.50%) 74ms (± 7.96%) ~ 67ms 85ms p=0.805 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 5,183ms (± 0.40%) 5,185ms (± 0.38%) ~ 5,162ms 5,221ms p=0.630 n=6
Req 2 - geterr 1,124ms (± 0.81%) 1,127ms (± 1.26%) ~ 1,107ms 1,147ms p=0.573 n=6
Req 3 - references 77ms (± 6.31%) 76ms (± 4.35%) ~ 74ms 83ms p=0.737 n=6
Req 4 - navto 459ms (± 1.07%) 457ms (± 0.16%) ~ 456ms 458ms p=0.797 n=6
Req 5 - completionInfo count 3,413 3,413 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 833ms (± 2.29%) 834ms (± 2.09%) ~ 816ms 865ms p=0.936 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)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 157.05ms (± 0.17%) 157.19ms (± 0.21%) +0.14ms (+ 0.09%) 156.08ms 162.18ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 232.18ms (± 0.13%) 232.01ms (± 0.14%) -0.16ms (- 0.07%) 230.73ms 237.68ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 226.89ms (± 0.16%) 226.93ms (± 0.15%) ~ 225.56ms 229.27ms p=0.096 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 225.65ms (± 0.15%) 225.71ms (± 0.18%) ~ 224.23ms 232.81ms p=0.128 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)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@DanielRosenwasser
Copy link
Member

@typescript-bot cherry pick this to release-5.5

@DanielRosenwasser
Copy link
Member

@typescript-bot cherry-pick this to release-5.5

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 8, 2024

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

Command Status Results
cherry-pick this to release-5.5 ✅ Started ✅ Results
@typescript-bot
Copy link
Collaborator

Hey, @DanielRosenwasser! I've created #59179 for you.

@DanielRosenwasser DanielRosenwasser added this to the TypeScript 5.5.4 milestone Jul 16, 2024
@DanielRosenwasser DanielRosenwasser merged commit 66a762f into microsoft:main Jul 16, 2024
29 checks passed
DanielRosenwasser pushed a commit that referenced this pull request Jul 16, 2024
…e-5.5 (#59179)

Co-authored-by: Isabel Duan <isabelduan@microsoft.com>
@iisaduan iisaduan deleted the nodeArrayCrash2 branch July 16, 2024 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Milestone Bug PRs that fix a bug with a specific milestone
5 participants