Skip to content

Conversation

@Andarist
Copy link
Contributor

Just putting this up for discussion, @weswigham has expressed an interest in this here 😉

@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Jun 14, 2024
@typescript-bot
Copy link
Collaborator

This PR doesn't have any linked issues. Please open an issue that references this PR. From there we can discuss and prioritise.

@typescript-bot
Copy link
Collaborator

Looks like you're introducing a change to the public API surface area. If this includes breaking changes, please document them on our wiki's API Breaking Changes page.

Also, please make sure @DanielRosenwasser and @RyanCavanaugh are aware of the changes, just as a heads up.

Copy link
Member

@weswigham weswigham left a comment

Choose a reason for hiding this comment

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

I'm down for this deprecation (since I proposed it) - @jakebailey ? @ahejlsberg ? @sandersn ? Y'all seem like you'd have the most interest in the tuple element API.

@jakebailey
Copy link
Member

I think it's fine, though the name being "Variable" makes me quite confused.

I would also say that we should drop the prop entirely and then strap it back on with a getter in the deprecation helpers, but that sounds pretty hard to do for Types.

@sandersn
Copy link
Member

though the name being "Variable" makes me quite confused.
The enum is full of so many overlapping concepts that Variable is a pretty good choice. The only change I can think of is 'VariadicOrRest', which isn't really an improvement.

@sandersn sandersn self-assigned this Jun 17, 2024
@sandersn
Copy link
Member

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 17, 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 @sandersn, the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Collaborator

@sandersn Here are the results of running the user tests with tsc comparing main and refs/pull/58864/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

