Skip to content

Make substitution types even if the substitution base isnt a type variable #37348

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 3 commits into from
Mar 13, 2020

Conversation

weswigham
Copy link
Member

Fixes #36135

@weswigham
Copy link
Member Author

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 11, 2020

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 11, 2020

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 11, 2020

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 11, 2020

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

Update: The results are in!

@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..37348

Metric master 37348 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 328,657k (± 0.02%) 328,053k (± 0.05%) -604k (- 0.18%) 327,501k 328,344k
Parse Time 1.64s (± 0.44%) 1.63s (± 0.56%) -0.01s (- 0.43%) 1.61s 1.65s
Bind Time 0.90s (± 0.91%) 0.90s (± 1.13%) -0.00s (- 0.22%) 0.87s 0.91s
Check Time 4.72s (± 0.65%) 4.74s (± 0.55%) +0.02s (+ 0.42%) 4.69s 4.81s
Emit Time 5.31s (± 0.75%) 5.29s (± 0.91%) -0.03s (- 0.49%) 5.22s 5.41s
Total Time 12.56s (± 0.51%) 12.55s (± 0.60%) -0.01s (- 0.10%) 12.42s 12.74s
Monaco - node (v10.16.3, x64)
Memory used 328,597k (± 0.01%) 328,633k (± 0.01%) +35k (+ 0.01%) 328,521k 328,689k
Parse Time 1.27s (± 0.58%) 1.26s (± 0.69%) -0.01s (- 0.63%) 1.25s 1.28s
Bind Time 0.78s (± 0.44%) 0.78s (± 0.48%) -0.00s (- 0.26%) 0.77s 0.78s
Check Time 4.71s (± 0.31%) 4.72s (± 0.51%) +0.02s (+ 0.38%) 4.67s 4.77s
Emit Time 2.92s (± 0.88%) 2.94s (± 1.82%) +0.02s (+ 0.58%) 2.85s 3.12s
Total Time 9.68s (± 0.34%) 9.70s (± 0.69%) +0.02s (+ 0.26%) 9.56s 9.88s
TFS - node (v10.16.3, x64)
Memory used 293,061k (± 0.02%) 292,987k (± 0.02%) -74k (- 0.03%) 292,852k 293,065k
Parse Time 0.96s (± 0.85%) 0.95s (± 0.47%) -0.01s (- 0.52%) 0.94s 0.96s
Bind Time 0.75s (± 1.08%) 0.75s (± 0.78%) -0.00s (- 0.40%) 0.74s 0.76s
Check Time 4.24s (± 0.64%) 4.24s (± 0.62%) -0.00s (- 0.00%) 4.19s 4.30s
Emit Time 3.06s (± 0.79%) 3.04s (± 0.75%) -0.02s (- 0.69%) 2.97s 3.08s
Total Time 9.01s (± 0.50%) 8.98s (± 0.50%) -0.03s (- 0.32%) 8.85s 9.07s
material-ui - node (v10.16.3, x64)
Memory used 488,337k (± 0.02%) 488,070k (± 0.02%) -267k (- 0.05%) 487,792k 488,246k
Parse Time 1.79s (± 0.84%) 1.78s (± 0.28%) -0.00s (- 0.11%) 1.77s 1.79s
Bind Time 0.68s (± 1.30%) 0.69s (± 0.75%) +0.01s (+ 0.73%) 0.68s 0.70s
Check Time 13.55s (± 0.94%) 13.65s (± 0.89%) +0.10s (+ 0.72%) 13.38s 13.93s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.02s (± 0.85%) 16.12s (± 0.77%) +0.10s (+ 0.63%) 15.86s 16.40s
Angular - node (v12.1.0, x64)
Memory used 304,130k (± 0.11%) 303,885k (± 0.02%) -245k (- 0.08%) 303,752k 304,092k
Parse Time 1.59s (± 0.47%) 1.58s (± 0.66%) -0.01s (- 0.57%) 1.55s 1.60s
Bind Time 0.87s (± 0.77%) 0.87s (± 0.76%) -0.00s (- 0.34%) 0.86s 0.89s
Check Time 4.65s (± 0.86%) 4.59s (± 0.26%) -0.06s (- 1.25%) 4.57s 4.62s
Emit Time 5.56s (± 1.59%) 5.41s (± 0.58%) -0.15s (- 2.77%) 5.34s 5.48s
Total Time 12.67s (± 0.93%) 12.45s (± 0.37%) -0.22s (- 1.75%) 12.36s 12.54s
Monaco - node (v12.1.0, x64)
Memory used 308,592k (± 0.02%) 308,544k (± 0.02%) -48k (- 0.02%) 308,360k 308,698k
Parse Time 1.22s (± 0.43%) 1.22s (± 0.51%) -0.00s (- 0.16%) 1.21s 1.23s
Bind Time 0.75s (± 0.80%) 0.74s (± 1.05%) -0.01s (- 0.67%) 0.73s 0.76s
Check Time 4.55s (± 0.38%) 4.52s (± 0.31%) -0.03s (- 0.62%) 4.49s 4.55s
Emit Time 2.95s (± 0.58%) 2.96s (± 0.71%) +0.01s (+ 0.20%) 2.90s 3.00s
Total Time 9.47s (± 0.26%) 9.44s (± 0.34%) -0.03s (- 0.30%) 9.38s 9.53s
TFS - node (v12.1.0, x64)
Memory used 275,314k (± 0.02%) 275,296k (± 0.02%) -18k (- 0.01%) 275,178k 275,399k
Parse Time 0.94s (± 0.71%) 0.94s (± 0.53%) -0.01s (- 0.74%) 0.92s 0.94s
Bind Time 0.70s (± 0.70%) 0.71s (± 1.17%) +0.00s (+ 0.28%) 0.69s 0.73s
Check Time 4.16s (± 0.60%) 4.14s (± 0.70%) -0.02s (- 0.55%) 4.06s 4.20s
Emit Time 3.07s (± 0.71%) 3.09s (± 1.06%) +0.02s (+ 0.68%) 3.02s 3.18s
Total Time 8.88s (± 0.51%) 8.87s (± 0.35%) -0.01s (- 0.11%) 8.80s 8.93s
material-ui - node (v12.1.0, x64)
Memory used 465,702k (± 0.02%) 465,541k (± 0.01%) -161k (- 0.03%) 465,457k 465,647k
Parse Time 1.77s (± 0.46%) 1.76s (± 0.39%) -0.02s (- 0.96%) 1.74s 1.77s
Bind Time 0.63s (± 0.83%) 0.63s (± 0.76%) -0.00s (- 0.32%) 0.62s 0.64s
Check Time 12.19s (± 0.80%) 12.06s (± 0.90%) -0.13s (- 1.03%) 11.87s 12.40s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.59s (± 0.67%) 14.45s (± 0.77%) -0.14s (- 0.99%) 14.26s 14.79s
Angular - node (v8.9.0, x64)
Memory used 323,726k (± 0.02%) 323,217k (± 0.02%) -509k (- 0.16%) 323,089k 323,331k
Parse Time 2.11s (± 0.39%) 2.09s (± 0.33%) -0.02s (- 0.95%) 2.08s 2.11s
Bind Time 0.93s (± 1.14%) 0.92s (± 0.89%) -0.01s (- 1.08%) 0.90s 0.94s
Check Time 5.46s (± 0.56%) 5.45s (± 0.96%) -0.02s (- 0.29%) 5.28s 5.55s
Emit Time 6.23s (± 0.70%) 6.27s (± 1.15%) +0.04s (+ 0.58%) 6.15s 6.52s
Total Time 14.74s (± 0.39%) 14.73s (± 0.47%) -0.01s (- 0.09%) 14.58s 14.85s
Monaco - node (v8.9.0, x64)
Memory used 326,942k (± 0.02%) 326,896k (± 0.01%) -46k (- 0.01%) 326,823k 326,985k
Parse Time 1.54s (± 0.43%) 1.54s (± 0.49%) +0.00s (+ 0.06%) 1.52s 1.56s
Bind Time 0.92s (± 1.63%) 0.91s (± 1.08%) -0.01s (- 0.76%) 0.89s 0.93s
Check Time 5.33s (± 0.69%) 5.31s (± 0.69%) -0.01s (- 0.26%) 5.22s 5.40s
Emit Time 3.49s (± 0.87%) 3.50s (± 0.55%) +0.01s (+ 0.20%) 3.45s 3.55s
Total Time 11.28s (± 0.43%) 11.27s (± 0.40%) -0.01s (- 0.11%) 11.17s 11.37s
TFS - node (v8.9.0, x64)
Memory used 292,474k (± 0.02%) 292,455k (± 0.02%) -19k (- 0.01%) 292,254k 292,624k
Parse Time 1.26s (± 0.38%) 1.26s (± 1.15%) +0.00s (+ 0.24%) 1.23s 1.31s
Bind Time 0.75s (± 0.69%) 0.75s (± 0.97%) +0.00s (+ 0.13%) 0.74s 0.77s
Check Time 4.81s (± 0.78%) 4.81s (± 0.52%) -0.01s (- 0.15%) 4.77s 4.88s
Emit Time 3.32s (± 1.82%) 3.30s (± 1.41%) -0.02s (- 0.66%) 3.18s 3.38s
Total Time 10.14s (± 0.66%) 10.12s (± 0.69%) -0.03s (- 0.26%) 9.98s 10.30s
material-ui - node (v8.9.0, x64)
Memory used 494,106k (± 0.01%) 493,836k (± 0.01%) -270k (- 0.05%) 493,750k 493,909k
Parse Time 2.11s (± 0.50%) 2.10s (± 0.55%) -0.00s (- 0.14%) 2.08s 2.14s
Bind Time 0.81s (± 0.69%) 0.81s (± 1.24%) -0.00s (- 0.12%) 0.79s 0.83s
Check Time 19.40s (± 0.75%) 19.50s (± 0.79%) +0.10s (+ 0.51%) 19.11s 19.79s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.32s (± 0.66%) 22.41s (± 0.71%) +0.09s (+ 0.43%) 22.00s 22.73s
Angular - node (v8.9.0, x86)
Memory used 186,098k (± 0.03%) 185,858k (± 0.02%) -240k (- 0.13%) 185,790k 185,920k
Parse Time 2.06s (± 0.57%) 2.06s (± 0.87%) -0.00s (- 0.05%) 2.02s 2.10s
Bind Time 1.08s (± 0.62%) 1.08s (± 0.63%) -0.01s (- 0.65%) 1.06s 1.09s
Check Time 5.00s (± 0.51%) 5.00s (± 0.70%) -0.00s (- 0.02%) 4.89s 5.04s
Emit Time 6.10s (± 1.45%) 6.03s (± 0.65%) -0.08s (- 1.28%) 5.95s 6.12s
Total Time 14.25s (± 0.66%) 14.16s (± 0.53%) -0.09s (- 0.60%) 13.97s 14.33s
Monaco - node (v8.9.0, x86)
Memory used 185,905k (± 0.01%) 185,889k (± 0.02%) -16k (- 0.01%) 185,800k 185,976k
Parse Time 1.60s (± 0.73%) 1.60s (± 0.63%) -0.00s (- 0.25%) 1.58s 1.62s
Bind Time 0.77s (± 0.29%) 0.77s (± 0.95%) -0.00s (- 0.39%) 0.76s 0.79s
Check Time 5.40s (± 0.56%) 5.40s (± 0.62%) -0.01s (- 0.11%) 5.34s 5.49s
Emit Time 2.90s (± 1.16%) 2.87s (± 1.25%) -0.03s (- 1.00%) 2.83s 2.98s
Total Time 10.68s (± 0.40%) 10.64s (± 0.50%) -0.04s (- 0.37%) 10.54s 10.77s
TFS - node (v8.9.0, x86)
Memory used 167,236k (± 0.03%) 167,258k (± 0.02%) +22k (+ 0.01%) 167,160k 167,349k
Parse Time 1.28s (± 0.69%) 1.28s (± 0.69%) -0.00s (- 0.31%) 1.26s 1.30s
Bind Time 0.72s (± 0.72%) 0.72s (± 1.06%) -0.00s (- 0.42%) 0.70s 0.73s
Check Time 4.59s (± 0.58%) 4.59s (± 0.58%) 0.00s ( 0.00%) 4.51s 4.63s
Emit Time 2.96s (± 1.39%) 2.94s (± 1.32%) -0.02s (- 0.61%) 2.87s 3.03s
Total Time 9.56s (± 0.62%) 9.54s (± 0.68%) -0.02s (- 0.21%) 9.37s 9.66s
material-ui - node (v8.9.0, x86)
Memory used 276,919k (± 0.02%) 276,755k (± 0.01%) -164k (- 0.06%) 276,698k 276,808k
Parse Time 2.18s (± 0.61%) 2.18s (± 0.61%) -0.01s (- 0.32%) 2.15s 2.21s
Bind Time 0.68s (± 1.03%) 0.68s (± 0.66%) -0.00s (- 0.15%) 0.67s 0.69s
Check Time 17.65s (± 0.83%) 17.63s (± 0.70%) -0.02s (- 0.14%) 17.37s 17.92s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 20.52s (± 0.74%) 20.48s (± 0.58%) -0.03s (- 0.17%) 20.22s 20.76s
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 37348 10
Baseline master 10

