Skip to content

fix(50551): Destructuring assignment with var bypasses "variable is used before being assigned" check (2454) - #50560

Merged
Gabriela Araujo Britto (gabritto) merged 4 commits into
microsoft:mainfrom
a-tarasyuk:fix/50551
Oct 20, 2022
Merged

fix(50551): Destructuring assignment with var bypasses "variable is used before being assigned" check (2454)#50560
Gabriela Araujo Britto (gabritto) merged 4 commits into
microsoft:mainfrom
a-tarasyuk:fix/50551

Conversation

@a-tarasyuk

Copy link
Copy Markdown
Contributor

Fixes #50551

@typescript-bot TypeScript Bot (typescript-bot) added the For Backlog Bug PRs that fix a backlog bug label Aug 31, 2022
@DanielRosenwasser

Copy link
Copy Markdown
Member

@typescript-bot

TypeScript Bot (typescript-bot) commented Aug 31, 2022

Copy link
Copy Markdown
Contributor

Heya Daniel Rosenwasser (@DanielRosenwasser), I've started to run the diff-based user code test suite on this PR at f279dd5. You can monitor the build here.

@typescript-bot

TypeScript Bot (typescript-bot) commented Aug 31, 2022

Copy link
Copy Markdown
Contributor

Heya Daniel Rosenwasser (@DanielRosenwasser), I've started to run the diff-based user code test suite on this PR at f279dd5. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Aug 31, 2022

Copy link
Copy Markdown
Contributor

Heya Daniel Rosenwasser (@DanielRosenwasser), I've started to run the perf test suite on this PR at f279dd5. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Aug 31, 2022

Copy link
Copy Markdown
Contributor

Heya Daniel Rosenwasser (@DanielRosenwasser), I've started to run the extended test suite on this PR at f279dd5. You can monitor the build here.

@typescript-bot

Copy link
Copy Markdown
Contributor

Daniel Rosenwasser (@DanielRosenwasser) Here are the results of running the user test suite comparing main and refs/pull/50560/merge:

Something interesting changed - please have a look.

Details

puppeteer

scripts/tsconfig.json

tsconfig.json

@typescript-bot

Copy link
Copy Markdown
Contributor

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

@DanielRosenwasser

Copy link
Copy Markdown
Member

Looks like this breaks valid code and needs some other checks as well. Why this was condition was accounted for, but not tested, is surprising. So we need a test like

declare const obj: { a?: string, b?: number };
const {
  a = "0",
  b = +a,
} = obj;

This should not trigger an error.

@typescript-bot

Copy link
Copy Markdown
Contributor

Daniel Rosenwasser (@DanielRosenwasser)
The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - main..50560
Metric main 50560 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 363,148k (± 0.02%) 363,154k (± 0.02%) +7k (+ 0.00%) 362,936k 363,328k
Parse Time 2.10s (± 0.64%) 2.09s (± 0.83%) -0.01s (- 0.62%) 2.06s 2.13s
Bind Time 0.79s (± 0.84%) 0.79s (± 0.57%) -0.00s (- 0.25%) 0.78s 0.80s
Check Time 6.18s (± 0.69%) 6.13s (± 0.52%) -0.05s (- 0.74%) 6.06s 6.20s
Emit Time 6.07s (± 0.87%) 5.96s (± 0.75%) -0.10s (- 1.70%) 5.87s 6.09s
Total Time 15.13s (± 0.53%) 14.97s (± 0.56%) -0.16s (- 1.07%) 14.82s 15.19s
Compiler-Unions - node (v10.16.3, x64)
Memory used 206,058k (± 0.04%) 206,115k (± 0.05%) +57k (+ 0.03%) 205,898k 206,394k
Parse Time 0.84s (± 1.01%) 0.84s (± 0.71%) -0.00s (- 0.36%) 0.82s 0.85s
Bind Time 0.47s (± 1.04%) 0.47s (± 0.85%) -0.00s (- 0.63%) 0.46s 0.48s
Check Time 8.47s (± 0.21%) 8.38s (± 0.63%) -0.09s (- 1.06%) 8.27s 8.53s
Emit Time 2.50s (± 1.53%) 2.48s (± 0.77%) -0.02s (- 0.76%) 2.44s 2.54s
Total Time 12.29s (± 0.29%) 12.17s (± 0.44%) -0.12s (- 0.97%) 12.05s 12.32s
Monaco - node (v10.16.3, x64)
Memory used 344,739k (± 0.03%) 344,651k (± 0.02%) -88k (- 0.03%) 344,397k 344,847k
Parse Time 1.61s (± 0.74%) 1.60s (± 0.69%) -0.01s (- 0.31%) 1.58s 1.63s
Bind Time 0.70s (± 0.63%) 0.69s (± 0.86%) -0.01s (- 1.00%) 0.68s 0.71s
Check Time 6.26s (± 0.39%) 6.21s (± 0.48%) -0.05s (- 0.77%) 6.13s 6.28s
Emit Time 3.23s (± 0.99%) 3.21s (± 1.03%) -0.03s (- 0.80%) 3.15s 3.29s
Total Time 11.81s (± 0.43%) 11.72s (± 0.47%) -0.09s (- 0.73%) 11.61s 11.86s
TFS - node (v10.16.3, x64)
Memory used 305,921k (± 0.01%) 305,845k (± 0.02%) -76k (- 0.02%) 305,671k 305,955k
Parse Time 1.29s (± 0.70%) 1.29s (± 0.76%) +0.00s (+ 0.23%) 1.26s 1.31s
Bind Time 0.68s (± 0.77%) 0.67s (± 1.01%) -0.01s (- 0.74%) 0.66s 0.69s
Check Time 5.51s (± 0.68%) 5.51s (± 0.36%) -0.01s (- 0.09%) 5.45s 5.56s
Emit Time 3.42s (± 2.11%) 3.42s (± 1.51%) +0.01s (+ 0.18%) 3.30s 3.57s
Total Time 10.90s (± 0.83%) 10.89s (± 0.57%) -0.00s (- 0.03%) 10.76s 11.10s
material-ui - node (v10.16.3, x64)
Memory used 460,722k (± 0.01%) 460,773k (± 0.01%) +51k (+ 0.01%) 460,683k 460,903k
Parse Time 1.83s (± 0.82%) 1.82s (± 0.73%) -0.01s (- 0.49%) 1.80s 1.86s
Bind Time 0.58s (± 1.79%) 0.59s (± 1.29%) +0.00s (+ 0.69%) 0.57s 0.60s
Check Time 15.81s (± 0.76%) 15.76s (± 0.74%) -0.05s (- 0.34%) 15.53s 16.01s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 18.23s (± 0.73%) 18.17s (± 0.67%) -0.06s (- 0.33%) 17.93s 18.43s
xstate - node (v10.16.3, x64)
Memory used 587,723k (± 1.25%) 584,437k (± 0.02%) -3,287k (- 0.56%) 584,178k 584,595k
Parse Time 2.62s (± 0.47%) 2.62s (± 0.46%) -0.01s (- 0.23%) 2.59s 2.65s
Bind Time 0.92s (± 0.67%) 0.92s (± 0.65%) -0.01s (- 0.54%) 0.91s 0.93s
Check Time 1.63s (± 0.47%) 1.63s (± 0.79%) +0.00s (+ 0.06%) 1.60s 1.66s
Emit Time 0.07s (± 4.13%) 0.07s (± 4.13%) 0.00s ( 0.00%) 0.07s 0.08s
Total Time 5.24s (± 0.27%) 5.23s (± 0.44%) -0.01s (- 0.25%) 5.18s 5.29s
Angular - node (v12.1.0, x64)
Memory used 340,592k (± 0.09%) 340,702k (± 0.03%) +111k (+ 0.03%) 340,440k 340,857k
Parse Time 2.08s (± 0.57%) 2.07s (± 0.49%) -0.01s (- 0.34%) 2.04s 2.09s
Bind Time 0.77s (± 0.58%) 0.77s (± 0.68%) +0.00s (+ 0.13%) 0.76s 0.78s
Check Time 5.83s (± 0.64%) 5.82s (± 0.83%) -0.01s (- 0.21%) 5.76s 6.00s
Emit Time 6.25s (± 0.80%) 6.20s (± 0.41%) -0.05s (- 0.74%) 6.16s 6.26s
Total Time 14.93s (± 0.47%) 14.86s (± 0.40%) -0.07s (- 0.44%) 14.77s 15.03s
Compiler-Unions - node (v12.1.0, x64)
Memory used 193,897k (± 0.12%) 193,946k (± 0.11%) +49k (+ 0.03%) 193,127k 194,170k
Parse Time 0.83s (± 0.99%) 0.82s (± 0.92%) -0.01s (- 1.20%) 0.81s 0.84s
Bind Time 0.47s (± 1.25%) 0.47s (± 0.94%) -0.00s (- 0.42%) 0.46s 0.48s
Check Time 6.68s (± 0.40%) 6.64s (± 0.50%) -0.04s (- 0.67%) 6.55s 6.70s
Emit Time 2.47s (± 1.87%) 2.45s (± 0.88%) -0.02s (- 0.89%) 2.41s 2.49s
Total Time 10.46s (± 0.56%) 10.39s (± 0.46%) -0.08s (- 0.73%) 10.25s 10.47s
Monaco - node (v12.1.0, x64)
Memory used 327,692k (± 0.01%) 327,700k (± 0.02%) +8k (+ 0.00%) 327,472k 327,867k
Parse Time 1.58s (± 0.97%) 1.57s (± 0.72%) -0.01s (- 0.63%) 1.54s 1.60s
Bind Time 0.70s (± 0.93%) 0.70s (± 1.00%) +0.00s (+ 0.14%) 0.69s 0.72s
Check Time 5.85s (± 0.47%) 5.77s (± 0.36%) -0.08s (- 1.30%) 5.74s 5.81s
Emit Time 3.30s (± 0.74%) 3.30s (± 1.34%) +0.00s (+ 0.15%) 3.22s 3.45s
Total Time 11.43s (± 0.45%) 11.35s (± 0.38%) -0.08s (- 0.70%) 11.24s 11.46s
TFS - node (v12.1.0, x64)
Memory used 290,427k (± 0.08%) 290,448k (± 0.06%) +21k (+ 0.01%) 289,786k 290,650k
Parse Time 1.30s (± 1.03%) 1.29s (± 0.72%) -0.01s (- 0.69%) 1.27s 1.31s
Bind Time 0.68s (± 1.18%) 0.67s (± 1.16%) -0.01s (- 1.33%) 0.65s 0.69s
Check Time 5.40s (± 0.57%) 5.37s (± 0.69%) -0.03s (- 0.54%) 5.30s 5.45s
Emit Time 3.51s (± 0.87%) 3.46s (± 0.77%) -0.05s (- 1.37%) 3.41s 3.51s
Total Time 10.88s (± 0.53%) 10.78s (± 0.29%) -0.09s (- 0.87%) 10.72s 10.85s
material-ui - node (v12.1.0, x64)
Memory used 439,760k (± 0.09%) 439,951k (± 0.07%) +191k (+ 0.04%) 438,798k 440,246k
Parse Time 1.82s (± 0.92%) 1.81s (± 0.48%) -0.01s (- 0.49%) 1.80s 1.83s
Bind Time 0.56s (± 1.07%) 0.55s (± 0.60%) -0.01s (- 1.08%) 0.54s 0.56s
Check Time 12.90s (± 1.45%) 12.75s (± 0.56%) -0.15s (- 1.12%) 12.64s 12.94s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.27s (± 1.32%) 15.12s (± 0.48%) -0.16s (- 1.02%) 14.99s 15.30s
xstate - node (v12.1.0, x64)
Memory used 552,857k (± 1.28%) 549,704k (± 0.01%) -3,153k (- 0.57%) 549,501k 549,835k
Parse Time 2.55s (± 0.65%) 2.54s (± 0.54%) -0.01s (- 0.47%) 2.51s 2.58s
Bind Time 0.89s (± 0.65%) 0.89s (± 0.75%) 0.00s ( 0.00%) 0.88s 0.90s
Check Time 1.49s (± 0.57%) 1.49s (± 0.45%) +0.00s (+ 0.13%) 1.48s 1.51s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.00s (± 0.48%) 4.99s (± 0.43%) -0.02s (- 0.34%) 4.95s 5.05s
Angular - node (v14.15.1, x64)
Memory used 338,732k (± 0.00%) 338,717k (± 0.00%) -15k (- 0.00%) 338,674k 338,759k
Parse Time 2.08s (± 1.37%) 2.08s (± 0.91%) -0.01s (- 0.29%) 2.05s 2.13s
Bind Time 0.79s (± 0.38%) 0.79s (± 0.62%) +0.00s (+ 0.25%) 0.79s 0.81s
Check Time 5.82s (± 0.45%) 5.83s (± 0.51%) +0.01s (+ 0.10%) 5.77s 5.90s
Emit Time 6.14s (± 0.63%) 6.11s (± 0.46%) -0.03s (- 0.54%) 6.07s 6.19s
Total Time 14.84s (± 0.46%) 14.81s (± 0.32%) -0.03s (- 0.22%) 14.73s 14.91s
Compiler-Unions - node (v14.15.1, x64)
Memory used 192,635k (± 0.01%) 192,546k (± 0.12%) -89k (- 0.05%) 191,606k 192,692k
Parse Time 0.86s (± 0.78%) 0.85s (± 0.94%) -0.01s (- 0.58%) 0.84s 0.87s
Bind Time 0.49s (± 0.91%) 0.48s (± 0.75%) -0.00s (- 0.82%) 0.48s 0.49s
Check Time 6.69s (± 0.41%) 6.67s (± 0.95%) -0.02s (- 0.27%) 6.54s 6.87s
Emit Time 2.39s (± 0.46%) 2.42s (± 1.03%) +0.03s (+ 1.17%) 2.38s 2.49s
Total Time 10.43s (± 0.28%) 10.43s (± 0.68%) +0.00s (+ 0.02%) 10.25s 10.64s
Monaco - node (v14.15.1, x64)
Memory used 326,520k (± 0.01%) 326,527k (± 0.01%) +8k (+ 0.00%) 326,477k 326,569k
Parse Time 1.58s (± 0.64%) 1.58s (± 0.89%) +0.00s (+ 0.19%) 1.55s 1.61s
Bind Time 0.72s (± 0.77%) 0.73s (± 0.96%) +0.01s (+ 1.25%) 0.72s 0.75s
Check Time 5.72s (± 0.28%) 5.71s (± 0.61%) -0.01s (- 0.23%) 5.61s 5.76s
Emit Time 3.32s (± 0.72%) 3.31s (± 0.82%) -0.00s (- 0.09%) 3.25s 3.37s
Total Time 11.33s (± 0.25%) 11.33s (± 0.47%) -0.01s (- 0.05%) 11.21s 11.43s
TFS - node (v14.15.1, x64)
Memory used 289,622k (± 0.01%) 289,643k (± 0.01%) +21k (+ 0.01%) 289,601k 289,688k
Parse Time 1.30s (± 0.73%) 1.31s (± 0.63%) +0.00s (+ 0.23%) 1.28s 1.32s
Bind Time 0.79s (± 0.78%) 0.79s (± 0.75%) +0.00s (+ 0.38%) 0.78s 0.81s
Check Time 5.34s (± 0.39%) 5.32s (± 0.22%) -0.02s (- 0.34%) 5.30s 5.35s
Emit Time 3.60s (± 0.64%) 3.57s (± 0.72%) -0.03s (- 0.78%) 3.53s 3.64s
Total Time 11.03s (± 0.37%) 10.99s (± 0.26%) -0.04s (- 0.37%) 10.95s 11.06s
material-ui - node (v14.15.1, x64)
Memory used 438,198k (± 0.00%) 438,070k (± 0.06%) -128k (- 0.03%) 437,036k 438,232k
Parse Time 1.86s (± 0.40%) 1.86s (± 0.54%) -0.00s (- 0.05%) 1.83s 1.88s
Bind Time 0.58s (± 0.82%) 0.58s (± 0.99%) -0.00s (- 0.51%) 0.57s 0.60s
Check Time 12.90s (± 0.52%) 12.87s (± 0.64%) -0.03s (- 0.22%) 12.75s 13.13s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.34s (± 0.43%) 15.31s (± 0.49%) -0.03s (- 0.22%) 15.18s 15.53s
xstate - node (v14.15.1, x64)
Memory used 547,392k (± 0.00%) 547,409k (± 0.00%) +17k (+ 0.00%) 547,348k 547,441k
Parse Time 2.60s (± 0.32%) 2.59s (± 0.37%) -0.00s (- 0.19%) 2.57s 2.62s
Bind Time 0.97s (± 0.77%) 0.97s (± 0.46%) -0.01s (- 0.51%) 0.96s 0.98s
Check Time 1.54s (± 0.54%) 1.54s (± 0.36%) +0.01s (+ 0.39%) 1.53s 1.55s
Emit Time 0.07s (± 3.14%) 0.07s (± 4.13%) +0.00s (+ 1.41%) 0.07s 0.08s
Total Time 5.19s (± 0.30%) 5.17s (± 0.22%) -0.01s (- 0.19%) 5.14s 5.19s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v10.16.3, x64)
  • Compiler-Unions - node (v12.1.0, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v10.16.3, x64)
  • xstate - node (v12.1.0, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50560 10
Baseline main 10

TSServer

Comparison Report - main..50560
Metric main 50560 Delta Best Worst
Compiler-UnionsTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,408ms (± 0.38%) 1,399ms (± 0.45%) -9ms (- 0.64%) 1,389ms 1,417ms
Req 2 - geterr 4,116ms (± 0.43%) 4,111ms (± 0.78%) -5ms (- 0.11%) 4,021ms 4,166ms
Req 3 - references 231ms (± 0.77%) 231ms (± 0.79%) -0ms (- 0.13%) 226ms 235ms
Req 4 - navto 172ms (± 1.12%) 172ms (± 0.41%) -0ms (- 0.12%) 170ms 174ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 92ms (± 6.61%) 91ms (± 7.97%) -1ms (- 1.08%) 64ms 99ms
CompilerTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,502ms (± 0.49%) 1,499ms (± 0.60%) -3ms (- 0.21%) 1,480ms 1,528ms
Req 2 - geterr 2,255ms (± 0.49%) 2,250ms (± 0.57%) -5ms (- 0.24%) 2,225ms 2,292ms
Req 3 - references 242ms (± 0.61%) 241ms (± 0.55%) -1ms (- 0.37%) 239ms 246ms
Req 4 - navto 184ms (± 1.12%) 184ms (± 0.81%) -1ms (- 0.33%) 181ms 187ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 69ms (± 0.84%) 69ms (± 1.31%) +0ms (+ 0.58%) 67ms 71ms
xstateTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 2,095ms (± 0.40%) 2,082ms (± 0.47%) -13ms (- 0.63%) 2,061ms 2,102ms
Req 2 - geterr 804ms (± 0.67%) 799ms (± 0.77%) -5ms (- 0.58%) 790ms 816ms
Req 3 - references 100ms (± 1.96%) 98ms (± 1.48%) -2ms (- 1.99%) 96ms 102ms
Req 4 - navto 232ms (± 0.74%) 233ms (± 0.84%) +1ms (+ 0.22%) 228ms 238ms
Req 5 - completionInfo count 3,301 (± 0.00%) 3,301 (± 0.00%) 0 ( 0.00%) 3,301 3,301
Req 5 - completionInfo 283ms (± 0.65%) 279ms (± 1.21%) -4ms (- 1.27%) 268ms 284ms
Compiler-UnionsTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,404ms (± 0.69%) 1,403ms (± 0.57%) -1ms (- 0.09%) 1,386ms 1,420ms
Req 2 - geterr 3,372ms (± 0.38%) 3,351ms (± 0.29%) -21ms (- 0.61%) 3,328ms 3,378ms
Req 3 - references 219ms (± 0.91%) 220ms (± 0.83%) +1ms (+ 0.23%) 217ms 226ms
Req 4 - navto 161ms (± 1.14%) 161ms (± 1.05%) +0ms (+ 0.06%) 157ms 164ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 60ms (± 5.54%) 61ms (± 4.53%) +2ms (+ 2.51%) 56ms 68ms
CompilerTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,493ms (± 0.67%) 1,486ms (± 0.49%) -7ms (- 0.47%) 1,475ms 1,500ms
Req 2 - geterr 2,164ms (± 0.50%) 2,172ms (± 0.35%) +8ms (+ 0.38%) 2,160ms 2,197ms
Req 3 - references 232ms (± 0.80%) 233ms (± 0.63%) +1ms (+ 0.35%) 228ms 235ms
Req 4 - navto 172ms (± 1.30%) 171ms (± 1.28%) -1ms (- 0.35%) 166ms 176ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 63ms (± 3.71%) 64ms (± 3.40%) +1ms (+ 1.11%) 59ms 67ms
xstateTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 2,038ms (± 0.66%) 2,038ms (± 0.44%) +1ms (+ 0.02%) 2,018ms 2,056ms
Req 2 - geterr 751ms (± 0.44%) 754ms (± 0.74%) +3ms (+ 0.36%) 744ms 773ms
Req 3 - references 67ms (± 0.92%) 67ms (± 0.96%) +0ms (+ 0.45%) 66ms 69ms
Req 4 - navto 224ms (± 1.83%) 222ms (± 1.58%) -1ms (- 0.63%) 213ms 226ms
Req 5 - completionInfo count 3,301 (± 0.00%) 3,301 (± 0.00%) 0 ( 0.00%) 3,301 3,301
Req 5 - completionInfo 273ms (± 1.21%) 275ms (± 1.00%) +2ms (+ 0.66%) 268ms 280ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,441ms (± 0.43%) 1,437ms (± 0.29%) -5ms (- 0.31%) 1,428ms 1,446ms
Req 2 - geterr 3,489ms (± 0.41%) 3,450ms (± 0.48%) -39ms (- 1.13%) 3,416ms 3,491ms
Req 3 - references 229ms (± 0.66%) 228ms (± 0.44%) -0ms (- 0.17%) 226ms 231ms
Req 4 - navto 168ms (± 0.72%) 168ms (± 0.54%) -1ms (- 0.30%) 166ms 170ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 56ms (± 1.23%) 56ms (± 1.04%) +0ms (+ 0.36%) 55ms 57ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,521ms (± 0.68%) 1,523ms (± 0.61%) +2ms (+ 0.15%) 1,505ms 1,545ms
Req 2 - geterr 2,299ms (± 0.50%) 2,292ms (± 0.28%) -7ms (- 0.30%) 2,277ms 2,310ms
Req 3 - references 242ms (± 0.59%) 243ms (± 0.63%) +1ms (+ 0.33%) 239ms 245ms
Req 4 - navto 178ms (± 0.49%) 178ms (± 0.55%) -0ms (- 0.11%) 176ms 181ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 55ms (± 1.06%) 54ms (± 0.63%) -0ms (- 0.73%) 54ms 55ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,139ms (± 0.57%) 2,138ms (± 0.52%) -1ms (- 0.06%) 2,112ms 2,156ms
Req 2 - geterr 772ms (± 0.58%) 770ms (± 0.52%) -2ms (- 0.21%) 762ms 779ms
Req 3 - references 67ms (± 2.13%) 67ms (± 1.88%) 0ms ( 0.00%) 64ms 69ms
Req 4 - navto 228ms (± 0.53%) 227ms (± 0.65%) -1ms (- 0.31%) 225ms 232ms
Req 5 - completionInfo count 3,301 (± 0.00%) 3,301 (± 0.00%) 0 ( 0.00%) 3,301 3,301
Req 5 - completionInfo 276ms (± 0.62%) 277ms (± 0.91%) +1ms (+ 0.22%) 272ms 282ms
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v10.16.3, x64)
  • Compiler-UnionsTSServer - node (v12.1.0, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v10.16.3, x64)
  • CompilerTSServer - node (v12.1.0, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v10.16.3, x64)
  • xstateTSServer - node (v12.1.0, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50560 10
Baseline main 10

Developer Information:

Download Benchmark

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.

Still trying to figure out what is going on in the checker code to give more precise feedback, but for now maybe you know how to get rid of the error that shouldn't be there that I commented below.

Comment thread tests/baselines/reference/controlFlowInitializedDestructuringVariables.errors.txt Outdated
@gabritto

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) user test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 18, 2022

