Skip to content

Improve reduction of similar intersections in type inference #51405

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

Merged
merged 2 commits into from
Nov 5, 2022
Merged

Conversation

ahejlsberg
Copy link
Member

Fixes #51399.

@typescript-bot typescript-bot added Author: Team For Milestone Bug PRs that fix a bug with a specific milestone labels Nov 4, 2022
@ahejlsberg
Copy link
Member Author

@typescript-bot test this
@typescript-bot user test this inline
@typescript-bot run dt
@typescript-bot perf test faster
@typescript-bot test top100

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 4, 2022

Heya @ahejlsberg, I've started to run the parallelized Definitely Typed test suite on this PR at 47858b0. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 4, 2022

Heya @ahejlsberg, I've started to run the extended test suite on this PR at 47858b0. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 4, 2022

Heya @ahejlsberg, I've started to run the abridged perf test suite on this PR at 47858b0. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 4, 2022

Heya @ahejlsberg, I've started to run the diff-based user code test suite on this PR at 47858b0. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 4, 2022

Heya @ahejlsberg, I've started to run the diff-based top-repos suite on this PR at 47858b0. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@ahejlsberg Here are the results of running the user test suite comparing main and refs/pull/51405/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - main..51405

Metric main 51405 Delta Best Worst
Angular - node (v16.17.1, x64)
Memory used 353,460k (± 0.01%) 353,397k (± 0.01%) -64k (- 0.02%) 353,283k 353,487k
Parse Time 1.91s (± 0.98%) 1.91s (± 0.70%) 0.00s ( 0.00%) 1.89s 1.96s
Bind Time 0.75s (± 0.82%) 0.75s (± 0.53%) -0.00s (- 0.27%) 0.74s 0.76s
Check Time 5.72s (± 0.49%) 5.70s (± 0.54%) -0.03s (- 0.45%) 5.65s 5.77s
Emit Time 6.15s (± 0.61%) 6.10s (± 0.85%) -0.05s (- 0.86%) 6.02s 6.29s
Total Time 14.54s (± 0.37%) 14.45s (± 0.43%) -0.08s (- 0.58%) 14.39s 14.69s
Compiler-Unions - node (v16.17.1, x64)
Memory used 198,179k (± 0.36%) 198,509k (± 0.49%) +330k (+ 0.17%) 197,798k 201,163k
Parse Time 0.79s (± 0.76%) 0.78s (± 0.46%) -0.00s (- 0.25%) 0.78s 0.79s
Bind Time 0.46s (± 1.21%) 0.45s (± 0.75%) -0.01s (- 1.09%) 0.45s 0.46s
Check Time 6.54s (± 0.94%) 6.51s (± 0.60%) -0.03s (- 0.47%) 6.45s 6.60s
Emit Time 2.29s (± 1.33%) 2.29s (± 1.11%) -0.00s (- 0.04%) 2.23s 2.36s
Total Time 10.08s (± 0.81%) 10.04s (± 0.51%) -0.04s (- 0.39%) 9.94s 10.15s
Monaco - node (v16.17.1, x64)
Memory used 331,351k (± 0.01%) 331,371k (± 0.01%) +20k (+ 0.01%) 331,301k 331,425k
Parse Time 1.44s (± 0.75%) 1.43s (± 0.51%) -0.01s (- 0.62%) 1.42s 1.45s
Bind Time 0.70s (± 0.71%) 0.69s (± 0.80%) -0.00s (- 0.57%) 0.68s 0.70s
Check Time 5.50s (± 0.63%) 5.49s (± 0.66%) -0.02s (- 0.29%) 5.43s 5.61s
Emit Time 3.26s (± 0.43%) 3.26s (± 0.46%) +0.00s (+ 0.06%) 3.23s 3.30s
Total Time 10.90s (± 0.38%) 10.87s (± 0.33%) -0.03s (- 0.24%) 10.83s 10.98s
TFS - node (v16.17.1, x64)
Memory used 294,145k (± 0.01%) 294,145k (± 0.03%) +0k (+ 0.00%) 293,924k 294,228k
Parse Time 1.24s (± 1.56%) 1.23s (± 1.53%) -0.02s (- 1.21%) 1.18s 1.27s
Bind Time 0.64s (± 0.58%) 0.64s (± 0.81%) -0.00s (- 0.62%) 0.63s 0.65s
Check Time 5.15s (± 0.41%) 5.15s (± 0.44%) -0.00s (- 0.08%) 5.11s 5.21s
Emit Time 3.49s (± 0.59%) 3.49s (± 0.89%) +0.00s (+ 0.03%) 3.42s 3.55s
Total Time 10.53s (± 0.44%) 10.51s (± 0.43%) -0.03s (- 0.25%) 10.39s 10.59s
material-ui - node (v16.17.1, x64)
Memory used 439,258k (± 0.01%) 447,157k (± 0.01%) +7,898k (+ 1.80%) 447,080k 447,265k
Parse Time 1.74s (± 1.25%) 1.72s (± 1.47%) -0.02s (- 1.20%) 1.67s 1.76s
Bind Time 0.55s (± 0.68%) 0.54s (± 0.63%) -0.01s (- 1.47%) 0.53s 0.54s
Check Time 12.58s (± 0.69%) 12.64s (± 0.29%) +0.06s (+ 0.45%) 12.58s 12.76s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.87s (± 0.70%) 14.90s (± 0.34%) +0.03s (+ 0.20%) 14.80s 15.03s
xstate - node (v16.17.1, x64)
Memory used 554,948k (± 0.02%) 555,018k (± 0.02%) +70k (+ 0.01%) 554,822k 555,179k
Parse Time 2.32s (± 0.55%) 2.31s (± 0.54%) -0.01s (- 0.56%) 2.28s 2.34s
Bind Time 0.90s (± 1.07%) 0.90s (± 2.43%) +0.00s (+ 0.22%) 0.87s 0.95s
Check Time 1.44s (± 0.70%) 1.42s (± 0.96%) -0.02s (- 1.59%) 1.39s 1.45s
Emit Time 0.07s (± 0.00%) 0.07s (± 4.37%) -0.00s (- 2.86%) 0.06s 0.07s
Total Time 4.73s (± 0.34%) 4.70s (± 0.41%) -0.03s (- 0.57%) 4.66s 4.75s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-126-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • Angular - node (v16.17.1, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Monaco - node (v16.17.1, x64)
  • TFS - node (v16.17.1, x64)
  • material-ui - node (v16.17.1, x64)
  • xstate - node (v16.17.1, x64)
Benchmark Name Iterations
Current 51405 10
Baseline main 10

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

Heya @ahejlsberg, I've run the RWC suite on this PR - assuming you're on the TS core team, you can view the resulting diff here.

@typescript-bot
Copy link
Collaborator

@ahejlsberg Here are the results of running the top-repos suite comparing main and refs/pull/51405/merge:

Everything looks good!

@ahejlsberg
Copy link
Member Author

Tests and performance are all unaffected. I think this one is ready to merge.

@ahejlsberg ahejlsberg merged commit f0216e3 into main Nov 5, 2022
@ahejlsberg ahejlsberg deleted the fix51399 branch November 5, 2022 00:04
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Generic functions combining a conditional type and an intersection are not assignable to themselves
3 participants