@weswigham
Copy link
Member Author

Tests and benches looked good; updates the fix to be broader, rerunning tests:

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 11, 2020

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 11, 2020

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 11, 2020

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 11, 2020

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

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - master..37348

Metric master 37348 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 328,779k (± 0.03%) 327,149k (± 0.04%) -1,629k (- 0.50%) 326,732k 327,404k
Parse Time 1.64s (± 0.51%) 1.63s (± 0.51%) -0.00s (- 0.12%) 1.62s 1.66s
Bind Time 0.90s (± 0.69%) 0.89s (± 0.53%) -0.01s (- 1.00%) 0.88s 0.90s
Check Time 4.75s (± 0.58%) 4.75s (± 0.29%) -0.00s (- 0.02%) 4.72s 4.79s
Emit Time 5.31s (± 0.88%) 5.32s (± 0.68%) +0.01s (+ 0.17%) 5.25s 5.42s
Total Time 12.60s (± 0.62%) 12.60s (± 0.35%) -0.00s (- 0.02%) 12.52s 12.69s
Monaco - node (v10.16.3, x64)
Memory used 328,594k (± 0.02%) 327,676k (± 0.01%) -919k (- 0.28%) 327,591k 327,759k
Parse Time 1.26s (± 0.74%) 1.26s (± 0.70%) -0.00s (- 0.16%) 1.24s 1.28s
Bind Time 0.78s (± 0.61%) 0.78s (± 0.48%) -0.00s (- 0.26%) 0.77s 0.78s
Check Time 4.72s (± 0.28%) 4.75s (± 0.48%) +0.02s (+ 0.53%) 4.71s 4.81s
Emit Time 2.93s (± 0.51%) 2.91s (± 0.51%) -0.02s (- 0.72%) 2.88s 2.93s
Total Time 9.69s (± 0.29%) 9.69s (± 0.38%) -0.00s (- 0.01%) 9.61s 9.78s
TFS - node (v10.16.3, x64)
Memory used 293,050k (± 0.01%) 291,980k (± 0.02%) -1,069k (- 0.36%) 291,871k 292,175k
Parse Time 0.95s (± 0.65%) 0.95s (± 0.82%) -0.00s (- 0.21%) 0.94s 0.97s
Bind Time 0.75s (± 0.69%) 0.74s (± 0.92%) -0.01s (- 0.80%) 0.73s 0.76s
Check Time 4.25s (± 0.50%) 4.29s (± 0.45%) +0.04s (+ 0.99%) 4.25s 4.34s
Emit Time 3.02s (± 1.22%) 3.04s (± 0.63%) +0.02s (+ 0.50%) 2.98s 3.07s
Total Time 8.98s (± 0.49%) 9.03s (± 0.37%) +0.05s (+ 0.60%) 8.93s 9.10s
material-ui - node (v10.16.3, x64)
Memory used 488,340k (± 0.02%) 453,416k (± 0.01%) 🟩-34,924k (- 7.15%) 453,340k 453,489k
Parse Time 1.79s (± 0.43%) 1.78s (± 0.46%) -0.01s (- 0.34%) 1.76s 1.80s
Bind Time 0.68s (± 1.17%) 0.68s (± 1.27%) -0.00s (- 0.00%) 0.65s 0.69s
Check Time 13.64s (± 0.90%) 13.63s (± 0.39%) -0.02s (- 0.12%) 13.52s 13.74s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.12s (± 0.78%) 16.09s (± 0.37%) -0.02s (- 0.15%) 15.97s 16.21s
Angular - node (v12.1.0, x64)
Memory used 304,332k (± 0.08%) 302,873k (± 0.05%) -1,460k (- 0.48%) 302,317k 303,196k
Parse Time 1.59s (± 0.69%) 1.58s (± 0.46%) -0.01s (- 0.50%) 1.57s 1.60s
Bind Time 0.87s (± 0.80%) 0.89s (± 1.68%) +0.01s (+ 1.72%) 0.87s 0.94s
Check Time 4.63s (± 0.21%) 4.64s (± 0.57%) +0.02s (+ 0.39%) 4.59s 4.71s
Emit Time 5.48s (± 1.08%) 5.47s (± 0.73%) -0.01s (- 0.18%) 5.40s 5.56s
Total Time 12.57s (± 0.48%) 12.58s (± 0.46%) +0.01s (+ 0.10%) 12.48s 12.72s
Monaco - node (v12.1.0, x64)
Memory used 308,563k (± 0.02%) 307,579k (± 0.02%) -984k (- 0.32%) 307,475k 307,766k
Parse Time 1.22s (± 0.62%) 1.22s (± 0.64%) +0.01s (+ 0.41%) 1.20s 1.23s
Bind Time 0.75s (± 0.64%) 0.75s (± 0.67%) -0.00s (- 0.27%) 0.73s 0.75s
Check Time 4.54s (± 0.29%) 4.58s (± 0.39%) +0.04s (+ 0.77%) 4.55s 4.63s
Emit Time 2.96s (± 0.72%) 2.98s (± 0.71%) +0.02s (+ 0.71%) 2.91s 3.02s
Total Time 9.46s (± 0.30%) 9.52s (± 0.25%) +0.06s (+ 0.66%) 9.46s 9.57s
TFS - node (v12.1.0, x64)
Memory used 275,335k (± 0.01%) 274,238k (± 0.03%) -1,097k (- 0.40%) 274,038k 274,387k
Parse Time 0.94s (± 0.51%) 0.94s (± 0.85%) +0.01s (+ 0.53%) 0.92s 0.96s
Bind Time 0.71s (± 0.91%) 0.71s (± 1.62%) +0.00s (+ 0.28%) 0.69s 0.75s
Check Time 4.18s (± 0.44%) 4.20s (± 0.39%) +0.03s (+ 0.65%) 4.16s 4.24s
Emit Time 3.07s (± 0.70%) 3.08s (± 0.47%) +0.00s (+ 0.07%) 3.04s 3.11s
Total Time 8.90s (± 0.41%) 8.93s (± 0.33%) +0.03s (+ 0.39%) 8.89s 9.03s
material-ui - node (v12.1.0, x64)
Memory used 465,770k (± 0.01%) 430,793k (± 0.02%) 🟩-34,977k (- 7.51%) 430,624k 430,900k
Parse Time 1.76s (± 0.61%) 1.77s (± 0.63%) +0.01s (+ 0.34%) 1.75s 1.80s
Bind Time 0.63s (± 1.11%) 0.63s (± 0.71%) +0.00s (+ 0.16%) 0.62s 0.64s
Check Time 12.12s (± 0.57%) 12.12s (± 0.76%) +0.00s (+ 0.02%) 11.87s 12.29s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.51s (± 0.52%) 14.51s (± 0.66%) +0.00s (+ 0.03%) 14.26s 14.67s
Angular - node (v8.9.0, x64)
Memory used 323,769k (± 0.02%) 322,168k (± 0.01%) -1,601k (- 0.49%) 322,107k 322,251k
Parse Time 2.10s (± 0.59%) 2.11s (± 0.56%) +0.00s (+ 0.19%) 2.08s 2.13s
Bind Time 0.92s (± 0.82%) 0.92s (± 1.35%) +0.00s (+ 0.00%) 0.91s 0.97s
Check Time 5.45s (± 0.41%) 5.51s (± 0.61%) +0.06s (+ 1.01%) 5.43s 5.57s
Emit Time 6.23s (± 1.35%) 6.20s (± 0.59%) -0.04s (- 0.59%) 6.13s 6.29s
Total Time 14.71s (± 0.67%) 14.73s (± 0.35%) +0.02s (+ 0.14%) 14.62s 14.84s
Monaco - node (v8.9.0, x64)
Memory used 326,853k (± 0.01%) 325,898k (± 0.01%) -955k (- 0.29%) 325,816k 325,995k
Parse Time 1.54s (± 0.42%) 1.55s (± 0.64%) +0.01s (+ 0.52%) 1.53s 1.57s
Bind Time 0.91s (± 1.27%) 0.92s (± 0.91%) +0.00s (+ 0.11%) 0.90s 0.93s
Check Time 5.35s (± 0.70%) 5.37s (± 0.46%) +0.02s (+ 0.32%) 5.30s 5.42s
Emit Time 3.51s (± 0.81%) 3.49s (± 0.30%) -0.01s (- 0.43%) 3.46s 3.51s
Total Time 11.32s (± 0.56%) 11.32s (± 0.32%) +0.01s (+ 0.08%) 11.22s 11.41s
TFS - node (v8.9.0, x64)
Memory used 292,487k (± 0.01%) 291,261k (± 0.01%) -1,226k (- 0.42%) 291,185k 291,362k
Parse Time 1.25s (± 0.42%) 1.25s (± 0.80%) +0.00s (+ 0.32%) 1.24s 1.29s
Bind Time 0.75s (± 0.74%) 0.75s (± 1.15%) 0.00s ( 0.00%) 0.73s 0.77s
Check Time 4.85s (± 1.44%) 4.91s (± 1.52%) +0.05s (+ 1.09%) 4.81s 5.11s
Emit Time 3.30s (± 1.90%) 3.31s (± 2.53%) +0.01s (+ 0.18%) 3.08s 3.42s
Total Time 10.16s (± 0.59%) 10.22s (± 0.40%) +0.06s (+ 0.61%) 10.14s 10.30s
material-ui - node (v8.9.0, x64)
Memory used 494,111k (± 0.01%) 455,783k (± 0.01%) 🟩-38,328k (- 7.76%) 455,683k 455,867k
Parse Time 2.11s (± 0.56%) 2.11s (± 0.56%) -0.00s (- 0.14%) 2.08s 2.14s
Bind Time 0.82s (± 0.84%) 0.82s (± 1.30%) +0.00s (+ 0.12%) 0.79s 0.84s
Check Time 19.44s (± 0.39%) 17.56s (± 0.67%) 🟩-1.88s (- 9.66%) 17.29s 17.84s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.36s (± 0.37%) 20.48s (± 0.58%) 🟩-1.88s (- 8.40%) 20.23s 20.77s
Angular - node (v8.9.0, x86)
Memory used 186,153k (± 0.03%) 185,330k (± 0.05%) -824k (- 0.44%) 185,138k 185,534k
Parse Time 2.05s (± 0.38%) 2.06s (± 0.87%) +0.01s (+ 0.63%) 2.02s 2.10s
Bind Time 1.08s (± 0.62%) 1.07s (± 0.68%) -0.01s (- 0.74%) 1.06s 1.09s
Check Time 4.99s (± 0.55%) 5.01s (± 0.75%) +0.02s (+ 0.32%) 4.93s 5.09s
Emit Time 6.05s (± 0.94%) 6.02s (± 0.56%) -0.03s (- 0.48%) 5.95s 6.12s
Total Time 14.18s (± 0.49%) 14.17s (± 0.38%) -0.01s (- 0.09%) 14.05s 14.31s
Monaco - node (v8.9.0, x86)
Memory used 185,910k (± 0.02%) 185,422k (± 0.02%) -488k (- 0.26%) 185,312k 185,495k
Parse Time 1.59s (± 0.49%) 1.60s (± 0.76%) +0.01s (+ 0.76%) 1.58s 1.63s
Bind Time 0.77s (± 1.01%) 0.76s (± 0.64%) -0.01s (- 0.91%) 0.75s 0.77s
Check Time 5.39s (± 0.51%) 5.45s (± 1.05%) +0.06s (+ 1.17%) 5.35s 5.64s
Emit Time 2.86s (± 0.77%) 2.90s (± 1.26%) +0.04s (+ 1.22%) 2.84s 3.02s
Total Time 10.61s (± 0.42%) 10.71s (± 0.86%) +0.10s (+ 0.97%) 10.55s 11.03s
TFS - node (v8.9.0, x86)
Memory used 167,253k (± 0.03%) 166,669k (± 0.03%) -583k (- 0.35%) 166,543k 166,779k
Parse Time 1.28s (± 0.39%) 1.28s (± 0.62%) +0.01s (+ 0.47%) 1.27s 1.31s
Bind Time 0.71s (± 0.56%) 0.71s (± 0.94%) +0.00s (+ 0.28%) 0.70s 0.73s
Check Time 4.60s (± 0.87%) 4.63s (± 0.33%) +0.03s (+ 0.59%) 4.58s 4.66s
Emit Time 2.98s (± 2.88%) 2.98s (± 2.21%) +0.00s (+ 0.07%) 2.91s 3.23s
Total Time 9.57s (± 0.78%) 9.61s (± 0.89%) +0.03s (+ 0.36%) 9.48s 9.91s
material-ui - node (v8.9.0, x86)
Memory used 276,945k (± 0.02%) 257,769k (± 0.01%) 🟩-19,177k (- 6.92%) 257,684k 257,822k
Parse Time 2.19s (± 0.74%) 2.17s (± 0.53%) -0.02s (- 0.82%) 2.15s 2.20s
Bind Time 0.69s (± 1.47%) 0.68s (± 1.70%) -0.00s (- 0.15%) 0.67s 0.71s
Check Time 17.68s (± 0.64%) 16.17s (± 0.71%) 🟩-1.51s (- 8.56%) 15.86s 16.41s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 20.56s (± 0.58%) 19.03s (± 0.63%) 🟩-1.53s (- 7.46%) 18.69s 19.28s
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 37348 10
Baseline master 10

@weswigham
Copy link
Member Author

Perf looks fine, all test baselines look fine. This change seems good; @ahejlsberg you wanna weigh in on this? It's essentially just generalizing substitutions to represent arbitrary type-space "narrowings", rather than just substitutions on generics.

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

Successfully merging this pull request may close these issues.

Conditional type *without union* behaves differently when inlined
3 participants