Skip to content

Infer to erased signatures #37261

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
Mar 10, 2020
Merged

Infer to erased signatures #37261

merged 2 commits into from
Mar 10, 2020

Conversation

ahejlsberg
Copy link
Member

Fixes #37163.

@weswigham
Copy link
Member

@typescript-bot run dt
@typescript-bot test this
@typescript-bot user test this
@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 9, 2020

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 9, 2020

Heya @weswigham, I've started to run the extended test suite on this PR at 43ef6b7. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 9, 2020

Heya @weswigham, I've started to run the perf test suite on this PR at 43ef6b7. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 9, 2020

Heya @weswigham, I've started to run the parallelized community code test suite on this PR at 43ef6b7. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

The user suite test run you requested has finished and failed. I've opened a PR with the baseline diff from master.

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - master..37261

Metric master 37261 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 334,503k (± 0.02%) 333,924k (± 0.03%) -579k (- 0.17%) 333,728k 334,151k
Parse Time 1.63s (± 0.45%) 1.63s (± 0.82%) -0.00s (- 0.06%) 1.60s 1.66s
Bind Time 0.90s (± 1.30%) 0.90s (± 0.91%) +0.00s (+ 0.22%) 0.88s 0.91s
Check Time 4.70s (± 0.46%) 4.74s (± 0.42%) +0.04s (+ 0.79%) 4.71s 4.80s
Emit Time 5.34s (± 1.01%) 5.29s (± 0.95%) -0.05s (- 0.96%) 5.16s 5.38s
Total Time 12.56s (± 0.39%) 12.55s (± 0.41%) -0.01s (- 0.11%) 12.44s 12.66s
Monaco - node (v10.16.3, x64)
Memory used 335,307k (± 0.02%) 335,335k (± 0.02%) +28k (+ 0.01%) 335,223k 335,508k
Parse Time 1.26s (± 0.27%) 1.27s (± 0.41%) +0.01s (+ 0.63%) 1.26s 1.28s
Bind Time 0.78s (± 0.63%) 0.78s (± 0.64%) -0.00s (- 0.13%) 0.76s 0.78s
Check Time 4.71s (± 0.62%) 4.73s (± 0.34%) +0.02s (+ 0.45%) 4.70s 4.77s
Emit Time 2.92s (± 0.82%) 2.93s (± 0.92%) +0.01s (+ 0.31%) 2.86s 2.99s
Total Time 9.66s (± 0.48%) 9.70s (± 0.26%) +0.04s (+ 0.40%) 9.64s 9.76s
TFS - node (v10.16.3, x64)
Memory used 299,474k (± 0.02%) 299,462k (± 0.01%) -12k (- 0.00%) 299,382k 299,524k
Parse Time 0.95s (± 0.79%) 0.95s (± 0.61%) -0.01s (- 0.73%) 0.93s 0.96s
Bind Time 0.75s (± 0.60%) 0.74s (± 1.02%) -0.00s (- 0.53%) 0.73s 0.76s
Check Time 4.24s (± 0.36%) 4.25s (± 0.27%) +0.01s (+ 0.14%) 4.23s 4.28s
Emit Time 3.05s (± 0.84%) 3.04s (± 0.69%) -0.00s (- 0.13%) 2.99s 3.10s
Total Time 8.99s (± 0.31%) 8.98s (± 0.30%) -0.01s (- 0.14%) 8.92s 9.05s
material-ui - node (v10.16.3, x64)
Memory used 488,983k (± 0.02%) 488,898k (± 0.01%) -85k (- 0.02%) 488,684k 488,997k
Parse Time 1.78s (± 0.35%) 1.78s (± 0.36%) +0.00s (+ 0.06%) 1.77s 1.80s
Bind Time 0.68s (± 1.11%) 0.68s (± 0.59%) -0.00s (- 0.73%) 0.67s 0.69s
Check Time 13.56s (± 0.58%) 13.55s (± 0.65%) -0.00s (- 0.01%) 13.41s 13.78s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.02s (± 0.50%) 16.02s (± 0.57%) -0.00s (- 0.01%) 15.88s 16.25s
Angular - node (v12.1.0, x64)
Memory used 310,181k (± 0.02%) 309,722k (± 0.02%) -460k (- 0.15%) 309,588k 309,881k
Parse Time 1.59s (± 0.47%) 1.58s (± 0.52%) -0.01s (- 0.44%) 1.56s 1.60s
Bind Time 0.87s (± 1.28%) 0.87s (± 1.11%) +0.00s (+ 0.58%) 0.85s 0.89s
Check Time 4.63s (± 0.51%) 4.62s (± 0.69%) -0.01s (- 0.17%) 4.54s 4.71s
Emit Time 5.45s (± 0.97%) 5.46s (± 0.65%) +0.01s (+ 0.18%) 5.38s 5.57s
Total Time 12.54s (± 0.55%) 12.54s (± 0.45%) -0.00s (- 0.02%) 12.43s 12.65s
Monaco - node (v12.1.0, x64)
Memory used 315,236k (± 0.02%) 315,264k (± 0.02%) +28k (+ 0.01%) 315,126k 315,375k
Parse Time 1.22s (± 0.60%) 1.21s (± 0.64%) -0.01s (- 0.74%) 1.19s 1.23s
Bind Time 0.75s (± 1.02%) 0.74s (± 0.64%) -0.00s (- 0.27%) 0.73s 0.75s
Check Time 4.54s (± 0.43%) 4.55s (± 0.61%) +0.02s (+ 0.35%) 4.49s 4.60s
Emit Time 2.94s (± 0.55%) 2.96s (± 0.59%) +0.01s (+ 0.48%) 2.92s 3.00s
Total Time 9.44s (± 0.34%) 9.46s (± 0.47%) +0.02s (+ 0.21%) 9.38s 9.57s
TFS - node (v12.1.0, x64)
Memory used 281,785k (± 0.02%) 281,814k (± 0.02%) +28k (+ 0.01%) 281,682k 281,902k
Parse Time 0.93s (± 0.53%) 0.93s (± 0.83%) -0.01s (- 0.64%) 0.91s 0.94s
Bind Time 0.71s (± 1.63%) 0.70s (± 1.17%) -0.00s (- 0.42%) 0.69s 0.73s
Check Time 4.18s (± 0.52%) 4.19s (± 0.35%) +0.01s (+ 0.34%) 4.16s 4.21s
Emit Time 3.06s (± 0.62%) 3.08s (± 0.91%) +0.01s (+ 0.42%) 3.02s 3.14s
Total Time 8.88s (± 0.43%) 8.90s (± 0.43%) +0.02s (+ 0.17%) 8.80s 8.98s
material-ui - node (v12.1.0, x64)
Memory used 466,472k (± 0.01%) 466,254k (± 0.04%) -218k (- 0.05%) 465,508k 466,457k
Parse Time 1.76s (± 0.61%) 1.75s (± 0.54%) -0.01s (- 0.40%) 1.73s 1.77s
Bind Time 0.63s (± 1.38%) 0.62s (± 1.07%) -0.01s (- 0.80%) 0.61s 0.64s
Check Time 12.04s (± 0.52%) 12.08s (± 0.97%) +0.04s (+ 0.32%) 11.89s 12.38s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.43s (± 0.46%) 14.46s (± 0.83%) +0.03s (+ 0.20%) 14.28s 14.78s
Angular - node (v8.9.0, x64)
Memory used 329,433k (± 0.02%) 329,010k (± 0.02%) -423k (- 0.13%) 328,825k 329,179k
Parse Time 2.11s (± 0.37%) 2.11s (± 0.63%) +0.00s (+ 0.05%) 2.08s 2.13s
Bind Time 0.92s (± 0.76%) 0.92s (± 0.57%) +0.00s (+ 0.00%) 0.91s 0.93s
Check Time 5.50s (± 0.54%) 5.54s (± 0.82%) +0.04s (+ 0.71%) 5.44s 5.62s
Emit Time 6.21s (± 0.89%) 6.28s (± 1.18%) +0.06s (+ 1.03%) 6.17s 6.49s
Total Time 14.74s (± 0.49%) 14.85s (± 0.69%) +0.10s (+ 0.70%) 14.71s 15.14s
Monaco - node (v8.9.0, x64)
Memory used 333,613k (± 0.01%) 333,619k (± 0.02%) +7k (+ 0.00%) 333,537k 333,759k
Parse Time 1.54s (± 0.72%) 1.55s (± 0.37%) +0.00s (+ 0.13%) 1.54s 1.56s
Bind Time 0.92s (± 1.08%) 0.91s (± 1.00%) -0.01s (- 0.98%) 0.89s 0.93s
Check Time 5.42s (± 0.38%) 5.39s (± 0.40%) -0.03s (- 0.55%) 5.34s 5.44s
Emit Time 3.54s (± 0.56%) 3.54s (± 0.30%) -0.00s (- 0.06%) 3.52s 3.56s
Total Time 11.42s (± 0.17%) 11.39s (± 0.28%) -0.04s (- 0.34%) 11.32s 11.45s
TFS - node (v8.9.0, x64)
Memory used 298,920k (± 0.01%) 298,924k (± 0.02%) +4k (+ 0.00%) 298,825k 299,018k
Parse Time 1.25s (± 0.70%) 1.25s (± 0.18%) -0.00s (- 0.16%) 1.25s 1.26s
Bind Time 0.75s (± 0.89%) 0.74s (± 0.90%) -0.01s (- 1.33%) 0.73s 0.76s
Check Time 4.95s (± 1.98%) 4.84s (± 1.72%) -0.11s (- 2.20%) 4.77s 5.17s
Emit Time 3.25s (± 3.01%) 3.31s (± 2.12%) +0.06s (+ 1.84%) 3.05s 3.41s
Total Time 10.21s (± 0.53%) 10.15s (± 0.35%) -0.06s (- 0.60%) 10.07s 10.22s
material-ui - node (v8.9.0, x64)
Memory used 494,813k (± 0.01%) 494,692k (± 0.01%) -121k (- 0.02%) 494,599k 494,828k
Parse Time 2.11s (± 0.85%) 2.10s (± 0.54%) -0.01s (- 0.38%) 2.07s 2.13s
Bind Time 0.80s (± 1.40%) 0.81s (± 0.99%) +0.01s (+ 0.87%) 0.79s 0.82s
Check Time 19.66s (± 0.98%) 19.55s (± 0.78%) -0.11s (- 0.58%) 19.20s 19.90s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.57s (± 0.94%) 22.45s (± 0.69%) -0.12s (- 0.52%) 22.12s 22.80s
Angular - node (v8.9.0, x86)
Memory used 188,969k (± 0.03%) 188,736k (± 0.02%) -233k (- 0.12%) 188,674k 188,819k
Parse Time 2.06s (± 0.93%) 2.07s (± 0.85%) +0.01s (+ 0.49%) 2.03s 2.10s
Bind Time 1.07s (± 1.11%) 1.07s (± 0.96%) -0.00s (- 0.28%) 1.05s 1.09s
Check Time 5.06s (± 0.50%) 5.04s (± 0.65%) -0.02s (- 0.38%) 4.99s 5.12s
Emit Time 6.16s (± 0.93%) 6.19s (± 1.19%) +0.03s (+ 0.47%) 6.07s 6.38s
Total Time 14.35s (± 0.58%) 14.36s (± 0.69%) +0.01s (+ 0.10%) 14.18s 14.56s
Monaco - node (v8.9.0, x86)
Memory used 189,235k (± 0.02%) 189,278k (± 0.02%) +43k (+ 0.02%) 189,231k 189,381k
Parse Time 1.60s (± 0.36%) 1.59s (± 0.64%) -0.01s (- 0.69%) 1.57s 1.61s
Bind Time 0.76s (± 0.76%) 0.77s (± 1.41%) +0.01s (+ 1.18%) 0.76s 0.81s
Check Time 5.27s (± 1.65%) 5.32s (± 1.80%) +0.05s (+ 1.04%) 5.13s 5.50s
Emit Time 3.10s (± 3.41%) 3.02s (± 3.15%) -0.08s (- 2.48%) 2.85s 3.21s
Total Time 10.72s (± 0.42%) 10.70s (± 0.20%) -0.02s (- 0.21%) 10.64s 10.74s
TFS - node (v8.9.0, x86)
Memory used 170,461k (± 0.02%) 170,470k (± 0.02%) +9k (+ 0.01%) 170,402k 170,535k
Parse Time 1.28s (± 0.97%) 1.28s (± 0.51%) -0.01s (- 0.47%) 1.26s 1.29s
Bind Time 0.71s (± 0.96%) 0.72s (± 1.41%) +0.00s (+ 0.14%) 0.70s 0.75s
Check Time 4.60s (± 0.91%) 4.62s (± 0.72%) +0.01s (+ 0.28%) 4.53s 4.67s
Emit Time 2.96s (± 0.77%) 3.02s (± 3.79%) +0.05s (+ 1.75%) 2.87s 3.45s
Total Time 9.57s (± 0.62%) 9.63s (± 1.34%) +0.06s (+ 0.64%) 9.39s 10.09s
material-ui - node (v8.9.0, x86)
Memory used 277,287k (± 0.01%) 277,169k (± 0.01%) -118k (- 0.04%) 277,108k 277,264k
Parse Time 2.18s (± 0.56%) 2.19s (± 0.74%) +0.01s (+ 0.28%) 2.15s 2.22s
Bind Time 0.68s (± 1.03%) 0.68s (± 1.00%) +0.00s (+ 0.59%) 0.67s 0.70s
Check Time 17.70s (± 0.68%) 17.68s (± 0.85%) -0.02s (- 0.08%) 17.45s 18.07s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 20.56s (± 0.57%) 20.55s (± 0.79%) -0.01s (- 0.03%) 20.34s 20.98s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-166-generic
Architecturex64
Available Memory16 GB
Available Memory1 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v8.9.0, x64)
  • node (v8.9.0, x86)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v8.9.0, x64)
  • Angular - node (v8.9.0, x86)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v8.9.0, x64)
  • Monaco - node (v8.9.0, x86)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v8.9.0, x64)
  • TFS - node (v8.9.0, x86)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v8.9.0, x64)
  • material-ui - node (v8.9.0, x86)
Benchmark Name Iterations
Current 37261 10
Baseline master 10

@weswigham
Copy link
Member

It looks like this introduces a new breaks in vue-next like:

[!] (plugin rpt2) Error: /vue-next/packages/runtime-core/src/apiOptions.ts(137,18): semantic error TS2344: Type 'Function & T[key]["get"]' does not satisfy the constraint '(...args: any) => any'.
  Type 'Function' provides no match for the signature '(...args: any): any'.

but is otherwise clean. Worth looking at?

@ahejlsberg
Copy link
Member Author

@weswigham That looks to be a pre-existing condition. It has that same error in master.

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.

Ah, master hadn't updated with it yet when I'd checked. Alright. Looks good, then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Optional (?) in function signature interferes with inference of completely unrelated type
3 participants