Skip to content

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

Closed
Jack Williams (jack-williams) wants to merge 3 commits into
microsoft:masterfrom
jack-williams:fix-33732
Closed

Fix #33732 Consistent relation checking for property symbols with error reporting.#33828
Jack Williams (jack-williams) wants to merge 3 commits into
microsoft:masterfrom
jack-williams:fix-33732

Conversation

@jack-williams

@jack-williamsJack Williams (jack-williams) commented Oct 5, 2019

Copy link
Copy Markdown
Collaborator

Fixes#33732

@jack-williams

Copy link
Copy Markdown
CollaboratorAuthor

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 5, 2019

Copy link
Copy Markdown
Contributor

Heya Jack Williams (@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
Copy Markdown
Contributor

Jack Williams (@jack-williams)
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..33828

Metricmaster33828DeltaBestWorst
Angular - node (v12.1.0, x64)
Memory used331,479k (± 0.06%)331,907k (± 0.05%)+427k (+ 0.13%)331,275k332,079k
Parse Time1.57s (± 0.64%)1.57s (± 0.52%)+0.01s (+ 0.38%)1.56s1.60s
Bind Time0.84s (± 1.07%)0.84s (± 0.88%)+0.00s (+ 0.48%)0.83s0.86s
Check Time4.40s (± 0.42%)4.43s (± 0.44%)+0.03s (+ 0.68%)4.39s4.49s
Emit Time5.48s (± 1.27%)5.47s (± 0.65%)-0.01s (- 0.15%)5.38s5.53s
Total Time12.28s (± 0.51%)12.31s (± 0.36%)+0.03s (+ 0.24%)12.21s12.39s
Monaco - node (v12.1.0, x64)
Memory used346,590k (± 0.01%)346,541k (± 0.02%)-49k (- 0.01%)346,398k346,673k
Parse Time1.23s (± 0.83%)1.23s (± 0.54%)-0.00s (- 0.16%)1.21s1.24s
Bind Time0.72s (± 0.56%)0.72s (± 0.97%)+0.00s (+ 0.28%)0.71s0.74s
Check Time4.47s (± 0.47%)4.47s (± 0.63%)+0.01s (+ 0.16%)4.42s4.54s
Emit Time3.02s (± 0.82%)3.00s (± 0.89%)-0.02s (- 0.56%)2.97s3.10s
Total Time9.43s (± 0.36%)9.43s (± 0.59%)-0.01s (- 0.08%)9.32s9.61s
TFS - node (v12.1.0, x64)
Memory used304,867k (± 0.02%)304,874k (± 0.02%)+7k (+ 0.00%)304,712k305,009k
Parse Time0.94s (± 0.95%)0.96s (± 0.79%)+0.01s (+ 1.16%)0.94s0.97s
Bind Time0.68s (± 0.85%)0.69s (± 2.57%)+0.01s (+ 1.32%)0.68s0.76s
Check Time4.05s (± 0.46%)4.04s (± 0.57%)-0.01s (- 0.32%)3.99s4.07s
Emit Time3.11s (± 0.69%)3.09s (± 1.01%)-0.01s (- 0.35%)3.04s3.17s
Total Time8.78s (± 0.42%)8.78s (± 0.47%)-0.01s (- 0.07%)8.68s8.86s
Angular - node (v8.9.0, x64)
Memory used350,687k (± 0.02%)351,028k (± 0.02%)+341k (+ 0.10%)350,893k351,233k
Parse Time2.11s (± 0.59%)2.12s (± 0.55%)+0.00s (+ 0.14%)2.10s2.16s
Bind Time0.90s (± 0.69%)0.90s (± 0.76%)-0.00s (- 0.33%)0.89s0.92s
Check Time5.27s (± 0.43%)5.28s (± 1.04%)+0.01s (+ 0.19%)5.18s5.39s
Emit Time6.18s (± 1.08%)6.28s (± 0.68%)+0.10s (+ 1.67%)6.14s6.34s
Total Time14.46s (± 0.57%)14.57s (± 0.62%)+0.11s (+ 0.78%)14.36s14.77s
Monaco - node (v8.9.0, x64)
Memory used364,576k (± 0.01%)364,580k (± 0.01%)+4k (+ 0.00%)364,467k364,683k
Parse Time1.57s (± 0.52%)1.57s (± 0.51%)+0.00s (+ 0.13%)1.55s1.59s
Bind Time0.92s (± 0.65%)0.92s (± 0.96%)+0.00s (+ 0.44%)0.91s0.94s
Check Time5.50s (± 1.08%)5.48s (± 1.18%)-0.03s (- 0.47%)5.30s5.59s
Emit Time3.11s (± 3.31%)3.15s (± 4.09%)+0.04s (+ 1.42%)3.04s3.50s
Total Time11.09s (± 0.71%)11.12s (± 0.81%)+0.02s (+ 0.21%)10.98s11.36s
TFS - node (v8.9.0, x64)
Memory used321,318k (± 0.01%)321,334k (± 0.01%)+16k (+ 0.01%)321,218k321,412k
Parse Time1.28s (± 0.58%)1.27s (± 0.49%)-0.01s (- 0.70%)1.26s1.28s
Bind Time0.73s (± 0.79%)0.73s (± 0.84%)+0.00s (+ 0.14%)0.72s0.74s
Check Time4.70s (± 0.40%)4.71s (± 0.51%)+0.01s (+ 0.21%)4.67s4.77s
Emit Time3.22s (± 0.42%)3.21s (± 0.61%)-0.01s (- 0.19%)3.16s3.24s
Total Time9.93s (± 0.29%)9.93s (± 0.35%)+0.00s (+ 0.03%)9.86s10.00s
Angular - node (v8.9.0, x86)
Memory used198,931k (± 0.03%)199,013k (± 0.03%)+83k (+ 0.04%)198,823k199,138k
Parse Time2.03s (± 0.53%)2.03s (± 0.50%)+0.00s (+ 0.20%)2.02s2.06s
Bind Time1.00s (± 0.36%)1.01s (± 0.57%)+0.01s (+ 0.60%)1.00s1.02s
Check Time4.80s (± 0.38%)4.82s (± 0.64%)+0.01s (+ 0.25%)4.75s4.86s
Emit Time6.13s (± 1.58%)6.07s (± 1.12%)-0.06s (- 0.91%)6.00s6.33s
Total Time13.96s (± 0.66%)13.93s (± 0.54%)-0.03s (- 0.21%)13.82s14.17s
Monaco - node (v8.9.0, x86)
Memory used204,053k (± 0.02%)204,080k (± 0.01%)+27k (+ 0.01%)203,998k204,132k
Parse Time1.61s (± 0.63%)1.61s (± 0.52%)-0.01s (- 0.37%)1.59s1.63s
Bind Time0.74s (± 0.70%)0.74s (± 0.63%)+0.00s (+ 0.14%)0.73s0.75s
Check Time5.38s (± 0.43%)5.33s (± 1.29%)-0.05s (- 0.91%)5.06s5.38s
Emit Time2.87s (± 0.59%)2.92s (± 3.08%)+0.04s (+ 1.57%)2.83s3.24s
Total Time10.61s (± 0.31%)10.60s (± 0.42%)-0.01s (- 0.06%)10.53s10.75s
TFS - node (v8.9.0, x86)
Memory used180,901k (± 0.02%)180,856k (± 0.02%)-45k (- 0.03%)180,780k180,944k
Parse Time1.32s (± 0.84%)1.31s (± 0.95%)-0.00s (- 0.23%)1.30s1.35s
Bind Time0.69s (± 0.75%)0.69s (± 1.16%)-0.00s (- 0.15%)0.67s0.71s
Check Time4.47s (± 0.72%)4.47s (± 0.47%)0.00s ( 0.00%)4.42s4.52s
Emit Time2.94s (± 0.59%)2.95s (± 1.04%)+0.01s (+ 0.31%)2.88s3.02s
Total Time9.42s (± 0.24%)9.43s (± 0.52%)+0.00s (+ 0.03%)9.29s9.53s
Angular - node (v9.0.0, x64)
Memory used350,268k (± 0.01%)350,636k (± 0.02%)+368k (+ 0.11%)350,435k350,779k
Parse Time1.84s (± 0.58%)1.83s (± 0.63%)-0.00s (- 0.11%)1.81s1.87s
Bind Time0.84s (± 1.05%)0.85s (± 0.68%)+0.01s (+ 0.83%)0.84s0.86s
Check Time5.07s (± 0.66%)5.04s (± 0.57%)-0.03s (- 0.51%)5.00s5.13s
Emit Time5.93s (± 1.37%)5.89s (± 1.86%)-0.04s (- 0.66%)5.68s6.08s
Total Time13.68s (± 0.66%)13.62s (± 0.80%)-0.06s (- 0.42%)13.40s13.83s
Monaco - node (v9.0.0, x64)
Memory used364,371k (± 0.02%)364,372k (± 0.01%)+1k (+ 0.00%)364,219k364,453k
Parse Time1.32s (± 0.38%)1.31s (± 0.52%)-0.00s (- 0.08%)1.30s1.33s
Bind Time0.87s (± 1.45%)0.86s (± 1.06%)-0.01s (- 0.81%)0.85s0.89s
Check Time5.33s (± 1.47%)5.40s (± 1.32%)+0.07s (+ 1.26%)5.14s5.50s
Emit Time3.14s (± 5.65%)3.07s (± 3.72%)-0.08s (- 2.48%)2.96s3.51s
Total Time10.66s (± 1.12%)10.64s (± 0.76%)-0.02s (- 0.16%)10.51s10.87s
TFS - node (v9.0.0, x64)
Memory used321,072k (± 0.02%)321,141k (± 0.02%)+69k (+ 0.02%)320,970k321,254k
Parse Time1.04s (± 0.50%)1.03s (± 0.66%)-0.01s (- 0.67%)1.02s1.05s
Bind Time0.68s (± 0.77%)0.68s (± 0.72%)+0.01s (+ 0.74%)0.67s0.69s
Check Time4.86s (± 0.51%)4.85s (± 0.54%)-0.00s (- 0.10%)4.80s4.92s
Emit Time3.04s (± 0.57%)3.05s (± 0.61%)+0.01s (+ 0.39%)3.01s3.09s
Total Time9.62s (± 0.44%)9.63s (± 0.35%)+0.01s (+ 0.07%)9.56s9.71s
Angular - node (v9.0.0, x86)
Memory used199,076k (± 0.02%)199,178k (± 0.03%)+102k (+ 0.05%)199,052k199,304k
Parse Time1.74s (± 0.44%)1.75s (± 0.58%)+0.01s (+ 0.86%)1.73s1.78s
Bind Time0.95s (± 0.80%)0.95s (± 1.43%)-0.00s (- 0.31%)0.93s0.99s
Check Time4.49s (± 0.50%)4.49s (± 0.84%)+0.01s (+ 0.13%)4.43s4.59s
Emit Time5.72s (± 1.32%)5.69s (± 0.49%)-0.03s (- 0.51%)5.62s5.77s
Total Time12.90s (± 0.52%)12.88s (± 0.50%)-0.02s (- 0.12%)12.75s13.04s
Monaco - node (v9.0.0, x86)
Memory used204,215k (± 0.02%)204,144k (± 0.03%)-70k (- 0.03%)204,012k204,244k
Parse Time1.35s (± 0.49%)1.35s (± 0.82%)-0.00s (- 0.00%)1.33s1.38s
Bind Time0.69s (± 1.28%)0.68s (± 1.27%)-0.01s (- 0.73%)0.67s0.71s
Check Time4.98s (± 0.53%)4.98s (± 0.61%)-0.00s (- 0.06%)4.90s5.07s
Emit Time3.23s (± 1.28%)3.26s (± 1.22%)+0.02s (+ 0.74%)3.19s3.39s
Total Time10.25s (± 0.45%)10.27s (± 0.64%)+0.02s (+ 0.20%)10.14s10.42s
TFS - node (v9.0.0, x86)
Memory used180,866k (± 0.03%)180,867k (± 0.02%)+0k (+ 0.00%)180,820k180,943k
Parse Time1.06s (± 1.01%)1.06s (± 0.63%)+0.00s (+ 0.19%)1.05s1.08s
Bind Time0.64s (± 1.18%)0.65s (± 1.12%)+0.00s (+ 0.62%)0.63s0.66s
Check Time4.34s (± 0.52%)4.38s (± 0.72%)+0.03s (+ 0.78%)4.32s4.46s
Emit Time2.91s (± 0.74%)2.92s (± 0.98%)+0.02s (+ 0.58%)2.86s3.01s
Total Time8.95s (± 0.54%)9.01s (± 0.42%)+0.06s (+ 0.66%)8.94s9.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)
BenchmarkNameIterations
Current3382810
Baselinemaster10