Copy link
Copy Markdown
Contributor

Heya Gabriela Araujo Britto (@gabritto), I've started to run the diff-based user code test suite on this PR at a6e5486. You can monitor the build here.

Update: The results are in!

Comment thread src/compiler/checker.ts Outdated
@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto) Here are the results of running the user test suite comparing main and refs/pull/50560/merge:

Everything looks good!

@gabritto

Copy link
Copy Markdown
Member

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 19, 2022

Copy link
Copy Markdown
Contributor

Heya Gabriela Araujo Britto (@gabritto), I've started to run the diff-based top-repos suite on this PR at 7074198. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 19, 2022

Copy link
Copy Markdown
Contributor

Heya Gabriela Araujo Britto (@gabritto), I've started to run the extended test suite on this PR at 7074198. You can monitor the build here.

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 19, 2022

Copy link
Copy Markdown
Contributor

Heya Gabriela Araujo Britto (@gabritto), I've started to run the diff-based user code test suite on this PR at 7074198. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 19, 2022

Copy link
Copy Markdown
Contributor

Heya Gabriela Araujo Britto (@gabritto), I've started to run the perf test suite on this PR at 7074198. You can monitor the build here.

Update: The results are in!

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.

Thanks!

@gabritto

Copy link
Copy Markdown
Member