@sandersn
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,338k (± 0.97%) 192,217k (± 0.08%) ~ 192,126k 192,537k p=0.810 n=6
Parse Time 1.30s (± 0.79%) 1.31s (± 0.64%) ~ 1.29s 1.31s p=0.672 n=6
Bind Time 0.72s 0.72s ~ ~ ~ p=1.000 n=6
Check Time 9.44s (± 0.60%) 9.47s (± 0.66%) ~ 9.35s 9.52s p=0.377 n=6
Emit Time 2.74s (± 0.50%) 2.75s (± 0.67%) ~ 2.73s 2.77s p=0.805 n=6
Total Time 14.20s (± 0.40%) 14.24s (± 0.48%) ~ 14.12s 14.32s p=0.173 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 944,104 944,104 ~ ~ ~ p=1.000 n=6
Types 407,044 407,044 ~ ~ ~ p=1.000 n=6
Memory used 1,218,327k (± 0.01%) 1,218,348k (± 0.00%) ~ 1,218,292k 1,218,443k p=1.000 n=6
Parse Time 6.66s (± 0.65%) 6.66s (± 0.48%) ~ 6.63s 6.71s p=0.871 n=6
Bind Time 1.88s (± 0.62%) 1.87s (± 0.71%) ~ 1.85s 1.88s p=0.209 n=6
Check Time 30.69s (± 0.46%) 30.68s (± 0.14%) ~ 30.64s 30.76s p=1.000 n=6
Emit Time 13.65s (± 0.33%) 13.67s (± 0.32%) ~ 13.60s 13.71s p=0.422 n=6
Total Time 52.87s (± 0.31%) 52.89s (± 0.09%) ~ 52.83s 52.95s p=0.936 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,132,326 2,132,326 ~ ~ ~ p=1.000 n=6
Types 926,744 926,744 ~ ~ ~ p=1.000 n=6
Memory used 2,115,189k (± 0.01%) 2,115,203k (± 0.00%) ~ 2,115,133k 2,115,347k p=0.298 n=6
Parse Time 6.61s (± 0.23%) 6.62s (± 0.11%) ~ 6.61s 6.63s p=0.120 n=6
Bind Time 2.33s (± 0.47%) 2.34s (± 0.35%) +0.01s (+ 0.57%) 2.34s 2.36s p=0.024 n=6
Check Time 71.15s (± 0.39%) 70.70s (± 1.38%) ~ 68.82s 71.42s p=0.630 n=6
Emit Time 0.13s (± 3.10%) 0.14s (± 4.05%) ~ 0.13s 0.14s p=0.282 n=6
Total Time 80.22s (± 0.36%) 79.80s (± 1.21%) ~ 77.94s 80.53s p=0.689 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,230,955 1,230,955 ~ ~ ~ p=1.000 n=6
Types 261,256 261,256 ~ ~ ~ p=1.000 n=6
Memory used 2,345,465k (± 0.03%) 2,345,203k (± 0.06%) ~ 2,343,412k 2,346,894k p=1.000 n=6
Parse Time 4.99s (± 1.00%) 4.95s (± 0.46%) ~ 4.93s 4.99s p=0.092 n=6
Bind Time 1.89s (± 0.64%) 1.89s (± 0.78%) ~ 1.87s 1.91s p=0.564 n=6
Check Time 33.92s (± 0.22%) 33.87s (± 0.32%) ~ 33.67s 33.99s p=0.468 n=6
Emit Time 2.70s (± 3.22%) 2.73s (± 5.04%) ~ 2.58s 2.97s p=0.810 n=6
Total Time 43.53s (± 0.34%) 43.46s (± 0.45%) ~ 43.19s 43.75s p=0.575 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,230,955 1,230,955 ~ ~ ~ p=1.000 n=6
Types 261,256 261,256 ~ ~ ~ p=1.000 n=6
Memory used 2,423,261k (± 0.04%) 2,422,646k (± 0.05%) ~ 2,420,853k 2,424,055k p=0.575 n=6
Parse Time 7.69s (± 0.68%) 7.74s (± 1.36%) ~ 7.59s 7.85s p=0.520 n=6
Bind Time 2.50s (± 0.60%) 2.50s (± 0.78%) ~ 2.48s 2.53s p=1.000 n=6
Check Time 49.78s (± 0.33%) 49.76s (± 0.22%) ~ 49.65s 49.90s p=1.000 n=6
Emit Time 3.88s (± 3.48%) 3.90s (± 3.57%) ~ 3.77s 4.13s p=0.936 n=6
Total Time 63.85s (± 0.23%) 63.91s (± 0.46%) ~ 63.49s 64.24s p=0.936 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 258,666 258,666 ~ ~ ~ p=1.000 n=6
Types 104,900 104,900 ~ ~ ~ p=1.000 n=6
Memory used 428,270k (± 0.00%) 428,261k (± 0.01%) ~ 428,226k 428,293k p=0.471 n=6
Parse Time 3.31s (± 0.76%) 3.31s (± 0.96%) ~ 3.27s 3.36s p=1.000 n=6
Bind Time 1.30s (± 1.29%) 1.31s (± 1.04%) ~ 1.29s 1.33s p=0.314 n=6
Check Time 17.85s (± 0.51%) 17.87s (± 0.22%) ~ 17.81s 17.91s p=0.574 n=6
Emit Time 1.38s (± 2.79%) 1.36s (± 1.01%) ~ 1.34s 1.38s p=0.517 n=6
Total Time 23.83s (± 0.51%) 23.85s (± 0.22%) ~ 23.80s 23.92s p=0.810 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,401k (± 0.02%) 369,434k (± 0.02%) ~ 369,346k 369,577k p=0.471 n=6
Parse Time 2.77s (± 0.87%) 2.77s (± 0.65%) ~ 2.75s 2.79s p=0.801 n=6
Bind Time 1.59s (± 0.73%) 1.60s (± 1.28%) ~ 1.59s 1.64s p=0.655 n=6
Check Time 15.47s (± 0.32%) 15.52s (± 0.29%) ~ 15.47s 15.58s p=0.199 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 19.84s (± 0.23%) 19.90s (± 0.29%) ~ 19.81s 19.96s p=0.106 n=6
vscode - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,861,122 2,861,122 ~ ~ ~ p=1.000 n=6
Types 969,800 969,800 ~ ~ ~ p=1.000 n=6
Memory used 3,025,332k (± 0.00%) 3,025,367k (± 0.00%) ~ 3,025,325k 3,025,409k p=0.093 n=6
Parse Time 16.64s (± 0.35%) 16.64s (± 0.38%) ~ 16.58s 16.74s p=0.936 n=6
Bind Time 5.01s (± 0.44%) 5.01s (± 0.24%) ~ 5.00s 5.03s p=1.000 n=6
Check Time 88.28s (± 1.41%) 89.10s (± 2.30%) ~ 87.77s 93.21s p=0.173 n=6
Emit Time 28.61s (± 4.19%) 28.03s (± 6.51%) ~ 24.45s 29.10s p=0.336 n=6
Total Time 138.54s (± 0.31%) 138.79s (± 0.26%) ~ 138.41s 139.24s p=0.298 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 266,914 266,914 ~ ~ ~ p=1.000 n=6
Types 108,685 108,685 ~ ~ ~ p=1.000 n=6
Memory used 411,285k (± 0.02%) 411,274k (± 0.02%) ~ 411,204k 411,418k p=0.575 n=6
Parse Time 3.81s (± 0.32%) 3.81s (± 0.40%) ~ 3.78s 3.82s p=0.934 n=6
Bind Time 1.68s (± 1.02%) 1.69s (± 0.79%) ~ 1.67s 1.71s p=0.410 n=6
Check Time 16.79s (± 0.31%) 16.82s (± 0.32%) ~ 16.77s 16.92s p=0.470 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.28s (± 0.18%) 22.32s (± 0.24%) ~ 22.25s 22.39s p=0.336 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 523,429 523,429 ~ ~ ~ p=1.000 n=6
Types 177,955 177,955 ~ ~ ~ p=1.000 n=6
Memory used 461,629k (± 0.08%) 461,746k (± 0.07%) ~ 461,101k 461,941k p=0.298 n=6
Parse Time 3.17s (± 0.61%) 3.15s (± 0.75%) ~ 3.12s 3.19s p=0.089 n=6
Bind Time 1.19s 1.19s (± 0.34%) ~ 1.19s 1.20s p=0.405 n=6
Check Time 18.17s (± 0.22%) 18.13s (± 0.49%) ~ 18.01s 18.22s p=0.685 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.53s (± 0.16%) 22.46s (± 0.46%) ~ 22.34s 22.58s p=0.335 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

Developer Information:

Download Benchmarks

@typescript-bot
Copy link
Collaborator

@sandersn Here are the results of running the top 400 repos with tsc comparing main and refs/pull/58864/merge:

Everything looks good!

@sandersn
Copy link
Member

The only perf test diff is in the binder for mui-docs, which seems unrelated.

@sandersn sandersn merged commit 7410cfd into microsoft:main Jun 17, 2024
@sandersn sandersn removed this from PR Backlog Apr 22, 2025
@microsoft microsoft locked as resolved and limited conversation to collaborators Oct 16, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

For Uncommitted Bug PR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants