Skip to content

Fix #33732 Consistent relation checking for property symbols with error reporting. #33828

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 3 commits into from

Conversation

jack-williams
Copy link
Collaborator

@jack-williams jack-williams commented Oct 5, 2019

Fixes #33732

@jack-williams
Copy link
Collaborator Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 5, 2019

Heya @jack-williams, I've started to run the perf test suite on this PR at 471ac3c. You can monitor the build here. It should now contribute to this PR's status checks.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@jack-williams
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..33828

Metric master 33828 Delta Best Worst
Angular - node (v12.1.0, x64)
Memory used 331,479k (± 0.06%) 331,907k (± 0.05%) +427k (+ 0.13%) 331,275k 332,079k
Parse Time 1.57s (± 0.64%) 1.57s (± 0.52%) +0.01s (+ 0.38%) 1.56s 1.60s
Bind Time 0.84s (± 1.07%) 0.84s (± 0.88%) +0.00s (+ 0.48%) 0.83s 0.86s
Check Time 4.40s (± 0.42%) 4.43s (± 0.44%) +0.03s (+ 0.68%) 4.39s 4.49s
Emit Time 5.48s (± 1.27%) 5.47s (± 0.65%) -0.01s (- 0.15%) 5.38s 5.53s
Total Time 12.28s (± 0.51%) 12.31s (± 0.36%) +0.03s (+ 0.24%) 12.21s 12.39s
Monaco - node (v12.1.0, x64)
Memory used 346,590k (± 0.01%) 346,541k (± 0.02%) -49k (- 0.01%) 346,398k 346,673k
Parse Time 1.23s (± 0.83%) 1.23s (± 0.54%) -0.00s (- 0.16%) 1.21s 1.24s
Bind Time 0.72s (± 0.56%) 0.72s (± 0.97%) +0.00s (+ 0.28%) 0.71s 0.74s
Check Time 4.47s (± 0.47%) 4.47s (± 0.63%) +0.01s (+ 0.16%) 4.42s 4.54s
Emit Time 3.02s (± 0.82%) 3.00s (± 0.89%) -0.02s (- 0.56%) 2.97s 3.10s
Total Time 9.43s (± 0.36%) 9.43s (± 0.59%) -0.01s (- 0.08%) 9.32s 9.61s
TFS - node (v12.1.0, x64)
Memory used 304,867k (± 0.02%) 304,874k (± 0.02%) +7k (+ 0.00%) 304,712k 305,009k
Parse Time 0.94s (± 0.95%) 0.96s (± 0.79%) +0.01s (+ 1.16%) 0.94s 0.97s
Bind Time 0.68s (± 0.85%) 0.69s (± 2.57%) +0.01s (+ 1.32%) 0.68s 0.76s
Check Time 4.05s (± 0.46%) 4.04s (± 0.57%) -0.01s (- 0.32%) 3.99s 4.07s
Emit Time 3.11s (± 0.69%) 3.09s (± 1.01%) -0.01s (- 0.35%) 3.04s 3.17s
Total Time 8.78s (± 0.42%) 8.78s (± 0.47%) -0.01s (- 0.07%) 8.68s 8.86s
Angular - node (v8.9.0, x64)
Memory used 350,687k (± 0.02%) 351,028k (± 0.02%) +341k (+ 0.10%) 350,893k 351,233k
Parse Time 2.11s (± 0.59%) 2.12s (± 0.55%) +0.00s (+ 0.14%) 2.10s 2.16s
Bind Time 0.90s (± 0.69%) 0.90s (± 0.76%) -0.00s (- 0.33%) 0.89s 0.92s
Check Time 5.27s (± 0.43%) 5.28s (± 1.04%) +0.01s (+ 0.19%) 5.18s 5.39s
Emit Time 6.18s (± 1.08%) 6.28s (± 0.68%) +0.10s (+ 1.67%) 6.14s 6.34s
Total Time 14.46s (± 0.57%) 14.57s (± 0.62%) +0.11s (+ 0.78%) 14.36s 14.77s
Monaco - node (v8.9.0, x64)
Memory used 364,576k (± 0.01%) 364,580k (± 0.01%) +4k (+ 0.00%) 364,467k 364,683k
Parse Time 1.57s (± 0.52%) 1.57s (± 0.51%) +0.00s (+ 0.13%) 1.55s 1.59s
Bind Time 0.92s (± 0.65%) 0.92s (± 0.96%) +0.00s (+ 0.44%) 0.91s 0.94s
Check Time 5.50s (± 1.08%) 5.48s (± 1.18%) -0.03s (- 0.47%) 5.30s 5.59s
Emit Time 3.11s (± 3.31%) 3.15s (± 4.09%) +0.04s (+ 1.42%) 3.04s 3.50s
Total Time 11.09s (± 0.71%) 11.12s (± 0.81%) +0.02s (+ 0.21%) 10.98s 11.36s
TFS - node (v8.9.0, x64)
Memory used 321,318k (± 0.01%) 321,334k (± 0.01%) +16k (+ 0.01%) 321,218k 321,412k
Parse Time 1.28s (± 0.58%) 1.27s (± 0.49%) -0.01s (- 0.70%) 1.26s 1.28s
Bind Time 0.73s (± 0.79%) 0.73s (± 0.84%) +0.00s (+ 0.14%) 0.72s 0.74s
Check Time 4.70s (± 0.40%) 4.71s (± 0.51%) +0.01s (+ 0.21%) 4.67s 4.77s
Emit Time 3.22s (± 0.42%) 3.21s (± 0.61%) -0.01s (- 0.19%) 3.16s 3.24s
Total Time 9.93s (± 0.29%) 9.93s (± 0.35%) +0.00s (+ 0.03%) 9.86s 10.00s
Angular - node (v8.9.0, x86)
Memory used 198,931k (± 0.03%) 199,013k (± 0.03%) +83k (+ 0.04%) 198,823k 199,138k
Parse Time 2.03s (± 0.53%) 2.03s (± 0.50%) +0.00s (+ 0.20%) 2.02s 2.06s
Bind Time 1.00s (± 0.36%) 1.01s (± 0.57%) +0.01s (+ 0.60%) 1.00s 1.02s
Check Time 4.80s (± 0.38%) 4.82s (± 0.64%) +0.01s (+ 0.25%) 4.75s 4.86s
Emit Time 6.13s (± 1.58%) 6.07s (± 1.12%) -0.06s (- 0.91%) 6.00s 6.33s
Total Time 13.96s (± 0.66%) 13.93s (± 0.54%) -0.03s (- 0.21%) 13.82s 14.17s
Monaco - node (v8.9.0, x86)
Memory used 204,053k (± 0.02%) 204,080k (± 0.01%) +27k (+ 0.01%) 203,998k 204,132k
Parse Time 1.61s (± 0.63%) 1.61s (± 0.52%) -0.01s (- 0.37%) 1.59s 1.63s
Bind Time 0.74s (± 0.70%) 0.74s (± 0.63%) +0.00s (+ 0.14%) 0.73s 0.75s
Check Time 5.38s (± 0.43%) 5.33s (± 1.29%) -0.05s (- 0.91%) 5.06s 5.38s
Emit Time 2.87s (± 0.59%) 2.92s (± 3.08%) +0.04s (+ 1.57%) 2.83s 3.24s
Total Time 10.61s (± 0.31%) 10.60s (± 0.42%) -0.01s (- 0.06%) 10.53s 10.75s
TFS - node (v8.9.0, x86)
Memory used 180,901k (± 0.02%) 180,856k (± 0.02%) -45k (- 0.03%) 180,780k 180,944k
Parse Time 1.32s (± 0.84%) 1.31s (± 0.95%) -0.00s (- 0.23%) 1.30s 1.35s
Bind Time 0.69s (± 0.75%) 0.69s (± 1.16%) -0.00s (- 0.15%) 0.67s 0.71s
Check Time 4.47s (± 0.72%) 4.47s (± 0.47%) 0.00s ( 0.00%) 4.42s 4.52s
Emit Time 2.94s (± 0.59%) 2.95s (± 1.04%) +0.01s (+ 0.31%) 2.88s 3.02s
Total Time 9.42s (± 0.24%) 9.43s (± 0.52%) +0.00s (+ 0.03%) 9.29s 9.53s
Angular - node (v9.0.0, x64)
Memory used 350,268k (± 0.01%) 350,636k (± 0.02%) +368k (+ 0.11%) 350,435k 350,779k
Parse Time 1.84s (± 0.58%) 1.83s (± 0.63%) -0.00s (- 0.11%) 1.81s 1.87s
Bind Time 0.84s (± 1.05%) 0.85s (± 0.68%) +0.01s (+ 0.83%) 0.84s 0.86s
Check Time 5.07s (± 0.66%) 5.04s (± 0.57%) -0.03s (- 0.51%) 5.00s 5.13s
Emit Time 5.93s (± 1.37%) 5.89s (± 1.86%) -0.04s (- 0.66%) 5.68s 6.08s
Total Time 13.68s (± 0.66%) 13.62s (± 0.80%) -0.06s (- 0.42%) 13.40s 13.83s
Monaco - node (v9.0.0, x64)
Memory used 364,371k (± 0.02%) 364,372k (± 0.01%) +1k (+ 0.00%) 364,219k 364,453k
Parse Time 1.32s (± 0.38%) 1.31s (± 0.52%) -0.00s (- 0.08%) 1.30s 1.33s
Bind Time 0.87s (± 1.45%) 0.86s (± 1.06%) -0.01s (- 0.81%) 0.85s 0.89s
Check Time 5.33s (± 1.47%) 5.40s (± 1.32%) +0.07s (+ 1.26%) 5.14s 5.50s
Emit Time 3.14s (± 5.65%) 3.07s (± 3.72%) -0.08s (- 2.48%) 2.96s 3.51s
Total Time 10.66s (± 1.12%) 10.64s (± 0.76%) -0.02s (- 0.16%) 10.51s 10.87s
TFS - node (v9.0.0, x64)
Memory used 321,072k (± 0.02%) 321,141k (± 0.02%) +69k (+ 0.02%) 320,970k 321,254k
Parse Time 1.04s (± 0.50%) 1.03s (± 0.66%) -0.01s (- 0.67%) 1.02s 1.05s
Bind Time 0.68s (± 0.77%) 0.68s (± 0.72%) +0.01s (+ 0.74%) 0.67s 0.69s
Check Time 4.86s (± 0.51%) 4.85s (± 0.54%) -0.00s (- 0.10%) 4.80s 4.92s
Emit Time 3.04s (± 0.57%) 3.05s (± 0.61%) +0.01s (+ 0.39%) 3.01s 3.09s
Total Time 9.62s (± 0.44%) 9.63s (± 0.35%) +0.01s (+ 0.07%) 9.56s 9.71s
Angular - node (v9.0.0, x86)
Memory used 199,076k (± 0.02%) 199,178k (± 0.03%) +102k (+ 0.05%) 199,052k 199,304k
Parse Time 1.74s (± 0.44%) 1.75s (± 0.58%) +0.01s (+ 0.86%) 1.73s 1.78s
Bind Time 0.95s (± 0.80%) 0.95s (± 1.43%) -0.00s (- 0.31%) 0.93s 0.99s
Check Time 4.49s (± 0.50%) 4.49s (± 0.84%) +0.01s (+ 0.13%) 4.43s 4.59s
Emit Time 5.72s (± 1.32%) 5.69s (± 0.49%) -0.03s (- 0.51%) 5.62s 5.77s
Total Time 12.90s (± 0.52%) 12.88s (± 0.50%) -0.02s (- 0.12%) 12.75s 13.04s
Monaco - node (v9.0.0, x86)
Memory used 204,215k (± 0.02%) 204,144k (± 0.03%) -70k (- 0.03%) 204,012k 204,244k
Parse Time 1.35s (± 0.49%) 1.35s (± 0.82%) -0.00s (- 0.00%) 1.33s 1.38s
Bind Time 0.69s (± 1.28%) 0.68s (± 1.27%) -0.01s (- 0.73%) 0.67s 0.71s
Check Time 4.98s (± 0.53%) 4.98s (± 0.61%) -0.00s (- 0.06%) 4.90s 5.07s
Emit Time 3.23s (± 1.28%) 3.26s (± 1.22%) +0.02s (+ 0.74%) 3.19s 3.39s
Total Time 10.25s (± 0.45%) 10.27s (± 0.64%) +0.02s (+ 0.20%) 10.14s 10.42s
TFS - node (v9.0.0, x86)
Memory used 180,866k (± 0.03%) 180,867k (± 0.02%) +0k (+ 0.00%) 180,820k 180,943k
Parse Time 1.06s (± 1.01%) 1.06s (± 0.63%) +0.00s (+ 0.19%) 1.05s 1.08s
Bind Time 0.64s (± 1.18%) 0.65s (± 1.12%) +0.00s (+ 0.62%) 0.63s 0.66s
Check Time 4.34s (± 0.52%) 4.38s (± 0.72%) +0.03s (+ 0.78%) 4.32s 4.46s
Emit Time 2.91s (± 0.74%) 2.92s (± 0.98%) +0.02s (+ 0.58%) 2.86s 3.01s
Total Time 8.95s (± 0.54%) 9.01s (± 0.42%) +0.06s (+ 0.66%) 8.94s 9.11s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-161-generic
Architecturex64
Available Memory16 GB
Available Memory8 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v12.1.0, x64)
  • node (v8.9.0, x64)
  • node (v8.9.0, x86)
  • node (v9.0.0, x64)
  • node (v9.0.0, x86)
Scenarios
  • Angular - node (v12.1.0, x64)
  • Angular - node (v8.9.0, x64)
  • Angular - node (v8.9.0, x86)
  • Angular - node (v9.0.0, x64)
  • Angular - node (v9.0.0, x86)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v8.9.0, x64)
  • Monaco - node (v8.9.0, x86)
  • Monaco - node (v9.0.0, x64)
  • Monaco - node (v9.0.0, x86)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v8.9.0, x64)
  • TFS - node (v8.9.0, x86)
  • TFS - node (v9.0.0, x64)
  • TFS - node (v9.0.0, x86)
Benchmark Name Iterations
Current 33828 10
Baseline master 10

@jack-williams
Copy link
Collaborator Author

@typescript-bot test this
@typescript-bot user test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 5, 2019

Heya @jack-williams, I've started to run the extended test suite on this PR at c6935b4. You can monitor the build here. It should now contribute to this PR's status checks.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 5, 2019

Heya @jack-williams, I've started to run the parallelized community code test suite on this PR at c6935b4. You can monitor the build here. It should now contribute to this PR's status checks.

@jack-williams jack-williams changed the title Fix issue with epc error-reporting Fix #33732 Consistent relation checking for property symbols with error reporting. Oct 5, 2019
@jack-williams
Copy link
Collaborator Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 5, 2019