Let's see if the tests are all ok, and then we're good to merge I think.

@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto) Here are the results of running the user test suite comparing main and refs/pull/50560/merge:

Everything looks good!

@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto)
The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - main..50560
Metric main 50560 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 353,804k (± 0.02%) 353,719k (± 0.03%) -85k (- 0.02%) 353,491k 353,876k
Parse Time 1.56s (± 0.72%) 1.56s (± 0.71%) +0.00s (+ 0.32%) 1.54s 1.58s
Bind Time 0.61s (± 0.78%) 0.61s (± 0.65%) +0.00s (+ 0.66%) 0.60s 0.62s
Check Time 4.41s (± 0.58%) 4.43s (± 0.52%) +0.02s (+ 0.48%) 4.39s 4.49s
Emit Time 4.93s (± 0.53%) 4.91s (± 0.83%) -0.02s (- 0.47%) 4.86s 5.06s
Total Time 11.50s (± 0.42%) 11.51s (± 0.52%) +0.01s (+ 0.06%) 11.43s 11.68s
Compiler-Unions - node (v18.10.0, x64)
Memory used 201,208k (± 0.10%) 201,373k (± 0.04%) +165k (+ 0.08%) 201,215k 201,548k
Parse Time 0.60s (± 1.26%) 0.60s (± 1.08%) -0.00s (- 0.50%) 0.59s 0.62s
Bind Time 0.36s (± 1.79%) 0.36s (± 1.30%) -0.00s (- 0.55%) 0.35s 0.37s
Check Time 5.34s (± 0.71%) 5.37s (± 0.61%) +0.02s (+ 0.45%) 5.30s 5.44s
Emit Time 1.82s (± 0.74%) 1.81s (± 0.98%) -0.01s (- 0.55%) 1.77s 1.84s
Total Time 8.12s (± 0.60%) 8.13s (± 0.45%) +0.01s (+ 0.10%) 8.08s 8.24s
Monaco - node (v18.10.0, x64)
Memory used 331,692k (± 0.01%) 331,723k (± 0.02%) +32k (+ 0.01%) 331,592k 331,826k
Parse Time 1.16s (± 0.88%) 1.17s (± 0.83%) +0.01s (+ 0.69%) 1.15s 1.20s
Bind Time 0.55s (± 0.66%) 0.56s (± 0.93%) +0.01s (+ 1.26%) 0.55s 0.57s
Check Time 4.29s (± 0.63%) 4.34s (± 0.72%) +0.05s (+ 1.19%) 4.26s 4.43s
Emit Time 2.63s (± 0.51%) 2.62s (± 1.05%) -0.01s (- 0.27%) 2.59s 2.70s
Total Time 8.64s (± 0.46%) 8.70s (± 0.67%) +0.06s (+ 0.72%) 8.61s 8.89s
TFS - node (v18.10.0, x64)
Memory used 294,713k (± 0.01%) 294,701k (± 0.02%) -12k (- 0.00%) 294,563k 294,783k
Parse Time 0.94s (± 0.82%) 0.94s (± 1.09%) 0.00s ( 0.00%) 0.93s 0.96s
Bind Time 0.59s (± 3.72%) 0.59s (± 3.69%) -0.01s (- 1.35%) 0.55s 0.62s
Check Time 4.00s (± 0.58%) 4.03s (± 0.57%) +0.03s (+ 0.70%) 3.99s 4.08s
Emit Time 2.63s (± 0.73%) 2.63s (± 0.52%) +0.00s (+ 0.08%) 2.60s 2.66s
Total Time 8.17s (± 0.46%) 8.19s (± 0.51%) +0.03s (+ 0.32%) 8.14s 8.33s
material-ui - node (v18.10.0, x64)
Memory used 439,719k (± 0.01%) 439,784k (± 0.01%) +65k (+ 0.01%) 439,718k 439,936k
Parse Time 1.36s (± 1.14%) 1.36s (± 0.68%) -0.00s (- 0.00%) 1.34s 1.38s
Bind Time 0.45s (± 1.10%) 0.44s (± 1.68%) -0.00s (- 0.67%) 0.43s 0.47s
Check Time 10.79s (± 0.33%) 10.87s (± 0.73%) +0.08s (+ 0.71%) 10.72s 11.05s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 12.60s (± 0.33%) 12.67s (± 0.66%) +0.08s (+ 0.60%) 12.53s 12.87s
xstate - node (v18.10.0, x64)
Memory used 556,724k (± 0.00%) 556,801k (± 0.01%) +77k (+ 0.01%) 556,654k 556,971k
Parse Time 1.91s (± 0.80%) 1.93s (± 0.40%) +0.01s (+ 0.63%) 1.91s 1.94s
Bind Time 0.68s (± 2.29%) 0.70s (± 2.27%) +0.02s (+ 2.78%) 0.68s 0.74s
Check Time 1.10s (± 0.80%) 1.10s (± 0.45%) +0.00s (+ 0.18%) 1.10s 1.12s
Emit Time 0.06s (± 0.00%) 0.06s (± 0.00%) 0.00s ( 0.00%) 0.06s 0.06s
Total Time 3.75s (± 0.66%) 3.78s (± 0.51%) +0.03s (+ 0.77%) 3.76s 3.83s
Angular - node (v16.17.1, x64)
Memory used 353,302k (± 0.01%) 353,204k (± 0.05%) -97k (- 0.03%) 352,565k 353,351k
Parse Time 1.91s (± 0.71%) 1.92s (± 1.28%) +0.02s (+ 0.84%) 1.88s 1.99s
Bind Time 0.75s (± 0.66%) 0.75s (± 1.07%) +0.00s (+ 0.27%) 0.73s 0.77s
Check Time 5.67s (± 0.43%) 5.68s (± 0.43%) +0.01s (+ 0.11%) 5.62s 5.73s
Emit Time 6.09s (± 0.58%) 6.13s (± 0.86%) +0.04s (+ 0.62%) 6.05s 6.31s
Total Time 14.41s (± 0.33%) 14.48s (± 0.52%) +0.06s (+ 0.43%) 14.37s 14.70s
Compiler-Unions - node (v16.17.1, x64)
Memory used 198,067k (± 0.50%) 197,403k (± 0.01%) -664k (- 0.34%) 197,367k 197,446k
Parse Time 0.78s (± 0.67%) 0.79s (± 0.95%) +0.01s (+ 1.03%) 0.77s 0.80s
Bind Time 0.46s (± 1.08%) 0.45s (± 1.05%) -0.00s (- 0.66%) 0.44s 0.46s
Check Time 6.42s (± 0.73%) 6.44s (± 0.73%) +0.02s (+ 0.33%) 6.37s 6.55s
Emit Time 2.28s (± 0.78%) 2.28s (± 0.84%) +0.01s (+ 0.22%) 2.24s 2.32s
Total Time 9.93s (± 0.55%) 9.96s (± 0.55%) +0.04s (+ 0.35%) 9.86s 10.08s
Monaco - node (v16.17.1, x64)
Memory used 331,116k (± 0.02%) 331,102k (± 0.01%) -14k (- 0.00%) 331,057k 331,177k
Parse Time 1.42s (± 0.63%) 1.44s (± 0.83%) +0.02s (+ 1.12%) 1.42s 1.47s
Bind Time 0.69s (± 0.50%) 0.69s (± 0.43%) +0.01s (+ 0.73%) 0.69s 0.70s
Check Time 5.46s (± 0.67%) 5.51s (± 0.59%) +0.05s (+ 0.88%) 5.43s 5.60s
Emit Time 3.26s (± 0.66%) 3.28s (± 0.73%) +0.02s (+ 0.71%) 3.23s 3.33s
Total Time 10.84s (± 0.41%) 10.93s (± 0.47%) +0.09s (+ 0.85%) 10.82s 11.05s
TFS - node (v16.17.1, x64)
Memory used 294,035k (± 0.02%) 294,060k (± 0.02%) +25k (+ 0.01%) 293,912k 294,158k
Parse Time 1.22s (± 0.94%) 1.23s (± 1.29%) +0.01s (+ 0.98%) 1.20s 1.27s
Bind Time 0.64s (± 1.32%) 0.64s (± 0.90%) +0.00s (+ 0.63%) 0.63s 0.66s
Check Time 5.11s (± 0.37%) 5.14s (± 0.60%) +0.03s (+ 0.55%) 5.11s 5.25s
Emit Time 3.47s (± 0.59%) 3.48s (± 0.60%) +0.02s (+ 0.49%) 3.44s 3.52s
Total Time 10.43s (± 0.36%) 10.50s (± 0.35%) +0.07s (+ 0.64%) 10.42s 10.58s
material-ui - node (v16.17.1, x64)
Memory used 439,138k (± 0.00%) 439,127k (± 0.01%) -10k (- 0.00%) 439,059k 439,210k
Parse Time 1.74s (± 1.55%) 1.74s (± 1.29%) +0.00s (+ 0.17%) 1.70s 1.79s
Bind Time 0.54s (± 1.03%) 0.54s (± 0.92%) -0.00s (- 0.37%) 0.53s 0.55s
Check Time 12.42s (± 0.32%) 12.49s (± 0.45%) +0.08s (+ 0.63%) 12.41s 12.65s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.69s (± 0.30%) 14.77s (± 0.43%) +0.08s (+ 0.52%) 14.67s 14.92s
xstate - node (v16.17.1, x64)
Memory used 554,463k (± 0.02%) 554,601k (± 0.02%) +138k (+ 0.02%) 554,478k 554,867k
Parse Time 2.30s (± 0.30%) 2.31s (± 0.58%) +0.01s (+ 0.57%) 2.28s 2.35s
Bind Time 0.88s (± 0.51%) 0.88s (± 0.73%) +0.00s (+ 0.46%) 0.87s 0.89s
Check Time 1.43s (± 0.60%) 1.44s (± 0.70%) +0.00s (+ 0.28%) 1.42s 1.46s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 4.67s (± 0.19%) 4.70s (± 0.44%) +0.02s (+ 0.49%) 4.65s 4.76s
Angular - node (v14.15.1, x64)
Memory used 347,454k (± 0.01%) 347,443k (± 0.01%) -11k (- 0.00%) 347,357k 347,507k
Parse Time 2.08s (± 0.60%) 2.08s (± 0.86%) -0.00s (- 0.14%) 2.03s 2.12s
Bind Time 0.80s (± 0.73%) 0.80s (± 0.69%) +0.01s (+ 0.63%) 0.79s 0.81s
Check Time 5.96s (± 0.47%) 6.00s (± 0.35%) +0.03s (+ 0.54%) 5.95s 6.05s
Emit Time 6.30s (± 0.66%) 6.32s (± 0.78%) +0.02s (+ 0.32%) 6.22s 6.44s
Total Time 15.14s (± 0.37%) 15.20s (± 0.45%) +0.05s (+ 0.34%) 15.07s 15.36s
Compiler-Unions - node (v14.15.1, x64)
Memory used 190,949k (± 0.68%) 190,350k (± 0.01%) -599k (- 0.31%) 190,261k 190,385k
Parse Time 0.86s (± 0.35%) 0.87s (± 0.69%) +0.01s (+ 0.93%) 0.85s 0.88s
Bind Time 0.49s (± 0.70%) 0.49s (± 0.70%) +0.00s (+ 0.00%) 0.48s 0.49s
Check Time 6.70s (± 0.52%) 6.71s (± 0.45%) +0.01s (+ 0.12%) 6.64s 6.77s
Emit Time 2.45s (± 0.85%) 2.43s (± 0.70%) -0.01s (- 0.49%) 2.40s 2.49s
Total Time 10.49s (± 0.43%) 10.50s (± 0.29%) +0.01s (+ 0.09%) 10.44s 10.56s
Monaco - node (v14.15.1, x64)
Memory used 326,582k (± 0.01%) 326,593k (± 0.01%) +12k (+ 0.00%) 326,516k 326,642k
Parse Time 1.58s (± 0.49%) 1.59s (± 0.35%) +0.01s (+ 0.57%) 1.58s 1.60s
Bind Time 0.73s (± 0.89%) 0.73s (± 0.45%) +0.00s (+ 0.27%) 0.72s 0.74s
Check Time 5.74s (± 0.39%) 5.78s (± 0.66%) +0.04s (+ 0.71%) 5.68s 5.88s
Emit Time 3.39s (± 0.92%) 3.39s (± 0.58%) +0.01s (+ 0.24%) 3.34s 3.42s
Total Time 11.43s (± 0.33%) 11.49s (± 0.42%) +0.06s (+ 0.53%) 11.39s 11.59s
TFS - node (v14.15.1, x64)
Memory used 289,707k (± 0.01%) 289,696k (± 0.01%) -11k (- 0.00%) 289,629k 289,801k
Parse Time 1.29s (± 0.53%) 1.29s (± 0.67%) +0.01s (+ 0.47%) 1.27s 1.31s
Bind Time 0.80s (± 0.37%) 0.79s (± 2.24%) -0.01s (- 0.88%) 0.74s 0.81s
Check Time 5.38s (± 0.40%) 5.42s (± 0.37%) +0.03s (+ 0.59%) 5.37s 5.46s
Emit Time 3.63s (± 0.84%) 3.64s (± 0.52%) +0.01s (+ 0.36%) 3.61s 3.68s
Total Time 11.09s (± 0.38%) 11.14s (± 0.43%) +0.05s (+ 0.41%) 11.04s 11.25s
material-ui - node (v14.15.1, x64)
Memory used 435,281k (± 0.00%) 435,305k (± 0.00%) +24k (+ 0.01%) 435,275k 435,348k
Parse Time 1.89s (± 0.63%) 1.90s (± 0.53%) +0.01s (+ 0.69%) 1.88s 1.93s
Bind Time 0.58s (± 0.77%) 0.58s (± 0.62%) +0.01s (+ 1.04%) 0.58s 0.59s
Check Time 12.77s (± 0.54%) 12.85s (± 0.32%) +0.07s (+ 0.56%) 12.75s 12.93s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.24s (± 0.48%) 15.33s (± 0.28%) +0.09s (+ 0.58%) 15.21s 15.42s
xstate - node (v14.15.1, x64)
Memory used 543,435k (± 0.00%) 543,580k (± 0.00%) +145k (+ 0.03%) 543,534k 543,629k
Parse Time 2.60s (± 0.46%) 2.61s (± 0.47%) +0.00s (+ 0.19%) 2.58s 2.63s
Bind Time 0.98s (± 0.97%) 0.99s (± 0.51%) +0.00s (+ 0.10%) 0.98s 1.00s
Check Time 1.50s (± 0.45%) 1.52s (± 0.54%) +0.01s (+ 0.86%) 1.50s 1.54s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.17s (± 0.26%) 5.18s (± 0.28%) +0.01s (+ 0.25%) 5.15s 5.22s
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 (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50560 10
Baseline main 10

TSServer

Comparison Report - main..50560
Metric main 50560 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,064ms (± 0.70%) 1,070ms (± 0.83%) +7ms (+ 0.61%) 1,057ms 1,093ms
Req 2 - geterr 2,702ms (± 0.71%) 2,726ms (± 0.87%) +24ms (+ 0.87%) 2,684ms 2,789ms
Req 3 - references 191ms (± 1.17%) 192ms (± 0.92%) +1ms (+ 0.47%) 188ms 195ms
Req 4 - navto 145ms (± 1.20%) 147ms (± 0.97%) +2ms (+ 1.45%) 144ms 150ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 44ms (± 1.33%) 45ms (± 4.11%) +1ms (+ 2.52%) 43ms 52ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,135ms (± 0.47%) 1,143ms (± 0.74%) +9ms (+ 0.78%) 1,128ms 1,161ms
Req 2 - geterr 1,611ms (± 0.70%) 1,611ms (± 0.74%) +0ms (+ 0.01%) 1,589ms 1,633ms
Req 3 - references 199ms (± 0.78%) 199ms (± 0.77%) -0ms (- 0.20%) 195ms 201ms
Req 4 - navto 159ms (± 1.65%) 160ms (± 1.16%) +1ms (+ 0.57%) 157ms 165ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 86ms (± 2.79%) 85ms (± 3.35%) -1ms (- 1.28%) 79ms 90ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,618ms (± 0.43%) 1,633ms (± 0.70%) +15ms (+ 0.90%) 1,619ms 1,662ms
Req 2 - geterr 573ms (± 0.70%) 573ms (± 0.43%) -0ms (- 0.05%) 569ms 581ms
Req 3 - references 52ms (± 0.97%) 52ms (± 0.72%) 0ms ( 0.00%) 51ms 52ms
Req 4 - navto 202ms (± 0.70%) 205ms (± 0.79%) +2ms (+ 1.19%) 202ms 210ms
Req 5 - completionInfo count 3,206 (± 0.00%) 3,206 (± 0.00%) 0 ( 0.00%) 3,206 3,206
Req 5 - completionInfo 215ms (± 1.07%) 217ms (± 1.19%) +1ms (+ 0.65%) 211ms 222ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,323ms (± 0.35%) 1,332ms (± 0.65%) +9ms (+ 0.67%) 1,313ms 1,350ms
Req 2 - geterr 3,285ms (± 0.73%) 3,302ms (± 0.65%) +17ms (+ 0.51%) 3,250ms 3,344ms
Req 3 - references 220ms (± 0.41%) 222ms (± 0.77%) +2ms (+ 0.91%) 217ms 225ms
Req 4 - navto 156ms (± 0.80%) 157ms (± 0.53%) +1ms (+ 0.70%) 155ms 159ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 59ms (±22.49%) 54ms (± 1.28%) 🟩-5ms (- 8.86%) 52ms 55ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,404ms (± 0.58%) 1,414ms (± 0.74%) +11ms (+ 0.75%) 1,396ms 1,440ms
Req 2 - geterr 2,125ms (± 1.25%) 2,124ms (± 0.49%) -1ms (- 0.05%) 2,102ms 2,146ms
Req 3 - references 232ms (± 0.75%) 232ms (± 0.61%) +1ms (+ 0.39%) 230ms 237ms
Req 4 - navto 168ms (± 0.59%) 168ms (± 0.66%) +0ms (+ 0.24%) 165ms 170ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 53ms (± 5.00%) 53ms (± 4.23%) +0ms (+ 0.57%) 51ms 60ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,932ms (± 0.36%) 1,934ms (± 0.63%) +3ms (+ 0.13%) 1,919ms 1,968ms
Req 2 - geterr 730ms (± 0.51%) 737ms (± 0.72%) +7ms (+ 0.90%) 726ms 750ms
Req 3 - references 60ms (± 0.82%) 61ms (± 0.96%) +0ms (+ 0.50%) 60ms 62ms
Req 4 - navto 204ms (± 0.80%) 206ms (± 0.69%) +1ms (+ 0.64%) 203ms 208ms
Req 5 - completionInfo count 3,206 (± 0.00%) 3,206 (± 0.00%) 0 ( 0.00%) 3,206 3,206
Req 5 - completionInfo 258ms (± 0.75%) 260ms (± 0.78%) +1ms (+ 0.54%) 255ms 263ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,447ms (± 0.46%) 1,452ms (± 0.55%) +5ms (+ 0.31%) 1,439ms 1,475ms
Req 2 - geterr 3,548ms (± 0.56%) 3,548ms (± 0.55%) -0ms (- 0.00%) 3,506ms 3,591ms
Req 3 - references 233ms (± 0.56%) 236ms (± 0.63%) +3ms (+ 1.16%) 233ms 240ms
Req 4 - navto 172ms (± 0.66%) 173ms (± 0.48%) +0ms (+ 0.17%) 170ms 174ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 60ms (± 7.83%) 57ms (± 4.68%) 🟩-3ms (- 5.20%) 54ms 67ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,536ms (± 0.88%) 1,530ms (± 0.56%) -6ms (- 0.38%) 1,516ms 1,554ms
Req 2 - geterr 2,317ms (± 0.49%) 2,329ms (± 0.55%) +12ms (+ 0.53%) 2,307ms 2,355ms
Req 3 - references 245ms (± 0.70%) 246ms (± 0.82%) +1ms (+ 0.49%) 242ms 251ms
Req 4 - navto 180ms (± 0.91%) 182ms (± 0.63%) +2ms (+ 1.28%) 179ms 184ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 55ms (± 1.41%) 55ms (± 1.49%) +1ms (+ 0.91%) 54ms 57ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,155ms (± 0.57%) 2,164ms (± 0.35%) +9ms (+ 0.42%) 2,149ms 2,179ms
Req 2 - geterr 755ms (± 0.52%) 756ms (± 0.46%) +2ms (+ 0.24%) 750ms 764ms
Req 3 - references 65ms (± 1.91%) 65ms (± 1.97%) -0ms (- 0.15%) 64ms 69ms
Req 4 - navto 228ms (± 0.68%) 229ms (± 0.96%) +1ms (+ 0.31%) 225ms 234ms
Req 5 - completionInfo count 3,206 (± 0.00%) 3,206 (± 0.00%) 0 ( 0.00%) 3,206 3,206
Req 5 - completionInfo 281ms (± 3.83%) 278ms (± 0.63%) -3ms (- 1.03%) 274ms 282ms
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 (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50560 10
Baseline main 10

Developer Information:

Download Benchmark

@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto) Here are the results of running the top-repos suite comparing main and refs/pull/50560/merge:

Everything looks good!

@DanielRosenwasser

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) perf test this faster