@jack-williams

Copy link
Copy Markdown
CollaboratorAuthor

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 5, 2019

Copy link
Copy Markdown
Contributor

Heya Jack Williams (@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

TypeScript Bot (typescript-bot) commented Oct 5, 2019

Copy link
Copy Markdown
Contributor

Heya Jack Williams (@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-williamsJack Williams (jack-williams) changed the title Fix issue with epc error-reportingFix #33732 Consistent relation checking for property symbols with error reporting.Oct 5, 2019
@jack-williams

Copy link
Copy Markdown
CollaboratorAuthor

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 5, 2019

Copy link
Copy Markdown
Contributor

Heya Jack Williams (@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
Copy Markdown
Contributor

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
Copy Markdown
Contributor

Jack Williams (@jack-williams)
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..33828

Metricmaster33828DeltaBestWorst
Angular - node (v12.1.0, x64)
Memory used331,479k (± 0.06%)331,861k (± 0.05%)+382k (+ 0.12%)331,334k332,147k
Parse Time1.57s (± 0.64%)1.58s (± 0.74%)+0.01s (+ 0.57%)1.55s1.60s
Bind Time0.84s (± 1.07%)0.84s (± 0.69%)+0.00s (+ 0.12%)0.83s0.85s
Check Time4.40s (± 0.42%)4.42s (± 0.88%)+0.02s (+ 0.48%)4.34s4.51s
Emit Time5.48s (± 1.27%)5.45s (± 0.75%)-0.03s (- 0.55%)5.36s5.53s
Total Time12.28s (± 0.51%)12.28s (± 0.56%)-0.00s (- 0.02%)12.14s12.41s
Monaco - node (v12.1.0, x64)
Memory used346,590k (± 0.01%)346,585k (± 0.02%)-5k (- 0.00%)346,351k346,818k
Parse Time1.23s (± 0.83%)1.22s (± 0.53%)-0.01s (- 0.90%)1.21s1.24s
Bind Time0.72s (± 0.56%)0.72s (± 1.46%)+0.00s (+ 0.14%)0.70s0.75s
Check Time4.47s (± 0.47%)4.47s (± 0.43%)-0.00s (- 0.04%)4.42s4.51s
Emit Time3.02s (± 0.82%)3.00s (± 0.96%)-0.02s (- 0.60%)2.96s3.11s
Total Time9.43s (± 0.36%)9.41s (± 0.39%)-0.02s (- 0.23%)9.34s9.50s
TFS - node (v12.1.0, x64)
Memory used304,867k (± 0.02%)304,875k (± 0.02%)+8k (+ 0.00%)304,749k305,039k
Parse Time0.94s (± 0.95%)0.95s (± 0.87%)+0.00s (+ 0.11%)0.93s0.97s
Bind Time0.68s (± 0.85%)0.68s (± 1.21%)+0.00s (+ 0.59%)0.67s0.71s
Check Time4.05s (± 0.46%)4.05s (± 0.49%)-0.00s (- 0.02%)4.01s4.09s
Emit Time3.11s (± 0.69%)3.12s (± 1.11%)+0.01s (+ 0.45%)3.08s3.22s
Total Time8.78s (± 0.42%)8.80s (± 0.50%)+0.02s (+ 0.22%)8.74s8.91s
Angular - node (v8.9.0, x64)
Memory used350,687k (± 0.02%)351,027k (± 0.02%)+340k (+ 0.10%)350,891k351,174k
Parse Time2.11s (± 0.59%)2.11s (± 0.31%)-0.01s (- 0.24%)2.10s2.13s
Bind Time0.90s (± 0.69%)0.90s (± 0.74%)+0.00s (+ 0.11%)0.89s0.92s
Check Time5.27s (± 0.43%)5.28s (± 0.65%)+0.01s (+ 0.21%)5.18s5.33s
Emit Time6.18s (± 1.08%)6.25s (± 0.76%)+0.07s (+ 1.17%)6.10s6.33s
Total Time14.46s (± 0.57%)14.53s (± 0.53%)+0.08s (+ 0.53%)14.28s14.66s
Monaco - node (v8.9.0, x64)
Memory used364,576k (± 0.01%)364,575k (± 0.01%)-1k (- 0.00%)364,493k364,687k
Parse Time1.57s (± 0.52%)1.57s (± 0.47%)0.00s ( 0.00%)1.56s1.59s
Bind Time0.92s (± 0.65%)0.92s (± 0.65%)-0.00s (- 0.11%)0.90s0.93s
Check Time5.50s (± 1.08%)5.52s (± 0.69%)+0.02s (+ 0.38%)5.43s5.62s
Emit Time3.11s (± 3.31%)3.06s (± 0.60%)-0.05s (- 1.55%)3.03s3.11s
Total Time11.09s (± 0.71%)11.07s (± 0.35%)-0.03s (- 0.23%)11.01s11.17s
TFS - node (v8.9.0, x64)
Memory used321,318k (± 0.01%)321,320k (± 0.01%)+2k (+ 0.00%)321,250k321,382k
Parse Time1.28s (± 0.58%)1.28s (± 0.53%)-0.00s (- 0.31%)1.27s1.30s
Bind Time0.73s (± 0.79%)0.73s (± 0.64%)0.00s ( 0.00%)0.72s0.74s
Check Time4.70s (± 0.40%)4.69s (± 0.53%)-0.02s (- 0.34%)4.65s4.76s
Emit Time3.22s (± 0.42%)3.21s (± 0.70%)-0.01s (- 0.40%)3.15s3.25s
Total Time9.93s (± 0.29%)9.89s (± 0.33%)-0.03s (- 0.33%)9.85s9.98s
Angular - node (v8.9.0, x86)
Memory used198,931k (± 0.03%)199,056k (± 0.04%)+126k (+ 0.06%)198,866k199,183k
Parse Time2.03s (± 0.53%)2.04s (± 0.86%)+0.01s (+ 0.54%)2.03s2.11s
Bind Time1.00s (± 0.36%)1.01s (± 1.04%)+0.01s (+ 0.60%)0.99s1.04s
Check Time4.80s (± 0.38%)4.81s (± 0.51%)+0.01s (+ 0.15%)4.76s4.87s
Emit Time6.13s (± 1.58%)6.18s (± 1.72%)+0.05s (+ 0.88%)6.03s6.42s
Total Time13.96s (± 0.66%)14.05s (± 0.73%)+0.08s (+ 0.59%)13.84s14.27s
Monaco - node (v8.9.0, x86)
Memory used204,053k (± 0.02%)204,061k (± 0.02%)+7k (+ 0.00%)203,953k204,149k
Parse Time1.61s (± 0.63%)1.61s (± 0.58%)-0.01s (- 0.43%)1.58s1.63s
Bind Time0.74s (± 0.70%)0.74s (± 0.87%)+0.00s (+ 0.41%)0.73s0.76s
Check Time5.38s (± 0.43%)5.33s (± 1.76%)-0.05s (- 0.95%)5.05s5.47s
Emit Time2.87s (± 0.59%)2.98s (± 4.21%)+0.11s (+ 3.94%)2.84s3.32s
Total Time10.61s (± 0.31%)10.67s (± 0.50%)+0.06s (+ 0.54%)10.58s10.79s
TFS - node (v8.9.0, x86)
Memory used180,901k (± 0.02%)180,846k (± 0.03%)-55k (- 0.03%)180,766k180,937k
Parse Time1.32s (± 0.84%)1.30s (± 0.56%)-0.02s (- 1.14%)1.29s1.32s
Bind Time0.69s (± 0.75%)0.69s (± 0.83%)+0.00s (+ 0.15%)0.68s0.71s
Check Time4.47s (± 0.72%)4.48s (± 0.58%)+0.00s (+ 0.07%)4.43s4.54s
Emit Time2.94s (± 0.59%)2.98s (± 1.07%)+0.03s (+ 1.16%)2.88s3.05s
Total Time9.42s (± 0.24%)9.45s (± 0.44%)+0.02s (+ 0.24%)9.34s9.51s
Angular - node (v9.0.0, x64)
Memory used350,268k (± 0.01%)350,664k (± 0.02%)+396k (+ 0.11%)350,562k350,767k
Parse Time1.84s (± 0.58%)1.83s (± 0.55%)-0.01s (- 0.54%)1.81s1.86s
Bind Time0.84s (± 1.05%)0.85s (± 1.11%)+0.00s (+ 0.47%)0.82s0.87s
Check Time5.07s (± 0.66%)5.04s (± 0.45%)-0.03s (- 0.59%)4.96s5.07s
Emit Time5.93s (± 1.37%)5.89s (± 1.06%)-0.04s (- 0.69%)5.71s5.98s
Total Time13.68s (± 0.66%)13.60s (± 0.46%)-0.08s (- 0.56%)13.45s13.74s
Monaco - node (v9.0.0, x64)
Memory used364,371k (± 0.02%)364,418k (± 0.02%)+47k (+ 0.01%)364,295k364,603k
Parse Time1.32s (± 0.38%)1.31s (± 0.47%)-0.01s (- 0.46%)1.30s1.32s
Bind Time0.87s (± 1.45%)0.86s (± 1.19%)-0.01s (- 0.81%)0.84s0.89s
Check Time5.33s (± 1.47%)5.40s (± 1.36%)+0.06s (+ 1.22%)5.11s5.48s
Emit Time3.14s (± 5.65%)3.05s (± 3.44%)-0.09s (- 2.89%)2.97s3.47s
Total Time10.66s (± 1.12%)10.62s (± 0.47%)-0.04s (- 0.36%)10.54s10.77s
TFS - node (v9.0.0, x64)
Memory used321,072k (± 0.02%)321,086k (± 0.01%)+14k (+ 0.00%)321,018k321,165k
Parse Time1.04s (± 0.50%)1.03s (± 0.71%)-0.01s (- 1.25%)1.01s1.04s
Bind Time0.68s (± 0.77%)0.68s (± 0.77%)+0.00s (+ 0.00%)0.67s0.69s
Check Time4.86s (± 0.51%)4.86s (± 0.52%)+0.00s (+ 0.02%)4.79s4.92s
Emit Time3.04s (± 0.57%)3.04s (± 0.67%)+0.01s (+ 0.20%)3.00s3.09s
Total Time9.62s (± 0.44%)9.61s (± 0.43%)-0.01s (- 0.07%)9.50s9.69s
Angular - node (v9.0.0, x86)
Memory used199,076k (± 0.02%)199,209k (± 0.02%)+133k (+ 0.07%)199,102k199,347k
Parse Time1.74s (± 0.44%)1.74s (± 0.48%)+0.01s (+ 0.29%)1.72s1.76s
Bind Time0.95s (± 0.80%)0.96s (± 0.99%)+0.00s (+ 0.10%)0.93s0.97s
Check Time4.49s (± 0.50%)4.48s (± 0.49%)-0.01s (- 0.18%)4.43s4.54s
Emit Time5.72s (± 1.32%)5.71s (± 0.98%)-0.01s (- 0.12%)5.58s5.88s
Total Time12.90s (± 0.52%)12.89s (± 0.34%)-0.01s (- 0.07%)12.78s12.97s
Monaco - node (v9.0.0, x86)
Memory used204,215k (± 0.02%)204,165k (± 0.03%)-50k (- 0.02%)204,070k204,304k
Parse Time1.35s (± 0.49%)1.34s (± 0.43%)-0.01s (- 0.96%)1.32s1.35s
Bind Time0.69s (± 1.28%)0.69s (± 1.30%)-0.00s (- 0.15%)0.68s0.72s
Check Time4.98s (± 0.53%)4.95s (± 0.50%)-0.03s (- 0.64%)4.91s5.01s
Emit Time3.23s (± 1.28%)3.23s (± 0.79%)-0.01s (- 0.15%)3.18s3.30s
Total Time10.25s (± 0.45%)10.20s (± 0.44%)-0.04s (- 0.43%)10.10s10.31s
TFS - node (v9.0.0, x86)
Memory used180,866k (± 0.03%)180,859k (± 0.02%)-7k (- 0.00%)180,773k180,934k
Parse Time1.06s (± 1.01%)1.06s (± 0.75%)+0.00s (+ 0.09%)1.05s1.08s
Bind Time0.64s (± 1.18%)0.65s (± 1.36%)+0.00s (+ 0.47%)0.63s0.67s
Check Time4.34s (± 0.52%)4.37s (± 0.51%)+0.03s (+ 0.58%)4.32s4.42s
Emit Time2.91s (± 0.74%)2.90s (± 1.07%)-0.00s (- 0.14%)2.83s2.97s
Total Time8.95s (± 0.54%)8.98s (± 0.47%)+0.03s (+ 0.29%)8.87s9.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)
BenchmarkNameIterations
Current3382810
Baselinemaster10

@jack-williams

Copy link
Copy Markdown
CollaboratorAuthor

Community tests failures are noise.

@arcanis

Copy link
Copy Markdown
Contributor

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

@jack-williams

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for trying it out Maël Nison (@arcanis).

@arcanis

Copy link
Copy Markdown
Contributor

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

@jack-williams

Copy link
Copy Markdown
CollaboratorAuthor

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

ping'ing Ryan Cavanaugh (@RyanCavanaugh) to answer that one

Copy link
Copy Markdown
Member

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 Wesley Wigham (@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

Wesley Wigham (weswigham) commented Oct 28, 2019

Copy link
Copy Markdown
Member
  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
Copy Markdown
CollaboratorAuthor

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 29, 2019

Copy link
Copy Markdown
Contributor

Heya Jack Williams (@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
Copy Markdown
Contributor

Jack Williams (@jack-williams)
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..33828

Metricmaster33828DeltaBestWorst
Angular - node (v10.16.3, x64)
Memory used355,137k (± 0.01%)356,305k (± 0.02%)+1,168k (+ 0.33%)356,149k356,470k
Parse Time1.62s (± 0.75%)1.62s (± 0.62%)-0.00s (- 0.06%)1.60s1.64s
Bind Time0.86s (± 0.64%)0.86s (± 0.87%)-0.01s (- 0.58%)0.85s0.88s
Check Time4.52s (± 0.54%)4.51s (± 0.65%)-0.01s (- 0.27%)4.44s4.59s
Emit Time5.27s (± 0.49%)5.29s (± 0.54%)+0.01s (+ 0.28%)5.22s5.36s
Total Time12.27s (± 0.32%)12.27s (± 0.46%)-0.01s (- 0.04%)12.17s12.43s
Monaco - node (v10.16.3, x64)
Memory used365,952k (± 0.02%)366,854k (± 0.02%)+902k (+ 0.25%)366,702k366,975k
Parse Time1.26s (± 0.49%)1.27s (± 0.66%)+0.01s (+ 0.48%)1.25s1.28s
Bind Time0.75s (± 0.40%)0.75s (± 0.59%)0.00s ( 0.00%)0.74s0.76s
Check Time4.64s (± 0.50%)4.65s (± 0.62%)+0.01s (+ 0.15%)4.58s4.70s
Emit Time2.93s (± 0.77%)2.94s (± 0.60%)+0.01s (+ 0.38%)2.89s2.97s
Total Time9.58s (± 0.43%)9.60s (± 0.49%)+0.02s (+ 0.23%)9.51s9.70s
TFS - node (v10.16.3, x64)
Memory used321,604k (± 0.02%)322,464k (± 0.02%)+860k (+ 0.27%)322,369k322,622k
Parse Time0.96s (± 0.61%)0.95s (± 0.86%)-0.00s (- 0.42%)0.94s0.97s
Bind Time0.72s (± 1.42%)0.72s (± 1.34%)+0.00s (+ 0.28%)0.70s0.74s
Check Time4.09s (± 0.58%)4.13s (± 0.63%)+0.04s (+ 1.08%)4.08s4.18s
Emit Time3.06s (± 0.53%)3.05s (± 0.84%)-0.01s (- 0.26%)3.00s3.10s
Total Time8.83s (± 0.34%)8.86s (± 0.40%)+0.03s (+ 0.33%)8.77s8.94s
Angular - node (v12.1.0, x64)
Memory used330,598k (± 0.08%)331,891k (± 0.02%)+1,294k (+ 0.39%)331,723k332,024k
Parse Time1.57s (± 0.66%)1.58s (± 0.55%)+0.01s (+ 0.89%)1.57s1.60s
Bind Time0.84s (± 0.68%)0.84s (± 1.52%)+0.00s (+ 0.24%)0.83s0.88s
Check Time4.46s (± 0.76%)4.41s (± 0.29%)-0.05s (- 1.05%)4.38s4.43s
Emit Time5.44s (± 0.58%)5.42s (± 0.44%)-0.02s (- 0.33%)5.38s5.48s
Total Time12.31s (± 0.46%)12.25s (± 0.32%)-0.05s (- 0.44%)12.16s12.34s
Monaco - node (v12.1.0, x64)
Memory used345,729k (± 0.01%)346,612k (± 0.02%)+884k (+ 0.26%)346,443k346,774k
Parse Time1.22s (± 0.73%)1.23s (± 0.78%)+0.00s (+ 0.08%)1.20s1.24s
Bind Time0.72s (± 1.67%)0.72s (± 0.77%)-0.00s (- 0.28%)0.71s0.73s
Check Time4.48s (± 0.42%)4.46s (± 0.39%)-0.02s (- 0.42%)4.42s4.49s
Emit Time3.00s (± 0.68%)3.03s (± 1.26%)+0.04s (+ 1.20%)2.96s3.11s
Total Time9.43s (± 0.34%)9.44s (± 0.54%)+0.01s (+ 0.12%)9.32s9.55s
TFS - node (v12.1.0, x64)
Memory used304,054k (± 0.02%)304,887k (± 0.02%)+833k (+ 0.27%)304,713k305,045k
Parse Time0.95s (± 0.50%)0.95s (± 0.55%)-0.00s (- 0.21%)0.94s0.96s
Bind Time0.68s (± 0.76%)0.68s (± 0.81%)+0.00s (+ 0.15%)0.67s0.69s
Check Time4.04s (± 0.45%)4.05s (± 0.53%)+0.01s (+ 0.17%)3.99s4.08s
Emit Time3.12s (± 0.76%)3.11s (± 1.00%)-0.00s (- 0.16%)3.04s3.19s
Total Time8.79s (± 0.39%)8.79s (± 0.46%)+0.00s (+ 0.01%)8.73s8.88s
Angular - node (v8.9.0, x64)
Memory used349,924k (± 0.02%)351,027k (± 0.02%)+1,103k (+ 0.32%)350,889k351,152k
Parse Time2.10s (± 0.77%)2.12s (± 0.69%)+0.01s (+ 0.71%)2.08s2.16s
Bind Time0.90s (± 0.54%)0.91s (± 0.71%)+0.00s (+ 0.44%)0.89s0.92s
Check Time5.26s (± 0.67%)5.31s (± 0.72%)+0.05s (+ 0.91%)5.22s5.37s
Emit Time6.23s (± 0.72%)6.24s (± 1.11%)+0.01s (+ 0.19%)6.04s6.36s
Total Time14.49s (± 0.51%)14.57s (± 0.74%)+0.07s (+ 0.51%)14.23s14.79s
Monaco - node (v8.9.0, x64)
Memory used363,711k (± 0.02%)364,530k (± 0.01%)+818k (+ 0.22%)364,452k364,623k
Parse Time1.56s (± 0.45%)1.57s (± 0.46%)+0.01s (+ 0.83%)1.56s1.59s
Bind Time0.92s (± 0.75%)0.92s (± 0.76%)+0.00s (+ 0.44%)0.91s0.94s
Check Time5.52s (± 0.55%)5.54s (± 1.05%)+0.02s (+ 0.40%)5.36s5.64s
Emit Time3.04s (± 0.73%)3.10s (± 3.55%)+0.05s (+ 1.81%)3.03s3.54s
Total Time11.04s (± 0.38%)11.13s (± 0.73%)+0.09s (+ 0.86%)11.03s11.42s
TFS - node (v8.9.0, x64)
Memory used320,497k (± 0.01%)321,302k (± 0.02%)+805k (+ 0.25%)321,186k321,418k
Parse Time1.27s (± 0.46%)1.27s (± 0.27%)+0.00s (+ 0.00%)1.27s1.28s
Bind Time0.74s (± 0.75%)0.74s (± 0.60%)+0.00s (+ 0.54%)0.73s0.75s
Check Time4.71s (± 0.86%)4.74s (± 0.59%)+0.03s (+ 0.57%)4.70s4.80s
Emit Time3.24s (± 0.68%)3.22s (± 0.88%)-0.01s (- 0.34%)3.14s3.27s
Total Time9.96s (± 0.60%)9.98s (± 0.41%)+0.02s (+ 0.19%)9.90s10.07s
Angular - node (v8.9.0, x86)
Memory used198,621k (± 0.02%)199,053k (± 0.04%)+431k (+ 0.22%)198,876k199,235k
Parse Time2.02s (± 0.76%)2.04s (± 0.86%)+0.02s (+ 0.84%)2.02s2.08s
Bind Time1.02s (± 1.04%)1.01s (± 0.99%)-0.01s (- 1.07%)1.00s1.05s
Check Time4.79s (± 0.53%)4.82s (± 0.60%)+0.02s (+ 0.50%)4.76s4.90s
Emit Time6.08s (± 1.11%)6.05s (± 0.57%)-0.02s (- 0.38%)6.00s6.13s
Total Time13.92s (± 0.53%)13.93s (± 0.48%)+0.01s (+ 0.04%)13.83s14.12s
Monaco - node (v8.9.0, x86)
Memory used203,735k (± 0.02%)204,074k (± 0.02%)+339k (+ 0.17%)204,019k204,145k
Parse Time1.60s (± 0.59%)1.61s (± 0.64%)+0.01s (+ 0.44%)1.59s1.64s
Bind Time0.74s (± 0.49%)0.74s (± 0.78%)-0.00s (- 0.13%)0.73s0.76s
Check Time5.40s (± 0.59%)5.29s (± 1.86%)-0.11s (- 2.11%)5.06s5.42s
Emit Time2.88s (± 1.40%)3.01s (± 4.45%)+0.13s (+ 4.41%)2.86s3.33s
Total Time10.63s (± 0.29%)10.65s (± 0.45%)+0.02s (+ 0.17%)10.57s10.80s
TFS - node (v8.9.0, x86)
Memory used180,558k (± 0.02%)180,846k (± 0.02%)+289k (+ 0.16%)180,749k180,923k
Parse Time1.31s (± 0.51%)1.31s (± 0.53%)+0.00s (+ 0.08%)1.30s1.33s
Bind Time0.69s (± 0.32%)0.69s (± 0.65%)-0.00s (- 0.43%)0.68s0.70s
Check Time4.46s (± 0.41%)4.52s (± 0.75%)+0.05s (+ 1.19%)4.46s4.60s
Emit Time2.96s (± 0.69%)2.98s (± 0.99%)+0.02s (+ 0.71%)2.90s3.05s
Total Time9.42s (± 0.33%)9.49s (± 0.48%)+0.07s (+ 0.79%)9.38s9.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)
BenchmarkNameIterations
Current3382810
Baselinemaster10

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

cc Ryan Cavanaugh (@RyanCavanaugh) for final merges and porting to desired branches

@jack-williams

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the detailed write-up Wesley Wigham (@weswigham)!

@bene-starzengruber

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
Copy Markdown
CollaboratorAuthor

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

@microsoftMicrosoft (microsoft) locked as resolved and limited conversation to collaborators Oct 21, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

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

@jack-williams@typescript-bot@arcanis@weswigham@bene-starzengruber@sandersn