Heya @jack-williams, I've started to run the perf test suite on this PR at c6935b4. You can monitor the build here. It should now contribute to this PR's status checks.

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

@jack-williams
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..33828

Metric master 33828 Delta Best Worst
Angular - node (v12.1.0, x64)
Memory used 331,479k (± 0.06%) 331,861k (± 0.05%) +382k (+ 0.12%) 331,334k 332,147k
Parse Time 1.57s (± 0.64%) 1.58s (± 0.74%) +0.01s (+ 0.57%) 1.55s 1.60s
Bind Time 0.84s (± 1.07%) 0.84s (± 0.69%) +0.00s (+ 0.12%) 0.83s 0.85s
Check Time 4.40s (± 0.42%) 4.42s (± 0.88%) +0.02s (+ 0.48%) 4.34s 4.51s
Emit Time 5.48s (± 1.27%) 5.45s (± 0.75%) -0.03s (- 0.55%) 5.36s 5.53s
Total Time 12.28s (± 0.51%) 12.28s (± 0.56%) -0.00s (- 0.02%) 12.14s 12.41s
Monaco - node (v12.1.0, x64)
Memory used 346,590k (± 0.01%) 346,585k (± 0.02%) -5k (- 0.00%) 346,351k 346,818k
Parse Time 1.23s (± 0.83%) 1.22s (± 0.53%) -0.01s (- 0.90%) 1.21s 1.24s
Bind Time 0.72s (± 0.56%) 0.72s (± 1.46%) +0.00s (+ 0.14%) 0.70s 0.75s
Check Time 4.47s (± 0.47%) 4.47s (± 0.43%) -0.00s (- 0.04%) 4.42s 4.51s
Emit Time 3.02s (± 0.82%) 3.00s (± 0.96%) -0.02s (- 0.60%) 2.96s 3.11s
Total Time 9.43s (± 0.36%) 9.41s (± 0.39%) -0.02s (- 0.23%) 9.34s 9.50s
TFS - node (v12.1.0, x64)
Memory used 304,867k (± 0.02%) 304,875k (± 0.02%) +8k (+ 0.00%) 304,749k 305,039k
Parse Time 0.94s (± 0.95%) 0.95s (± 0.87%) +0.00s (+ 0.11%) 0.93s 0.97s
Bind Time 0.68s (± 0.85%) 0.68s (± 1.21%) +0.00s (+ 0.59%) 0.67s 0.71s
Check Time 4.05s (± 0.46%) 4.05s (± 0.49%) -0.00s (- 0.02%) 4.01s 4.09s
Emit Time 3.11s (± 0.69%) 3.12s (± 1.11%) +0.01s (+ 0.45%) 3.08s 3.22s
Total Time 8.78s (± 0.42%) 8.80s (± 0.50%) +0.02s (+ 0.22%) 8.74s 8.91s
Angular - node (v8.9.0, x64)
Memory used 350,687k (± 0.02%) 351,027k (± 0.02%) +340k (+ 0.10%) 350,891k 351,174k
Parse Time 2.11s (± 0.59%) 2.11s (± 0.31%) -0.01s (- 0.24%) 2.10s 2.13s
Bind Time 0.90s (± 0.69%) 0.90s (± 0.74%) +0.00s (+ 0.11%) 0.89s 0.92s
Check Time 5.27s (± 0.43%) 5.28s (± 0.65%) +0.01s (+ 0.21%) 5.18s 5.33s
Emit Time 6.18s (± 1.08%) 6.25s (± 0.76%) +0.07s (+ 1.17%) 6.10s 6.33s
Total Time 14.46s (± 0.57%) 14.53s (± 0.53%) +0.08s (+ 0.53%) 14.28s 14.66s
Monaco - node (v8.9.0, x64)
Memory used 364,576k (± 0.01%) 364,575k (± 0.01%) -1k (- 0.00%) 364,493k 364,687k
Parse Time 1.57s (± 0.52%) 1.57s (± 0.47%) 0.00s ( 0.00%) 1.56s 1.59s
Bind Time 0.92s (± 0.65%) 0.92s (± 0.65%) -0.00s (- 0.11%) 0.90s 0.93s
Check Time 5.50s (± 1.08%) 5.52s (± 0.69%) +0.02s (+ 0.38%) 5.43s 5.62s
Emit Time 3.11s (± 3.31%) 3.06s (± 0.60%) -0.05s (- 1.55%) 3.03s 3.11s
Total Time 11.09s (± 0.71%) 11.07s (± 0.35%) -0.03s (- 0.23%) 11.01s 11.17s
TFS - node (v8.9.0, x64)
Memory used 321,318k (± 0.01%) 321,320k (± 0.01%) +2k (+ 0.00%) 321,250k 321,382k
Parse Time 1.28s (± 0.58%) 1.28s (± 0.53%) -0.00s (- 0.31%) 1.27s 1.30s
Bind Time 0.73s (± 0.79%) 0.73s (± 0.64%) 0.00s ( 0.00%) 0.72s 0.74s
Check Time 4.70s (± 0.40%) 4.69s (± 0.53%) -0.02s (- 0.34%) 4.65s 4.76s
Emit Time 3.22s (± 0.42%) 3.21s (± 0.70%) -0.01s (- 0.40%) 3.15s 3.25s
Total Time 9.93s (± 0.29%) 9.89s (± 0.33%) -0.03s (- 0.33%) 9.85s 9.98s
Angular - node (v8.9.0, x86)
Memory used 198,931k (± 0.03%) 199,056k (± 0.04%) +126k (+ 0.06%) 198,866k 199,183k
Parse Time 2.03s (± 0.53%) 2.04s (± 0.86%) +0.01s (+ 0.54%) 2.03s 2.11s
Bind Time 1.00s (± 0.36%) 1.01s (± 1.04%) +0.01s (+ 0.60%) 0.99s 1.04s
Check Time 4.80s (± 0.38%) 4.81s (± 0.51%) +0.01s (+ 0.15%) 4.76s 4.87s
Emit Time 6.13s (± 1.58%) 6.18s (± 1.72%) +0.05s (+ 0.88%) 6.03s 6.42s
Total Time 13.96s (± 0.66%) 14.05s (± 0.73%) +0.08s (+ 0.59%) 13.84s 14.27s
Monaco - node (v8.9.0, x86)
Memory used 204,053k (± 0.02%) 204,061k (± 0.02%) +7k (+ 0.00%) 203,953k 204,149k
Parse Time 1.61s (± 0.63%) 1.61s (± 0.58%) -0.01s (- 0.43%) 1.58s 1.63s
Bind Time 0.74s (± 0.70%) 0.74s (± 0.87%) +0.00s (+ 0.41%) 0.73s 0.76s
Check Time 5.38s (± 0.43%) 5.33s (± 1.76%) -0.05s (- 0.95%) 5.05s 5.47s
Emit Time 2.87s (± 0.59%) 2.98s (± 4.21%) +0.11s (+ 3.94%) 2.84s 3.32s
Total Time 10.61s (± 0.31%) 10.67s (± 0.50%) +0.06s (+ 0.54%) 10.58s 10.79s
TFS - node (v8.9.0, x86)
Memory used 180,901k (± 0.02%) 180,846k (± 0.03%) -55k (- 0.03%) 180,766k 180,937k
Parse Time 1.32s (± 0.84%) 1.30s (± 0.56%) -0.02s (- 1.14%) 1.29s 1.32s
Bind Time 0.69s (± 0.75%) 0.69s (± 0.83%) +0.00s (+ 0.15%) 0.68s 0.71s
Check Time 4.47s (± 0.72%) 4.48s (± 0.58%) +0.00s (+ 0.07%) 4.43s 4.54s
Emit Time 2.94s (± 0.59%) 2.98s (± 1.07%) +0.03s (+ 1.16%) 2.88s 3.05s
Total Time 9.42s (± 0.24%) 9.45s (± 0.44%) +0.02s (+ 0.24%) 9.34s 9.51s
Angular - node (v9.0.0, x64)
Memory used 350,268k (± 0.01%) 350,664k (± 0.02%) +396k (+ 0.11%) 350,562k 350,767k
Parse Time 1.84s (± 0.58%) 1.83s (± 0.55%) -0.01s (- 0.54%) 1.81s 1.86s
Bind Time 0.84s (± 1.05%) 0.85s (± 1.11%) +0.00s (+ 0.47%) 0.82s 0.87s
Check Time 5.07s (± 0.66%) 5.04s (± 0.45%) -0.03s (- 0.59%) 4.96s 5.07s
Emit Time 5.93s (± 1.37%) 5.89s (± 1.06%) -0.04s (- 0.69%) 5.71s 5.98s
Total Time 13.68s (± 0.66%) 13.60s (± 0.46%) -0.08s (- 0.56%) 13.45s 13.74s
Monaco - node (v9.0.0, x64)
Memory used 364,371k (± 0.02%) 364,418k (± 0.02%) +47k (+ 0.01%) 364,295k 364,603k
Parse Time 1.32s (± 0.38%) 1.31s (± 0.47%) -0.01s (- 0.46%) 1.30s 1.32s
Bind Time 0.87s (± 1.45%) 0.86s (± 1.19%) -0.01s (- 0.81%) 0.84s 0.89s
Check Time 5.33s (± 1.47%) 5.40s (± 1.36%) +0.06s (+ 1.22%) 5.11s 5.48s
Emit Time 3.14s (± 5.65%) 3.05s (± 3.44%) -0.09s (- 2.89%) 2.97s 3.47s
Total Time 10.66s (± 1.12%) 10.62s (± 0.47%) -0.04s (- 0.36%) 10.54s 10.77s
TFS - node (v9.0.0, x64)
Memory used 321,072k (± 0.02%) 321,086k (± 0.01%) +14k (+ 0.00%) 321,018k 321,165k
Parse Time 1.04s (± 0.50%) 1.03s (± 0.71%) -0.01s (- 1.25%) 1.01s 1.04s
Bind Time 0.68s (± 0.77%) 0.68s (± 0.77%) +0.00s (+ 0.00%) 0.67s 0.69s
Check Time 4.86s (± 0.51%) 4.86s (± 0.52%) +0.00s (+ 0.02%) 4.79s 4.92s
Emit Time 3.04s (± 0.57%) 3.04s (± 0.67%) +0.01s (+ 0.20%) 3.00s 3.09s
Total Time 9.62s (± 0.44%) 9.61s (± 0.43%) -0.01s (- 0.07%) 9.50s 9.69s
Angular - node (v9.0.0, x86)
Memory used 199,076k (± 0.02%) 199,209k (± 0.02%) +133k (+ 0.07%) 199,102k 199,347k
Parse Time 1.74s (± 0.44%) 1.74s (± 0.48%) +0.01s (+ 0.29%) 1.72s 1.76s
Bind Time 0.95s (± 0.80%) 0.96s (± 0.99%) +0.00s (+ 0.10%) 0.93s 0.97s
Check Time 4.49s (± 0.50%) 4.48s (± 0.49%) -0.01s (- 0.18%) 4.43s 4.54s
Emit Time 5.72s (± 1.32%) 5.71s (± 0.98%) -0.01s (- 0.12%) 5.58s 5.88s
Total Time 12.90s (± 0.52%) 12.89s (± 0.34%) -0.01s (- 0.07%) 12.78s 12.97s
Monaco - node (v9.0.0, x86)
Memory used 204,215k (± 0.02%) 204,165k (± 0.03%) -50k (- 0.02%) 204,070k 204,304k
Parse Time 1.35s (± 0.49%) 1.34s (± 0.43%) -0.01s (- 0.96%) 1.32s 1.35s
Bind Time 0.69s (± 1.28%) 0.69s (± 1.30%) -0.00s (- 0.15%) 0.68s 0.72s
Check Time 4.98s (± 0.53%) 4.95s (± 0.50%) -0.03s (- 0.64%) 4.91s 5.01s
Emit Time 3.23s (± 1.28%) 3.23s (± 0.79%) -0.01s (- 0.15%) 3.18s 3.30s
Total Time 10.25s (± 0.45%) 10.20s (± 0.44%) -0.04s (- 0.43%) 10.10s 10.31s
TFS - node (v9.0.0, x86)
Memory used 180,866k (± 0.03%) 180,859k (± 0.02%) -7k (- 0.00%) 180,773k 180,934k
Parse Time 1.06s (± 1.01%) 1.06s (± 0.75%) +0.00s (+ 0.09%) 1.05s 1.08s
Bind Time 0.64s (± 1.18%) 0.65s (± 1.36%) +0.00s (+ 0.47%) 0.63s 0.67s
Check Time 4.34s (± 0.52%) 4.37s (± 0.51%) +0.03s (+ 0.58%) 4.32s 4.42s
Emit Time 2.91s (± 0.74%) 2.90s (± 1.07%) -0.00s (- 0.14%) 2.83s 2.97s
Total Time 8.95s (± 0.54%) 8.98s (± 0.47%) +0.03s (+ 0.29%) 8.87s 9.06s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-161-generic
Architecturex64
Available Memory16 GB
Available Memory8 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v12.1.0, x64)
  • node (v8.9.0, x64)
  • node (v8.9.0, x86)
  • node (v9.0.0, x64)
  • node (v9.0.0, x86)