@typescript-bot

TypeScript Bot (typescript-bot) commented Oct 19, 2022

Copy link
Copy Markdown
Contributor

Heya Daniel Rosenwasser (@DanielRosenwasser), I've started to run the abridged perf test suite on this PR at 7074198. You can monitor the build here.

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

Daniel Rosenwasser (@DanielRosenwasser)
The results of the perf run you requested are in!

Here they are:

Comparison Report - main..50560

Metric main 50560 Delta Best Worst
Angular - node (v16.17.1, x64)
Memory used 353,272k (± 0.01%) 353,284k (± 0.01%) +12k (+ 0.00%) 353,218k 353,369k
Parse Time 1.93s (± 0.87%) 1.91s (± 1.11%) -0.01s (- 0.68%) 1.89s 1.99s
Bind Time 0.75s (± 0.63%) 0.76s (± 1.34%) +0.01s (+ 0.67%) 0.74s 0.79s
Check Time 5.69s (± 0.81%) 5.69s (± 0.64%) -0.00s (- 0.07%) 5.62s 5.79s
Emit Time 6.12s (± 0.91%) 6.08s (± 0.34%) -0.04s (- 0.57%) 6.04s 6.13s
Total Time 14.49s (± 0.66%) 14.44s (± 0.38%) -0.05s (- 0.35%) 14.33s 14.58s
Compiler-Unions - node (v16.17.1, x64)
Memory used 198,083k (± 0.48%) 197,960k (± 0.53%) -123k (- 0.06%) 196,472k 200,723k
Parse Time 0.79s (± 0.71%) 0.79s (± 0.92%) +0.00s (+ 0.00%) 0.77s 0.80s
Bind Time 0.46s (± 1.04%) 0.46s (± 1.08%) -0.00s (- 0.22%) 0.45s 0.47s
Check Time 6.44s (± 0.68%) 6.47s (± 0.57%) +0.03s (+ 0.48%) 6.42s 6.60s
Emit Time 2.28s (± 0.97%) 2.29s (± 1.18%) +0.01s (+ 0.48%) 2.24s 2.35s
Total Time 9.96s (± 0.48%) 10.01s (± 0.59%) +0.05s (+ 0.46%) 9.89s 10.19s
Monaco - node (v16.17.1, x64)
Memory used 331,148k (± 0.01%) 331,172k (± 0.01%) +24k (+ 0.01%) 331,103k 331,243k
Parse Time 1.43s (± 0.70%) 1.43s (± 0.61%) -0.00s (- 0.14%) 1.41s 1.45s
Bind Time 0.70s (± 0.71%) 0.69s (± 0.75%) -0.01s (- 1.01%) 0.68s 0.70s
Check Time 5.49s (± 0.78%) 5.47s (± 0.45%) -0.02s (- 0.31%) 5.44s 5.56s
Emit Time 3.26s (± 0.64%) 3.27s (± 0.45%) +0.01s (+ 0.40%) 3.23s 3.30s
Total Time 10.88s (± 0.50%) 10.86s (± 0.27%) -0.01s (- 0.13%) 10.81s 10.95s
TFS - node (v16.17.1, x64)
Memory used 294,060k (± 0.01%) 294,050k (± 0.03%) -10k (- 0.00%) 293,888k 294,211k
Parse Time 1.22s (± 1.49%) 1.22s (± 0.62%) +0.01s (+ 0.49%) 1.21s 1.24s
Bind Time 0.65s (± 0.93%) 0.64s (± 0.92%) -0.00s (- 0.16%) 0.63s 0.66s
Check Time 5.12s (± 0.50%) 5.12s (± 0.52%) +0.00s (+ 0.08%) 5.06s 5.17s
Emit Time 3.48s (± 0.67%) 3.48s (± 0.71%) +0.00s (+ 0.09%) 3.41s 3.52s
Total Time 10.45s (± 0.41%) 10.47s (± 0.35%) +0.02s (+ 0.16%) 10.36s 10.55s
material-ui - node (v16.17.1, x64)
Memory used 439,176k (± 0.01%) 439,136k (± 0.00%) -41k (- 0.01%) 439,109k 439,183k
Parse Time 1.74s (± 1.15%) 1.74s (± 0.99%) -0.00s (- 0.06%) 1.72s 1.78s
Bind Time 0.54s (± 0.63%) 0.54s (± 0.62%) -0.00s (- 0.55%) 0.53s 0.55s
Check Time 12.49s (± 0.84%) 12.48s (± 0.59%) -0.01s (- 0.06%) 12.36s 12.72s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.77s (± 0.72%) 14.77s (± 0.50%) -0.01s (- 0.06%) 14.63s 15.00s
xstate - node (v16.17.1, x64)
Memory used 554,514k (± 0.01%) 554,523k (± 0.01%) +9k (+ 0.00%) 554,444k 554,768k
Parse Time 2.32s (± 0.59%) 2.31s (± 0.26%) -0.01s (- 0.52%) 2.29s 2.32s
Bind Time 0.89s (± 1.43%) 0.88s (± 0.70%) -0.01s (- 1.23%) 0.87s 0.89s
Check Time 1.44s (± 0.75%) 1.43s (± 0.54%) -0.01s (- 0.56%) 1.42s 1.45s
Emit Time 0.07s (± 3.23%) 0.07s (± 0.00%) +0.00s (+ 1.45%) 0.07s 0.07s
Total Time 4.72s (± 0.59%) 4.69s (± 0.26%) -0.03s (- 0.61%) 4.65s 4.72s
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 50560 10
Baseline main 10

Developer Information:

Download Benchmark

@gabritto
Gabriela Araujo Britto (gabritto) merged commit 1ca99b3 into microsoft:main Oct 20, 2022
@microsoft Microsoft (microsoft) locked as resolved and limited conversation to collaborators Oct 22, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

For Backlog Bug PRs that fix a backlog bug

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Destructuring assignment with var bypasses "variable is used before being assigned" check (2454)

6 participants