Skip to content

Use destructured names as fallback labels when expanding parameters #57619

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

Closed
wants to merge 13 commits into from

Conversation

Andarist
Copy link
Contributor

@Andarist Andarist commented Mar 3, 2024

closes #56289

@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label Mar 3, 2024
if (isTupleType(restType)) {
return [expandSignatureParametersWithTupleMembers(restType, restIndex, restName)];
return [expandSignatureParametersWithTupleMembers(restType, restIndex, restName, getFallbackExpandedLabels(restType, restDeclaration))];
Copy link
Member

Choose a reason for hiding this comment

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

Another thing I realized is that we're going to be calculating this fallback list every time we do this, even though it's not always used. But, I'm not sure how to make that lazy either.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ye, this is somewhat unfortunate but I don't think it's a particularly costly operation to create this so I just don't mind having this eager here

@jakebailey
Copy link
Member

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 26, 2024

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

Command Status Results
test top400 ✅ Started ✅ Results
user test this ✅ Started ✅ Results
run dt ✅ Started ✅ Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

Hey @jakebailey, the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user tests comparing main and refs/pull/57619/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

@jakebailey
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
Angular - node (v18.15.0, x64)
Memory used 295,481k (± 0.00%) 295,477k (± 0.01%) ~ 295,423k 295,500k p=0.748 n=6
Parse Time 2.66s (± 0.31%) 2.66s (± 0.24%) ~ 2.65s 2.67s p=0.599 n=6
Bind Time 0.83s (± 0.49%) 0.82s (± 0.66%) ~ 0.82s 0.83s p=0.282 n=6
Check Time 8.17s (± 0.30%) 8.22s (± 0.26%) +0.05s (+ 0.57%) 8.18s 8.24s p=0.016 n=6
Emit Time 7.05s (± 0.21%) 7.07s (± 0.77%) ~ 7.03s 7.18s p=0.328 n=6
Total Time 18.70s (± 0.20%) 18.77s (± 0.34%) +0.07s (+ 0.37%) 18.71s 18.89s p=0.036 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 193,672k (± 1.00%) 192,573k (± 0.77%) ~ 191,838k 195,593k p=0.689 n=6
Parse Time 1.35s (± 0.30%) 1.36s (± 0.55%) ~ 1.35s 1.37s p=0.100 n=6
Bind Time 0.72s (± 0.00%) 0.72s (± 0.00%) ~ 0.72s 0.72s p=1.000 n=6
Check Time 9.46s (± 0.56%) 9.47s (± 0.32%) ~ 9.44s 9.52s p=0.630 n=6
Emit Time 2.63s (± 0.21%) 2.64s (± 1.04%) ~ 2.62s 2.69s p=0.663 n=6
Total Time 14.17s (± 0.40%) 14.19s (± 0.32%) ~ 14.14s 14.25s p=0.520 n=6
Monaco - node (v18.15.0, x64)
Memory used 347,367k (± 0.00%) 347,366k (± 0.01%) ~ 347,346k 347,392k p=0.810 n=6
Parse Time 2.48s (± 0.54%) 2.48s (± 0.40%) ~ 2.46s 2.49s p=0.396 n=6
Bind Time 0.93s (± 0.00%) 0.93s (± 0.56%) ~ 0.92s 0.93s p=0.174 n=6
Check Time 7.02s (± 0.33%) 6.99s (± 0.17%) -0.03s (- 0.47%) 6.98s 7.01s p=0.042 n=6
Emit Time 4.06s (± 0.37%) 4.07s (± 0.57%) ~ 4.03s 4.10s p=0.464 n=6
Total Time 14.49s (± 0.09%) 14.46s (± 0.12%) -0.03s (- 0.21%) 14.44s 14.49s p=0.019 n=6
TFS - node (v18.15.0, x64)
Memory used 302,704k (± 0.01%) 302,685k (± 0.01%) ~ 302,641k 302,735k p=0.336 n=6
Parse Time 2.96s (± 0.93%) 2.98s (± 0.87%) ~ 2.95s 3.02s p=0.257 n=6
Bind Time 1.46s (± 0.72%) 1.47s (± 0.82%) ~ 1.46s 1.49s p=0.282 n=6
Check Time 9.18s (± 0.39%) 9.19s (± 0.52%) ~ 9.13s 9.24s p=0.520 n=6
Emit Time 5.32s (± 0.74%) 5.32s (± 0.41%) ~ 5.29s 5.35s p=1.000 n=6
Total Time 18.93s (± 0.43%) 18.96s (± 0.20%) ~ 18.90s 19.00s p=0.574 n=6
material-ui - node (v18.15.0, x64)
Memory used 509,884k (± 0.00%) 509,894k (± 0.00%) ~ 509,871k 509,907k p=0.520 n=6
Parse Time 2.65s (± 0.52%) 2.66s (± 0.61%) ~ 2.63s 2.67s p=0.101 n=6
Bind Time 0.98s (± 0.64%) 0.98s (± 0.85%) ~ 0.97s 0.99s p=0.226 n=6
Check Time 17.24s (± 0.43%) 17.28s (± 0.21%) ~ 17.24s 17.33s p=0.574 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.88s (± 0.40%) 20.93s (± 0.22%) ~ 20.86s 20.99s p=0.520 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,737,607k (± 0.00%) 1,737,586k (± 0.00%) ~ 1,737,532k 1,737,632k p=0.298 n=6
Parse Time 7.79s (± 0.15%) 7.80s (± 0.46%) ~ 7.77s 7.86s p=0.934 n=6
Bind Time 2.79s (± 0.44%) 2.80s (± 1.03%) ~ 2.78s 2.86s p=0.737 n=6
Check Time 66.55s (± 0.60%) 66.56s (± 0.62%) ~ 66.08s 67.05s p=0.630 n=6
Emit Time 0.16s (± 2.58%) 0.15s (± 3.53%) ~ 0.15s 0.16s p=0.282 n=6
Total Time 77.29s (± 0.51%) 77.33s (± 0.51%) ~ 76.86s 77.80s p=0.575 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,389,481k (± 0.02%) 2,390,364k (± 0.07%) ~ 2,388,269k 2,393,081k p=0.298 n=6
Parse Time 6.08s (± 1.48%) 6.08s (± 0.64%) ~ 6.04s 6.12s p=1.000 n=6
Bind Time 2.24s (± 1.23%) 2.26s (± 1.08%) ~ 2.22s 2.29s p=0.419 n=6
Check Time 39.34s (± 0.20%) 39.48s (± 0.25%) ~ 39.35s 39.61s p=0.066 n=6
Emit Time 3.15s (± 1.60%) 3.18s (± 1.32%) ~ 3.11s 3.23s p=0.298 n=6
Total Time 50.83s (± 0.27%) 51.00s (± 0.12%) +0.17s (+ 0.34%) 50.95s 51.11s p=0.045 n=6
self-compiler - node (v18.15.0, x64)
Memory used 414,559k (± 0.01%) 414,664k (± 0.01%) +105k (+ 0.03%) 414,628k 414,698k p=0.005 n=6
Parse Time 3.47s (± 7.16%) 3.39s (± 0.73%) ~ 3.34s 3.41s p=0.570 n=6
Bind Time 1.29s (± 0.69%) 1.29s (± 0.81%) ~ 1.28s 1.31s p=0.452 n=6
Check Time 17.97s (± 0.33%) 17.93s (± 0.18%) ~ 17.87s 17.97s p=0.295 n=6
Emit Time 1.35s (± 2.16%) 1.37s (± 1.01%) ~ 1.35s 1.38s p=0.625 n=6
Total Time 24.08s (± 1.08%) 23.98s (± 0.19%) ~ 23.93s 24.03s p=0.809 n=6
vscode - node (v18.15.0, x64)
Memory used 2,892,193k (± 0.00%) 2,892,201k (± 0.00%) ~ 2,892,103k 2,892,284k p=0.575 n=6
Parse Time 15.91s (± 0.28%) 15.93s (± 0.37%) ~ 15.88s 16.01s p=0.571 n=6
Bind Time 5.05s (± 0.32%) 5.04s (± 0.45%) ~ 5.00s 5.06s p=0.570 n=6
Check Time 86.71s (± 0.26%) 87.23s (± 0.40%) +0.52s (+ 0.60%) 86.83s 87.84s p=0.020 n=6
Emit Time 23.69s (± 0.55%) 23.74s (± 0.56%) ~ 23.54s 23.90s p=0.471 n=6
Total Time 131.36s (± 0.21%) 131.94s (± 0.22%) +0.59s (+ 0.45%) 131.59s 132.43s p=0.008 n=6
webpack - node (v18.15.0, x64)
Memory used 408,333k (± 0.01%) 408,373k (± 0.02%) ~ 408,294k 408,466k p=0.378 n=6
Parse Time 3.90s (± 1.00%) 3.89s (± 0.75%) ~ 3.86s 3.94s p=0.686 n=6
Bind Time 1.67s (± 0.31%) 1.67s (± 0.99%) ~ 1.64s 1.69s p=0.198 n=6
Check Time 16.64s (± 0.20%) 16.69s (± 0.17%) +0.04s (+ 0.26%) 16.64s 16.72s p=0.041 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.22s (± 0.17%) 22.25s (± 0.22%) ~ 22.17s 22.32s p=0.257 n=6
xstate - node (v18.15.0, x64)
Memory used 513,042k (± 0.02%) 513,020k (± 0.01%) ~ 512,912k 513,106k p=0.748 n=6
Parse Time 3.96s (± 0.57%) 3.97s (± 0.50%) ~ 3.95s 4.00s p=0.416 n=6
Bind Time 1.86s (± 0.79%) 1.85s (± 1.12%) ~ 1.83s 1.88s p=0.742 n=6
Check Time 3.38s (± 0.49%) 3.37s (± 0.45%) ~ 3.35s 3.39s p=0.806 n=6
Emit Time 0.09s (± 6.44%) 0.09s (± 5.95%) ~ 0.08s 0.09s p=0.640 n=6
Total Time 9.28s (± 0.38%) 9.29s (± 0.28%) ~ 9.25s 9.32s p=1.000 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - node (v18.15.0, x64)
  • Monaco - node (v18.15.0, x64)
  • TFS - node (v18.15.0, x64)
  • material-ui - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top 400 repos comparing main and refs/pull/57619/merge:

Everything looks good!

@jakebailey
Copy link
Member

Hm, hard to say if that vscode result is just noise or not.

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 26, 2024

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

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@jakebailey
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
Angular - node (v18.15.0, x64)
Memory used 295,483k (± 0.00%) 295,480k (± 0.00%) ~ 295,469k 295,492k p=0.873 n=6
Parse Time 2.66s (± 0.28%) 2.66s (± 0.19%) ~ 2.65s 2.66s p=0.241 n=6
Bind Time 0.83s (± 0.62%) 0.83s (± 0.66%) ~ 0.82s 0.83s p=0.640 n=6
Check Time 8.18s (± 0.35%) 8.19s (± 0.31%) ~ 8.17s 8.23s p=0.506 n=6
Emit Time 7.04s (± 0.23%) 7.04s (± 0.28%) ~ 7.02s 7.07s p=0.870 n=6
Total Time 18.71s (± 0.15%) 18.71s (± 0.13%) ~ 18.68s 18.74s p=0.745 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 193,176k (± 0.95%) 192,495k (± 0.72%) ~ 191,897k 195,323k p=0.873 n=6
Parse Time 1.36s (± 1.29%) 1.35s (± 0.60%) ~ 1.34s 1.36s p=0.740 n=6
Bind Time 0.72s (± 0.57%) 0.72s (± 0.00%) ~ 0.72s 0.72s p=0.405 n=6
Check Time 9.53s (± 0.79%) 9.49s (± 0.63%) ~ 9.39s 9.57s p=0.422 n=6
Emit Time 2.63s (± 0.51%) 2.64s (± 0.52%) ~ 2.62s 2.66s p=0.317 n=6
Total Time 14.23s (± 0.58%) 14.21s (± 0.42%) ~ 14.10s 14.26s p=0.423 n=6
Monaco - node (v18.15.0, x64)
Memory used 347,379k (± 0.01%) 347,371k (± 0.00%) ~ 347,341k 347,391k p=0.936 n=6
Parse Time 2.49s (± 0.51%) 2.49s (± 0.33%) ~ 2.48s 2.50s p=0.546 n=6
Bind Time 0.93s (± 0.44%) 0.93s (± 0.44%) ~ 0.92s 0.93s p=1.000 n=6
Check Time 7.01s (± 0.28%) 7.03s (± 0.48%) ~ 6.97s 7.06s p=0.146 n=6
Emit Time 4.06s (± 0.43%) 4.06s (± 0.25%) ~ 4.04s 4.07s p=1.000 n=6
Total Time 14.48s (± 0.13%) 14.50s (± 0.17%) ~ 14.46s 14.53s p=0.222 n=6
TFS - node (v18.15.0, x64)
Memory used 302,717k (± 0.01%) 302,705k (± 0.02%) ~ 302,647k 302,789k p=0.336 n=6
Parse Time 2.37s (± 1.27%) 2.41s (± 1.21%) +0.04s (+ 1.76%) 2.37s 2.46s p=0.024 n=6
Bind Time 1.20s (± 0.68%) 1.19s (± 0.86%) ~ 1.18s 1.21s p=0.546 n=6
Check Time 7.47s (± 0.43%) 7.46s (± 0.45%) ~ 7.41s 7.50s p=0.520 n=6
Emit Time 4.29s (± 0.46%) 4.30s (± 0.53%) ~ 4.26s 4.32s p=0.570 n=6
Total Time 15.33s (± 0.25%) 15.36s (± 0.24%) ~ 15.31s 15.42s p=0.224 n=6
material-ui - node (v18.15.0, x64)
Memory used 509,891k (± 0.00%) 509,884k (± 0.00%) ~ 509,860k 509,912k p=0.423 n=6
Parse Time 2.65s (± 0.70%) 2.65s (± 0.67%) ~ 2.62s 2.67s p=0.807 n=6
Bind Time 0.99s (± 0.83%) 0.98s (± 1.24%) ~ 0.97s 1.00s p=1.000 n=6
Check Time 17.25s (± 0.43%) 17.26s (± 0.50%) ~ 17.21s 17.43s p=1.000 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.88s (± 0.40%) 20.89s (± 0.38%) ~ 20.83s 21.05s p=0.521 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,737,620k (± 0.00%) 1,737,609k (± 0.00%) ~ 1,737,593k 1,737,631k p=0.298 n=6
Parse Time 7.81s (± 0.50%) 7.79s (± 0.58%) ~ 7.73s 7.85s p=0.629 n=6
Bind Time 2.79s (± 0.29%) 2.81s (± 0.62%) ~ 2.79s 2.84s p=0.121 n=6
Check Time 66.36s (± 0.48%) 66.42s (± 0.34%) ~ 66.15s 66.76s p=0.810 n=6
Emit Time 0.15s (± 3.53%) 0.16s (± 3.29%) ~ 0.15s 0.16s p=0.640 n=6
Total Time 77.12s (± 0.40%) 77.17s (± 0.23%) ~ 76.97s 77.46s p=0.873 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,390,090k (± 0.03%) 2,390,248k (± 0.02%) ~ 2,389,534k 2,390,999k p=0.810 n=6
Parse Time 6.12s (± 1.89%) 6.06s (± 0.97%) ~ 6.01s 6.16s p=0.471 n=6
Bind Time 2.28s (± 1.45%) 2.26s (± 0.81%) ~ 2.24s 2.29s p=0.293 n=6
Check Time 39.29s (± 0.46%) 39.33s (± 0.10%) ~ 39.29s 39.38s p=1.000 n=6
Emit Time 3.17s (± 1.37%) 3.15s (± 1.71%) ~ 3.07s 3.22s p=0.378 n=6
Total Time 50.88s (± 0.51%) 50.82s (± 0.20%) ~ 50.65s 50.96s p=0.471 n=6
self-compiler - node (v18.15.0, x64)
Memory used 414,576k (± 0.01%) 414,652k (± 0.00%) +76k (+ 0.02%) 414,635k 414,657k p=0.005 n=6
Parse Time 4.15s (± 2.40%) 4.21s (± 0.88%) ~ 4.17s 4.27s p=0.335 n=6
Bind Time 1.61s (± 4.37%) 1.60s (± 1.07%) ~ 1.58s 1.62s p=0.684 n=6
Check Time 22.24s (± 0.21%) 22.21s (± 0.44%) ~ 22.08s 22.35s p=0.572 n=6
Emit Time 1.69s (± 1.45%) 1.67s (± 1.12%) ~ 1.65s 1.70s p=0.368 n=6
Total Time 29.69s (± 0.15%) 29.69s (± 0.31%) ~ 29.58s 29.84s p=0.936 n=6
vscode - node (v18.15.0, x64)
Memory used 2,892,326k (± 0.00%) 2,892,388k (± 0.00%) ~ 2,892,274k 2,892,436k p=0.297 n=6
Parse Time 12.84s (± 0.42%) 12.86s (± 0.68%) ~ 12.79s 13.03s p=0.686 n=6
Bind Time 4.10s (± 0.50%) 4.09s (± 0.15%) ~ 4.08s 4.10s p=0.210 n=6
Check Time 71.09s (± 0.41%) 71.12s (± 0.42%) ~ 70.76s 71.65s p=0.689 n=6
Emit Time 19.24s (± 0.71%) 19.22s (± 0.62%) ~ 19.02s 19.35s p=0.748 n=6
Total Time 107.26s (± 0.34%) 107.30s (± 0.41%) ~ 106.87s 108.13s p=0.936 n=6
webpack - node (v18.15.0, x64)
Memory used 408,384k (± 0.02%) 408,411k (± 0.01%) ~ 408,334k 408,463k p=0.471 n=6
Parse Time 4.79s (± 0.39%) 4.82s (± 0.66%) ~ 4.79s 4.88s p=0.145 n=6
Bind Time 2.05s (± 1.84%) 2.04s (± 1.28%) ~ 2.01s 2.08s p=0.809 n=6
Check Time 20.78s (± 0.45%) 20.75s (± 0.38%) ~ 20.65s 20.86s p=0.688 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 27.63s (± 0.25%) 27.62s (± 0.31%) ~ 27.52s 27.77s p=0.747 n=6
xstate - node (v18.15.0, x64)
Memory used 513,123k (± 0.01%) 513,023k (± 0.02%) -100k (- 0.02%) 512,897k 513,105k p=0.045 n=6
Parse Time 3.97s (± 0.85%) 3.96s (± 0.44%) ~ 3.93s 3.98s p=0.469 n=6
Bind Time 1.86s (± 0.74%) 1.86s (± 1.47%) ~ 1.83s 1.90s p=0.806 n=6
Check Time 3.38s (± 0.62%) 3.37s (± 0.74%) ~ 3.34s 3.40s p=0.574 n=6
Emit Time 0.08s (± 6.19%) 0.09s (± 6.44%) ~ 0.08s 0.09s p=0.640 n=6
Total Time 9.30s (± 0.38%) 9.27s (± 0.60%) ~ 9.21s 9.36s p=0.254 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - node (v18.15.0, x64)
  • Monaco - node (v18.15.0, x64)
  • TFS - node (v18.15.0, x64)
  • material-ui - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@jakebailey
Copy link
Member

Retesting with new benchmarks

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 19, 2024

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

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@jakebailey
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
Angular - node (v18.15.0, x64)
Memory used 297,143k (± 0.01%) 297,141k (± 0.01%) ~ 297,115k 297,176k p=0.575 n=6
Parse Time 4.04s (± 0.26%) 4.04s (± 0.41%) ~ 4.02s 4.07s p=0.802 n=6
Bind Time 1.21s (± 1.48%) 1.20s (± 0.34%) ~ 1.19s 1.20s p=0.210 n=6
Check Time 12.14s (± 0.28%) 12.15s (± 0.42%) ~ 12.12s 12.25s p=0.685 n=6
Emit Time 10.51s (± 0.58%) 10.51s (± 0.47%) ~ 10.46s 10.60s p=1.000 n=6
Total Time 27.91s (± 0.32%) 27.90s (± 0.34%) ~ 27.83s 28.09s p=0.688 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 193,565k (± 1.05%) 193,080k (± 0.94%) ~ 191,798k 195,438k p=1.000 n=6
Parse Time 2.02s (± 0.70%) 2.02s (± 1.68%) ~ 1.98s 2.07s p=0.870 n=6
Bind Time 1.06s (± 0.49%) 1.06s (± 1.14%) ~ 1.05s 1.08s p=1.000 n=6
Check Time 14.06s (± 0.17%) 14.08s (± 0.37%) ~ 14.01s 14.14s p=0.627 n=6
Emit Time 3.91s (± 2.56%) 3.88s (± 1.02%) ~ 3.83s 3.93s p=0.872 n=6
Total Time 21.05s (± 0.44%) 21.04s (± 0.11%) ~ 21.01s 21.08s p=0.290 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,752,882k (± 0.00%) 1,752,898k (± 0.00%) ~ 1,752,839k 1,752,949k p=0.521 n=6
Parse Time 6.80s (± 0.20%) 6.83s (± 0.26%) +0.02s (+ 0.34%) 6.80s 6.85s p=0.042 n=6
Bind Time 2.29s (± 0.36%) 2.28s (± 0.66%) ~ 2.27s 2.31s p=0.164 n=6
Check Time 56.72s (± 0.67%) 56.64s (± 0.39%) ~ 56.34s 56.90s p=0.688 n=6
Emit Time 0.14s (± 0.00%) 0.14s (± 0.00%) ~ 0.14s 0.14s p=1.000 n=6
Total Time 65.95s (± 0.57%) 65.89s (± 0.37%) ~ 65.57s 66.19s p=0.936 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,308,629k (± 0.03%) 2,308,700k (± 0.02%) ~ 2,308,077k 2,309,657k p=0.810 n=6
Parse Time 7.44s (± 0.78%) 7.42s (± 0.95%) ~ 7.35s 7.54s p=0.470 n=6
Bind Time 2.74s (± 0.72%) 2.74s (± 0.27%) ~ 2.73s 2.75s p=0.935 n=6
Check Time 49.53s (± 0.87%) 49.27s (± 0.69%) ~ 48.96s 49.89s p=0.298 n=6
Emit Time 3.94s (± 2.50%) 3.89s (± 1.17%) ~ 3.81s 3.94s p=0.298 n=6
Total Time 63.67s (± 0.68%) 63.32s (± 0.60%) ~ 62.87s 63.91s p=0.230 n=6
self-build-src-public-api - node (v18.15.0, x64)
Memory used 2,383,020k (± 0.04%) 2,383,025k (± 0.05%) ~ 2,381,559k 2,384,630k p=0.936 n=6
Parse Time 7.68s (± 0.49%) 7.65s (± 0.56%) ~ 7.60s 7.70s p=0.575 n=6
Bind Time 2.70s (± 2.99%) 2.74s (± 0.91%) ~ 2.70s 2.77s p=0.297 n=6
Check Time 49.51s (± 0.87%) 49.36s (± 0.47%) ~ 49.10s 49.65s p=0.575 n=6
Emit Time 3.90s (± 2.88%) 3.93s (± 2.70%) ~ 3.76s 4.07s p=0.810 n=6
Total Time 63.81s (± 0.70%) 63.70s (± 0.57%) ~ 63.25s 64.15s p=0.689 n=6
self-compiler - node (v18.15.0, x64)
Memory used 419,194k (± 0.01%) 419,310k (± 0.01%) +116k (+ 0.03%) 419,283k 419,356k p=0.005 n=6
Parse Time 3.39s (± 0.85%) 3.35s (± 2.00%) ~ 3.22s 3.41s p=0.170 n=6
Bind Time 1.30s (± 1.05%) 1.32s (± 4.34%) ~ 1.26s 1.43s p=0.681 n=6
Check Time 17.90s (± 0.26%) 17.96s (± 0.30%) ~ 17.90s 18.05s p=0.092 n=6
Emit Time 1.35s (± 1.81%) 1.37s (± 1.70%) ~ 1.34s 1.41s p=0.122 n=6
Total Time 23.95s (± 0.28%) 24.00s (± 0.24%) ~ 23.95s 24.11s p=0.261 n=6
ts-pre-modules - node (v18.15.0, x64)
Memory used 368,964k (± 0.01%) 368,948k (± 0.01%) ~ 368,879k 369,007k p=0.630 n=6
Parse Time 3.64s (± 0.78%) 3.68s (± 1.08%) ~ 3.64s 3.75s p=0.077 n=6
Bind Time 1.93s (± 0.78%) 1.90s (± 1.61%) ~ 1.86s 1.94s p=0.189 n=6
Check Time 19.38s (± 0.20%) 19.40s (± 0.59%) ~ 19.25s 19.51s p=0.422 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 24.94s (± 0.23%) 24.97s (± 0.41%) ~ 24.82s 25.07s p=0.423 n=6
vscode - node (v18.15.0, x64)
Memory used 2,919,564k (± 0.01%) 2,919,685k (± 0.00%) ~ 2,919,575k 2,919,816k p=0.230 n=6
Parse Time 16.53s (± 0.52%) 16.57s (± 0.46%) ~ 16.48s 16.69s p=0.572 n=6
Bind Time 5.03s (± 1.53%) 4.98s (± 0.46%) -0.05s (- 1.09%) 4.95s 5.00s p=0.033 n=6
Check Time 88.06s (± 0.22%) 88.14s (± 0.22%) ~ 87.82s 88.39s p=0.574 n=6
Emit Time 27.11s (± 7.19%) 26.14s (± 7.70%) ~ 23.78s 28.33s p=0.336 n=6
Total Time 136.73s (± 1.39%) 135.83s (± 1.46%) ~ 133.15s 137.90s p=0.298 n=6
webpack - node (v18.15.0, x64)
Memory used 409,586k (± 0.02%) 409,690k (± 0.03%) ~ 409,528k 409,924k p=0.128 n=6
Parse Time 4.84s (± 0.62%) 4.81s (± 0.67%) ~ 4.77s 4.86s p=0.090 n=6
Bind Time 2.02s (± 1.08%) 2.02s (± 0.58%) ~ 2.01s 2.04s p=0.801 n=6
Check Time 21.07s (± 0.31%) 21.06s (± 0.42%) ~ 21.00s 21.23s p=0.575 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 27.93s (± 0.28%) 27.89s (± 0.32%) ~ 27.81s 28.06s p=0.378 n=6
xstate-main - node (v18.15.0, x64)
Memory used 459,058k (± 0.01%) 459,097k (± 0.01%) ~ 459,051k 459,132k p=0.128 n=6
Parse Time 4.00s (± 0.41%) 3.99s (± 0.38%) ~ 3.98s 4.01s p=0.675 n=6
Bind Time 1.46s (± 1.18%) 1.47s (± 0.79%) ~ 1.46s 1.49s p=0.101 n=6
Check Time 22.23s (± 0.56%) 22.28s (± 0.64%) ~ 22.11s 22.47s p=0.630 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 27.68s (± 0.43%) 27.75s (± 0.53%) ~ 27.58s 27.94s p=0.575 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - 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

Developer Information:

Download Benchmarks

@jakebailey
Copy link
Member

@typescript-bot pack this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 19, 2024

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

Command Status Results
pack this ✅ Started ✅ Results

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 19, 2024

Hey @jakebailey, I've packed this into an installable tgz. You can install it for testing by referencing it in your package.json like so:

{
    "devDependencies": {
        "typescript": "https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/161377/artifacts?artifactName=tgz&fileId=B47820E3445EF45C604A52100FADD090601E734DDAAD03702C14216C35A23C0502&fileName=/typescript-5.5.0-insiders.20240419.tgz"
    }
}

and then running npm install.


There is also a playground for this build and an npm module you can use via "typescript": "npm:@typescript-deploys/[email protected]".;

@DanielRosenwasser
Copy link
Member

for

function foo(first: string, ...args: [first: number, second: number]) {
}

are we okay with this behavior?

image

Copy link
Member

@jakebailey jakebailey left a comment

Choose a reason for hiding this comment

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

Also, on second thought, I think that this should actually be first, second, not first, named; after all, the type could be coming from far far away, but the names from the rest are actually what's relavent for the function call...

image

@jakebailey
Copy link
Member

are we okay with this behavior?

I'd say no; now that we have two sources of truth, we should probably try and remember which names we've already used 🙁

@Andarist
Copy link
Contributor Author

are we okay with this behavior?

It's not perfect but it's nothing new (TS playground)

type T0 = [first: string];
type T1 = [first: number, ...T0];
//   ^? type T1 = [first: number, first: string]

I'd prefer to fix this separately. Unless you feel it's crucial for this to land and that if I'd do this work here this PR would move further swiftly~.

Also, on second thought, I think that this should actually be first, second, not first, named; after all, the type could be coming from far far away, but the names from the rest are actually what's relavent for the function call...

I pushed out a commit to PR the local "labels" in those scenarios.

@Andarist Andarist requested a review from jakebailey June 27, 2024 16:41
@jakebailey jakebailey requested a review from rbuckton June 27, 2024 23:19
@rbuckton
Copy link
Contributor

This doesn't cover quite as many cases as #59045, though I found the fourslash tests in this PR very helpful so I've added them into #59045.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Backlog Bug PRs that fix a backlog bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Default rest parameter names to destructuring names when of an anonymous tuple
5 participants