Scenarios
  • Angular - node (v12.1.0, x64)
  • Angular - node (v8.9.0, x64)
  • Angular - node (v8.9.0, x86)
  • Angular - node (v9.0.0, x64)
  • Angular - node (v9.0.0, x86)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v8.9.0, x64)
  • Monaco - node (v8.9.0, x86)
  • Monaco - node (v9.0.0, x64)
  • Monaco - node (v9.0.0, x86)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v8.9.0, x64)
  • TFS - node (v8.9.0, x86)
  • TFS - node (v9.0.0, x64)
  • TFS - node (v9.0.0, x86)
Benchmark Name Iterations
Current 33828 10
Baseline master 10

@jack-williams
Copy link
Collaborator Author

Community tests failures are noise.

@arcanis
Copy link

arcanis commented Oct 8, 2019

Fwiw our codebase also exhibits this problem, and I can confirm this commit fixes it.

@jack-williams
Copy link
Collaborator Author

Thanks for trying it out @arcanis.

@arcanis
Copy link

arcanis commented Oct 15, 2019

Do you know if the fix will reach master in time for the stable 3.7?

@jack-williams
Copy link
Collaborator Author

Do you know if the fix will reach master in time for the stable 3.7?

ping'ing @RyanCavanaugh to answer that one

Copy link
Member

@sandersn sandersn left a comment

Choose a reason for hiding this comment

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

This seems like the right fix to me, but I'd like @weswigham to look too, since he wrote this code.

My opinion is that this is too risky for 3.7.2 with less than a week to go. Wesley, do you agree? If so, let's put this in 3.8.

@weswigham
Copy link
Member

weswigham commented Oct 28, 2019

  1. This change is super low risk. Because
  2. You could replace the entire body of isPropertySymbolTypeRelated with the isRelatedTo(source, addOptionality(getTypeOfSymbol(targetProp), targetIsOptional), reportErrors) fallback path and have a "correct" answer. The point of the function, and deferral, generally, is to avoid the execution of that fallback path unless absolutely needed, as calling getTypeOfSymbol on a DeferredType is what is capable of causing the DeferredType to blow up for being too large, which we want to avoid as much as possible~
  3. Which is why a much better fix is attempting to extract whatever non-error-case logic that yields a different result from the base isRelatedTo and have it operate on the un-simplified union/intersection type constituents, or at least minimizing how often that fallbacks needs to be invoked, as those are the cases for which the compiler will be unable to handle large union-within-intersection types.

So while this works it's certainly not what I'd like to see, if at all possible. Specifically, deleting the undefinedType case from target seems very wrong - we're iterating over every other type in the deferred union to see if the source is individually assignable to it, and since the target is optional, we need to add undefined to that list, which is all that branch (unionParent && !result && targetIsOptional) does (and should be unrelated to any reportErrors true/false discrepencies).

If anything, I think, since we added the union coverage union assignment rule that requires the fallback (as extracting that to here is probably a bit hairy), I think a more succinct change may just be

- if (unionParent && !result && reportErrors) {
+ if (unionParent && !result && source.flags & TypeFlags.Union) {

assuming I've understood the original scenario well enough.

@jack-williams
Copy link
Collaborator Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 29, 2019

Heya @jack-williams, I've started to run the perf test suite on this PR at c6c1e95. You can monitor the build here. It should now contribute to this PR's status checks.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@jack-williams
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..33828

Metric master 33828 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 355,137k (± 0.01%) 356,305k (± 0.02%) +1,168k (+ 0.33%) 356,149k 356,470k
Parse Time 1.62s (± 0.75%) 1.62s (± 0.62%) -0.00s (- 0.06%) 1.60s 1.64s
Bind Time 0.86s (± 0.64%) 0.86s (± 0.87%) -0.01s (- 0.58%) 0.85s 0.88s
Check Time 4.52s (± 0.54%) 4.51s (± 0.65%) -0.01s (- 0.27%) 4.44s 4.59s
Emit Time 5.27s (± 0.49%) 5.29s (± 0.54%) +0.01s (+ 0.28%) 5.22s 5.36s
Total Time 12.27s (± 0.32%) 12.27s (± 0.46%) -0.01s (- 0.04%) 12.17s 12.43s
Monaco - node (v10.16.3, x64)
Memory used 365,952k (± 0.02%) 366,854k (± 0.02%) +902k (+ 0.25%) 366,702k 366,975k
Parse Time 1.26s (± 0.49%) 1.27s (± 0.66%) +0.01s (+ 0.48%) 1.25s 1.28s
Bind Time 0.75s (± 0.40%) 0.75s (± 0.59%) 0.00s ( 0.00%) 0.74s 0.76s
Check Time 4.64s (± 0.50%) 4.65s (± 0.62%) +0.01s (+ 0.15%) 4.58s 4.70s
Emit Time 2.93s (± 0.77%) 2.94s (± 0.60%) +0.01s (+ 0.38%) 2.89s 2.97s
Total Time 9.58s (± 0.43%) 9.60s (± 0.49%) +0.02s (+ 0.23%) 9.51s 9.70s
TFS - node (v10.16.3, x64)
Memory used 321,604k (± 0.02%) 322,464k (± 0.02%) +860k (+ 0.27%) 322,369k 322,622k
Parse Time 0.96s (± 0.61%) 0.95s (± 0.86%) -0.00s (- 0.42%) 0.94s 0.97s
Bind Time 0.72s (± 1.42%) 0.72s (± 1.34%) +0.00s (+ 0.28%) 0.70s 0.74s
Check Time 4.09s (± 0.58%) 4.13s (± 0.63%) +0.04s (+ 1.08%) 4.08s 4.18s
Emit Time 3.06s (± 0.53%) 3.05s (± 0.84%) -0.01s (- 0.26%) 3.00s 3.10s
Total Time 8.83s (± 0.34%) 8.86s (± 0.40%) +0.03s (+ 0.33%) 8.77s 8.94s
Angular - node (v12.1.0, x64)
Memory used 330,598k (± 0.08%) 331,891k (± 0.02%) +1,294k (+ 0.39%) 331,723k 332,024k
Parse Time 1.57s (± 0.66%) 1.58s (± 0.55%) +0.01s (+ 0.89%) 1.57s 1.60s
Bind Time 0.84s (± 0.68%) 0.84s (± 1.52%) +0.00s (+ 0.24%) 0.83s 0.88s
Check Time 4.46s (± 0.76%) 4.41s (± 0.29%) -0.05s (- 1.05%) 4.38s 4.43s
Emit Time 5.44s (± 0.58%) 5.42s (± 0.44%) -0.02s (- 0.33%) 5.38s 5.48s
Total Time 12.31s (± 0.46%) 12.25s (± 0.32%) -0.05s (- 0.44%) 12.16s 12.34s
Monaco - node (v12.1.0, x64)
Memory used 345,729k (± 0.01%) 346,612k (± 0.02%) +884k (+ 0.26%) 346,443k 346,774k
Parse Time 1.22s (± 0.73%) 1.23s (± 0.78%) +0.00s (+ 0.08%) 1.20s 1.24s
Bind Time 0.72s (± 1.67%) 0.72s (± 0.77%) -0.00s (- 0.28%) 0.71s 0.73s
Check Time 4.48s (± 0.42%) 4.46s (± 0.39%) -0.02s (- 0.42%) 4.42s 4.49s
Emit Time 3.00s (± 0.68%) 3.03s (± 1.26%) +0.04s (+ 1.20%) 2.96s 3.11s
Total Time 9.43s (± 0.34%) 9.44s (± 0.54%) +0.01s (+ 0.12%) 9.32s 9.55s
TFS - node (v12.1.0, x64)
Memory used 304,054k (± 0.02%) 304,887k (± 0.02%) +833k (+ 0.27%) 304,713k 305,045k
Parse Time 0.95s (± 0.50%) 0.95s (± 0.55%) -0.00s (- 0.21%) 0.94s 0.96s
Bind Time 0.68s (± 0.76%) 0.68s (± 0.81%) +0.00s (+ 0.15%) 0.67s 0.69s
Check Time 4.04s (± 0.45%) 4.05s (± 0.53%) +0.01s (+ 0.17%) 3.99s 4.08s
Emit Time 3.12s (± 0.76%) 3.11s (± 1.00%) -0.00s (- 0.16%) 3.04s 3.19s
Total Time 8.79s (± 0.39%) 8.79s (± 0.46%) +0.00s (+ 0.01%) 8.73s 8.88s
Angular - node (v8.9.0, x64)
Memory used 349,924k (± 0.02%) 351,027k (± 0.02%) +1,103k (+ 0.32%) 350,889k 351,152k
Parse Time 2.10s (± 0.77%) 2.12s (± 0.69%) +0.01s (+ 0.71%) 2.08s 2.16s
Bind Time 0.90s (± 0.54%) 0.91s (± 0.71%) +0.00s (+ 0.44%) 0.89s 0.92s
Check Time 5.26s (± 0.67%) 5.31s (± 0.72%) +0.05s (+ 0.91%) 5.22s 5.37s
Emit Time 6.23s (± 0.72%) 6.24s (± 1.11%) +0.01s (+ 0.19%) 6.04s 6.36s
Total Time 14.49s (± 0.51%) 14.57s (± 0.74%) +0.07s (+ 0.51%) 14.23s 14.79s
Monaco - node (v8.9.0, x64)
Memory used 363,711k (± 0.02%) 364,530k (± 0.01%) +818k (+ 0.22%) 364,452k 364,623k
Parse Time 1.56s (± 0.45%) 1.57s (± 0.46%) +0.01s (+ 0.83%) 1.56s 1.59s
Bind Time 0.92s (± 0.75%) 0.92s (± 0.76%) +0.00s (+ 0.44%) 0.91s 0.94s
Check Time 5.52s (± 0.55%) 5.54s (± 1.05%) +0.02s (+ 0.40%) 5.36s 5.64s
Emit Time 3.04s (± 0.73%) 3.10s (± 3.55%) +0.05s (+ 1.81%) 3.03s 3.54s
Total Time 11.04s (± 0.38%) 11.13s (± 0.73%) +0.09s (+ 0.86%) 11.03s 11.42s
TFS - node (v8.9.0, x64)
Memory used 320,497k (± 0.01%) 321,302k (± 0.02%) +805k (+ 0.25%) 321,186k 321,418k
Parse Time 1.27s (± 0.46%) 1.27s (± 0.27%) +0.00s (+ 0.00%) 1.27s 1.28s
Bind Time 0.74s (± 0.75%) 0.74s (± 0.60%) +0.00s (+ 0.54%) 0.73s 0.75s
Check Time 4.71s (± 0.86%) 4.74s (± 0.59%) +0.03s (+ 0.57%) 4.70s 4.80s
Emit Time 3.24s (± 0.68%) 3.22s (± 0.88%) -0.01s (- 0.34%) 3.14s 3.27s
Total Time 9.96s (± 0.60%) 9.98s (± 0.41%) +0.02s (+ 0.19%) 9.90s 10.07s
Angular - node (v8.9.0, x86)
Memory used 198,621k (± 0.02%) 199,053k (± 0.04%) +431k (+ 0.22%) 198,876k 199,235k
Parse Time 2.02s (± 0.76%) 2.04s (± 0.86%) +0.02s (+ 0.84%) 2.02s 2.08s
Bind Time 1.02s (± 1.04%) 1.01s (± 0.99%) -0.01s (- 1.07%) 1.00s 1.05s
Check Time 4.79s (± 0.53%) 4.82s (± 0.60%) +0.02s (+ 0.50%) 4.76s 4.90s
Emit Time 6.08s (± 1.11%) 6.05s (± 0.57%) -0.02s (- 0.38%) 6.00s 6.13s
Total Time 13.92s (± 0.53%) 13.93s (± 0.48%) +0.01s (+ 0.04%) 13.83s 14.12s
Monaco - node (v8.9.0, x86)
Memory used 203,735k (± 0.02%) 204,074k (± 0.02%) +339k (+ 0.17%) 204,019k 204,145k
Parse Time 1.60s (± 0.59%) 1.61s (± 0.64%) +0.01s (+ 0.44%) 1.59s 1.64s
Bind Time 0.74s (± 0.49%) 0.74s (± 0.78%) -0.00s (- 0.13%) 0.73s 0.76s
Check Time 5.40s (± 0.59%) 5.29s (± 1.86%) -0.11s (- 2.11%) 5.06s 5.42s
Emit Time 2.88s (± 1.40%) 3.01s (± 4.45%) +0.13s (+ 4.41%) 2.86s 3.33s
Total Time 10.63s (± 0.29%) 10.65s (± 0.45%) +0.02s (+ 0.17%) 10.57s 10.80s
TFS - node (v8.9.0, x86)
Memory used 180,558k (± 0.02%) 180,846k (± 0.02%) +289k (+ 0.16%) 180,749k 180,923k
Parse Time 1.31s (± 0.51%) 1.31s (± 0.53%) +0.00s (+ 0.08%) 1.30s 1.33s
Bind Time 0.69s (± 0.32%) 0.69s (± 0.65%) -0.00s (- 0.43%) 0.68s 0.70s
Check Time 4.46s (± 0.41%) 4.52s (± 0.75%) +0.05s (+ 1.19%) 4.46s 4.60s
Emit Time 2.96s (± 0.69%) 2.98s (± 0.99%) +0.02s (+ 0.71%) 2.90s 3.05s
Total Time 9.42s (± 0.33%) 9.49s (± 0.48%) +0.07s (+ 0.79%) 9.38s 9.60s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-166-generic
Architecturex64
Available Memory16 GB
Available Memory14 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)
Benchmark Name Iterations
Current 33828 10
Baseline master 10

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.

cc @RyanCavanaugh for final merges and porting to desired branches

@jack-williams
Copy link
Collaborator Author

Thanks for the detailed write-up @weswigham!

@bene-starzengruber
Copy link

Hello :)
Is there already a release target for this fix or a known workaround we could take?
This error happens for our reporting to sonar - which sends our coverage straight to zero

@jack-williams
Copy link
Collaborator Author

@weswigham @RyanCavanaugh I got the commit history in abit of a pickle so I opened up a new PR with a clean commit here: #36077.

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.

Error: Debug Failure. False expression: parameter should have errors when reporting errors
6 participants