TypeScript icon indicating copy to clipboard operation
TypeScript copied to clipboard

Enable strictFunctionTypes

Open jakebailey opened this issue 3 years ago • 35 comments

  • [ ] Note to self: this will have to be added to https://github.com/microsoft/TypeScript/wiki/API-Breaking-Changes.

jakebailey avatar Jul 17 '22 04:07 jakebailey

I have completely redone this PR from scratch; forgive my force pushing but it was pretty much impossible to do this any other way.

I have completely revamped the Visitor, VisitResult, NodeVisitor, and NodesVisitor types; they now accurately represent the runtime behavior and guarantees that we implement. This is definitely a breaking API change; VisitResult is no longer potentially undefined, as I need to use that fact to get the signature right on NodeVisitor, to accurately capture its undefined semantics.

Now NodeVisitor will pretty much always return Node, not the input type, unless you "prove" that it does in fact return the node you say. This is accurate to the behavior of the visitor function. I actually found a bug this way; our isTypeNode helper is missing the check for the intrinsic type! (There were other little oopses, like using isParameterDeclaration instead of isParameter; the former is not at all the right function but it does return true when isParameter does, but also true in other cases.)

~~I have not yet touched Transformer; I'm not quite sure what to do there, but I can also break that one too. It just doesn't have a test parameter like visitNode/visitNodes that can be used to assert what it transforms things into.~~ Fixed in a later commit; this is pretty much handled by the fact that transforms call visitNode or visitNodes, etc, so are already fixed.

jakebailey avatar Sep 19 '22 16:09 jakebailey

@typescript-bot perf test this

jakebailey avatar Sep 19 '22 17:09 jakebailey

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

Update: The results are in!

typescript-bot avatar Sep 19 '22 17:09 typescript-bot

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

Here they are:

Compiler

Comparison Report - main..49929
Metric main 49929 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 363,347k (± 0.02%) 363,362k (± 0.02%) +15k (+ 0.00%) 363,231k 363,557k
Parse Time 2.10s (± 0.73%) 2.08s (± 0.51%) -0.01s (- 0.62%) 2.05s 2.10s
Bind Time 0.79s (± 0.78%) 0.79s (± 0.82%) -0.00s (- 0.13%) 0.77s 0.80s
Check Time 6.20s (± 0.59%) 6.15s (± 0.62%) -0.05s (- 0.74%) 6.07s 6.24s
Emit Time 6.02s (± 0.74%) 5.98s (± 0.60%) -0.04s (- 0.71%) 5.91s 6.07s
Total Time 15.10s (± 0.39%) 15.00s (± 0.41%) -0.10s (- 0.69%) 14.89s 15.17s
Compiler-Unions - node (v10.16.3, x64)
Memory used 206,254k (± 0.04%) 205,955k (± 0.28%) -299k (- 0.14%) 203,668k 206,299k
Parse Time 0.84s (± 0.66%) 0.83s (± 0.71%) -0.00s (- 0.48%) 0.82s 0.85s
Bind Time 0.47s (± 0.95%) 0.47s (± 0.95%) 0.00s ( 0.00%) 0.46s 0.48s
Check Time 8.42s (± 0.58%) 8.46s (± 0.32%) +0.04s (+ 0.50%) 8.39s 8.52s
Emit Time 2.44s (± 0.95%) 2.43s (± 1.39%) -0.01s (- 0.21%) 2.35s 2.52s
Total Time 12.17s (± 0.42%) 12.20s (± 0.32%) +0.03s (+ 0.25%) 12.13s 12.30s
Monaco - node (v10.16.3, x64)
Memory used 344,819k (± 0.02%) 344,561k (± 0.02%) -258k (- 0.07%) 344,369k 344,712k
Parse Time 1.60s (± 0.44%) 1.60s (± 0.60%) -0.00s (- 0.12%) 1.58s 1.62s
Bind Time 0.70s (± 0.82%) 0.69s (± 0.86%) -0.01s (- 0.86%) 0.68s 0.71s
Check Time 6.21s (± 0.51%) 6.24s (± 0.58%) +0.03s (+ 0.45%) 6.16s 6.32s
Emit Time 3.17s (± 0.81%) 3.20s (± 1.02%) +0.03s (+ 0.92%) 3.15s 3.28s
Total Time 11.68s (± 0.38%) 11.73s (± 0.35%) +0.04s (+ 0.39%) 11.65s 11.80s
TFS - node (v10.16.3, x64)
Memory used 305,926k (± 0.02%) 305,998k (± 0.02%) +73k (+ 0.02%) 305,838k 306,101k
Parse Time 1.29s (± 0.52%) 1.29s (± 0.65%) -0.00s (- 0.16%) 1.27s 1.30s
Bind Time 0.67s (± 0.77%) 0.67s (± 0.70%) -0.00s (- 0.15%) 0.66s 0.68s
Check Time 5.51s (± 0.33%) 5.48s (± 0.29%) -0.03s (- 0.51%) 5.46s 5.53s
Emit Time 3.38s (± 1.38%) 3.34s (± 0.82%) -0.03s (- 1.01%) 3.28s 3.42s
Total Time 10.84s (± 0.36%) 10.78s (± 0.28%) -0.06s (- 0.59%) 10.71s 10.86s
material-ui - node (v10.16.3, x64)
Memory used 459,196k (± 0.01%) 459,212k (± 0.01%) +16k (+ 0.00%) 459,042k 459,284k
Parse Time 1.81s (± 0.61%) 1.81s (± 0.52%) -0.01s (- 0.39%) 1.79s 1.83s
Bind Time 0.58s (± 2.02%) 0.58s (± 1.90%) +0.00s (+ 0.69%) 0.56s 0.60s
Check Time 15.63s (± 1.36%) 15.55s (± 0.48%) -0.08s (- 0.50%) 15.42s 15.80s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 18.02s (± 1.22%) 17.94s (± 0.42%) -0.08s (- 0.43%) 17.83s 18.20s
xstate - node (v10.16.3, x64)
Memory used 584,175k (± 0.02%) 584,114k (± 0.02%) -61k (- 0.01%) 583,960k 584,320k
Parse Time 2.61s (± 0.38%) 2.59s (± 0.19%) -0.02s (- 0.69%) 2.58s 2.60s
Bind Time 0.91s (± 0.82%) 0.91s (± 0.75%) -0.00s (- 0.44%) 0.89s 0.92s
Check Time 1.60s (± 0.63%) 1.59s (± 0.23%) -0.01s (- 0.62%) 1.59s 1.60s
Emit Time 0.07s (± 3.14%) 0.07s (± 4.66%) +0.00s (+ 2.82%) 0.07s 0.08s
Total Time 5.20s (± 0.33%) 5.17s (± 0.21%) -0.03s (- 0.63%) 5.14s 5.18s
Angular - node (v12.1.0, x64)
Memory used 340,737k (± 0.08%) 340,842k (± 0.03%) +105k (+ 0.03%) 340,634k 340,990k
Parse Time 2.10s (± 0.55%) 2.07s (± 0.49%) -0.03s (- 1.38%) 2.05s 2.09s
Bind Time 0.78s (± 0.63%) 0.77s (± 0.94%) -0.00s (- 0.52%) 0.76s 0.79s
Check Time 5.90s (± 0.54%) 5.85s (± 0.44%) -0.05s (- 0.80%) 5.78s 5.93s
Emit Time 6.33s (± 1.21%) 6.22s (± 0.89%) -0.10s (- 1.63%) 6.15s 6.42s
Total Time 15.11s (± 0.55%) 14.92s (± 0.40%) -0.18s (- 1.20%) 14.82s 15.12s
Compiler-Unions - node (v12.1.0, x64)
Memory used 193,654k (± 0.31%) 193,305k (± 0.40%) -349k (- 0.18%) 191,243k 194,168k
Parse Time 0.83s (± 1.07%) 0.83s (± 1.14%) -0.01s (- 0.84%) 0.81s 0.85s
Bind Time 0.48s (± 1.03%) 0.47s (± 1.44%) -0.00s (- 0.42%) 0.46s 0.49s
Check Time 6.76s (± 0.40%) 6.71s (± 0.54%) -0.05s (- 0.80%) 6.62s 6.78s
Emit Time 2.43s (± 1.04%) 2.44s (± 1.49%) +0.01s (+ 0.33%) 2.39s 2.55s
Total Time 10.50s (± 0.40%) 10.45s (± 0.68%) -0.05s (- 0.50%) 10.32s 10.64s
Monaco - node (v12.1.0, x64)
Memory used 327,754k (± 0.02%) 327,699k (± 0.04%) -55k (- 0.02%) 327,389k 327,926k
Parse Time 1.58s (± 1.46%) 1.58s (± 0.62%) -0.01s (- 0.38%) 1.55s 1.59s
Bind Time 0.70s (± 0.71%) 0.70s (± 0.83%) +0.00s (+ 0.14%) 0.68s 0.71s
Check Time 5.83s (± 0.48%) 5.84s (± 0.63%) +0.00s (+ 0.05%) 5.76s 5.94s
Emit Time 3.27s (± 0.47%) 3.28s (± 1.06%) +0.02s (+ 0.49%) 3.22s 3.39s
Total Time 11.38s (± 0.48%) 11.40s (± 0.52%) +0.02s (+ 0.13%) 11.28s 11.50s
TFS - node (v12.1.0, x64)
Memory used 290,588k (± 0.02%) 290,505k (± 0.06%) -83k (- 0.03%) 289,829k 290,683k
Parse Time 1.30s (± 0.98%) 1.28s (± 0.38%) -0.01s (- 1.08%) 1.27s 1.29s
Bind Time 0.68s (± 1.41%) 0.67s (± 0.86%) -0.00s (- 0.44%) 0.66s 0.68s
Check Time 5.40s (± 0.33%) 5.38s (± 0.69%) -0.02s (- 0.37%) 5.32s 5.49s
Emit Time 3.45s (± 0.94%) 3.45s (± 1.00%) +0.00s (+ 0.09%) 3.38s 3.54s
Total Time 10.82s (± 0.48%) 10.79s (± 0.51%) -0.03s (- 0.28%) 10.64s 10.93s
material-ui - node (v12.1.0, x64)
Memory used 438,314k (± 0.07%) 438,252k (± 0.08%) -62k (- 0.01%) 437,299k 438,614k
Parse Time 1.83s (± 0.56%) 1.82s (± 0.54%) -0.01s (- 0.38%) 1.81s 1.85s
Bind Time 0.55s (± 0.95%) 0.55s (± 1.27%) +0.00s (+ 0.36%) 0.54s 0.57s
Check Time 12.87s (± 1.09%) 12.81s (± 0.55%) -0.06s (- 0.50%) 12.65s 12.94s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.25s (± 0.99%) 15.18s (± 0.51%) -0.07s (- 0.45%) 15.01s 15.32s
xstate - node (v12.1.0, x64)
Memory used 552,419k (± 1.27%) 549,301k (± 0.02%) -3,118k (- 0.56%) 549,108k 549,621k
Parse Time 2.56s (± 0.45%) 2.54s (± 0.35%) -0.02s (- 0.59%) 2.52s 2.56s
Bind Time 0.90s (± 0.75%) 0.89s (± 0.53%) -0.01s (- 0.78%) 0.88s 0.90s
Check Time 1.49s (± 0.78%) 1.48s (± 0.50%) -0.00s (- 0.27%) 1.47s 1.50s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.01s (± 0.34%) 4.99s (± 0.20%) -0.02s (- 0.42%) 4.97s 5.01s
Angular - node (v14.15.1, x64)
Memory used 338,808k (± 0.08%) 338,686k (± 0.10%) -122k (- 0.04%) 337,711k 338,962k
Parse Time 2.05s (± 0.33%) 2.04s (± 0.29%) -0.01s (- 0.44%) 2.03s 2.06s
Bind Time 0.80s (± 0.83%) 0.80s (± 0.93%) 0.00s ( 0.00%) 0.79s 0.82s
Check Time 5.93s (± 0.69%) 5.87s (± 1.39%) -0.06s (- 0.99%) 5.75s 6.10s
Emit Time 6.23s (± 0.63%) 6.21s (± 0.98%) -0.03s (- 0.43%) 6.08s 6.35s
Total Time 15.02s (± 0.48%) 14.92s (± 0.91%) -0.10s (- 0.63%) 14.68s 15.26s
Compiler-Unions - node (v14.15.1, x64)
Memory used 190,733k (± 0.69%) 190,162k (± 0.01%) -570k (- 0.30%) 190,104k 190,227k
Parse Time 0.86s (± 0.80%) 0.85s (± 0.65%) -0.00s (- 0.47%) 0.84s 0.87s
Bind Time 0.49s (± 0.98%) 0.49s (± 2.00%) +0.00s (+ 1.03%) 0.48s 0.52s
Check Time 6.77s (± 0.77%) 6.76s (± 0.64%) -0.01s (- 0.10%) 6.66s 6.84s
Emit Time 2.39s (± 0.78%) 2.38s (± 0.64%) -0.01s (- 0.34%) 2.34s 2.41s
Total Time 10.49s (± 0.64%) 10.48s (± 0.54%) -0.01s (- 0.14%) 10.35s 10.57s
Monaco - node (v14.15.1, x64)
Memory used 326,576k (± 0.01%) 326,595k (± 0.01%) +19k (+ 0.01%) 326,508k 326,668k
Parse Time 1.58s (± 0.59%) 1.58s (± 0.69%) -0.00s (- 0.00%) 1.56s 1.61s
Bind Time 0.72s (± 0.47%) 0.73s (± 0.68%) +0.00s (+ 0.41%) 0.71s 0.73s
Check Time 5.72s (± 0.34%) 5.72s (± 0.56%) +0.00s (+ 0.07%) 5.66s 5.80s
Emit Time 3.33s (± 0.60%) 3.34s (± 0.78%) +0.01s (+ 0.33%) 3.30s 3.40s
Total Time 11.35s (± 0.36%) 11.37s (± 0.40%) +0.02s (+ 0.16%) 11.28s 11.49s
TFS - node (v14.15.1, x64)
Memory used 289,692k (± 0.01%) 289,729k (± 0.01%) +37k (+ 0.01%) 289,676k 289,779k
Parse Time 1.30s (± 0.79%) 1.30s (± 0.63%) +0.01s (+ 0.38%) 1.29s 1.33s
Bind Time 0.79s (± 0.62%) 0.79s (± 0.78%) -0.00s (- 0.38%) 0.78s 0.81s
Check Time 5.35s (± 0.53%) 5.36s (± 0.43%) +0.02s (+ 0.34%) 5.32s 5.42s
Emit Time 3.54s (± 1.12%) 3.55s (± 0.42%) +0.00s (+ 0.11%) 3.52s 3.58s
Total Time 10.98s (± 0.62%) 11.01s (± 0.26%) +0.03s (+ 0.25%) 10.94s 11.09s
material-ui - node (v14.15.1, x64)
Memory used 436,537k (± 0.06%) 436,687k (± 0.00%) +150k (+ 0.03%) 436,652k 436,719k
Parse Time 1.86s (± 0.51%) 1.86s (± 0.31%) 0.00s ( 0.00%) 1.85s 1.88s
Bind Time 0.58s (± 0.82%) 0.58s (± 1.25%) -0.00s (- 0.17%) 0.57s 0.60s
Check Time 12.95s (± 0.58%) 12.87s (± 0.71%) -0.08s (- 0.64%) 12.69s 13.09s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.39s (± 0.52%) 15.31s (± 0.65%) -0.08s (- 0.55%) 15.11s 15.56s
xstate - node (v14.15.1, x64)
Memory used 547,015k (± 0.00%) 547,087k (± 0.00%) +72k (+ 0.01%) 547,052k 547,117k
Parse Time 2.62s (± 0.62%) 2.61s (± 0.39%) -0.00s (- 0.19%) 2.59s 2.64s
Bind Time 0.98s (± 1.30%) 0.98s (± 1.08%) +0.00s (+ 0.20%) 0.97s 1.01s
Check Time 1.52s (± 0.82%) 1.52s (± 0.61%) -0.00s (- 0.20%) 1.51s 1.55s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.19s (± 0.40%) 5.19s (± 0.31%) -0.00s (- 0.02%) 5.16s 5.23s
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 49929 10
Baseline main 10

TSServer

Comparison Report - main..49929
Metric main 49929 Delta Best Worst
Compiler-UnionsTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,399ms (± 0.52%) 1,404ms (± 0.56%) +5ms (+ 0.38%) 1,391ms 1,418ms
Req 2 - geterr 4,096ms (± 0.78%) 4,091ms (± 0.76%) -5ms (- 0.11%) 4,036ms 4,176ms
Req 3 - references 228ms (± 0.85%) 231ms (± 1.04%) +3ms (+ 1.36%) 226ms 236ms
Req 4 - navto 173ms (± 0.87%) 171ms (± 1.30%) -2ms (- 0.87%) 168ms 179ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 95ms (± 2.91%) 97ms (± 3.58%) +2ms (+ 1.90%) 88ms 105ms
CompilerTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,502ms (± 0.63%) 1,494ms (± 0.82%) -8ms (- 0.53%) 1,468ms 1,521ms
Req 2 - geterr 2,262ms (± 0.62%) 2,256ms (± 0.51%) -6ms (- 0.26%) 2,229ms 2,285ms
Req 3 - references 243ms (± 0.51%) 245ms (± 0.41%) +3ms (+ 1.07%) 243ms 247ms
Req 4 - navto 184ms (± 1.18%) 184ms (± 0.91%) -0ms (- 0.16%) 180ms 188ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 63ms (± 3.45%) 61ms (± 1.06%) -1ms (- 2.24%) 60ms 63ms
xstateTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 2,097ms (± 0.45%) 2,089ms (± 0.56%) -8ms (- 0.40%) 2,064ms 2,114ms
Req 2 - geterr 802ms (± 0.67%) 796ms (± 0.46%) -7ms (- 0.84%) 788ms 805ms
Req 3 - references 97ms (± 1.74%) 97ms (± 2.08%) -0ms (- 0.31%) 94ms 101ms
Req 4 - navto 233ms (± 1.08%) 233ms (± 1.10%) +1ms (+ 0.26%) 229ms 239ms
Req 5 - completionInfo count 3,301 (± 0.00%) 3,301 (± 0.00%) 0 ( 0.00%) 3,301 3,301
Req 5 - completionInfo 280ms (± 1.27%) 280ms (± 1.68%) -1ms (- 0.18%) 270ms 288ms
Compiler-UnionsTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,413ms (± 0.53%) 1,408ms (± 0.33%) -6ms (- 0.40%) 1,398ms 1,418ms
Req 2 - geterr 3,404ms (± 0.39%) 3,386ms (± 0.60%) -18ms (- 0.52%) 3,357ms 3,456ms
Req 3 - references 222ms (± 1.06%) 221ms (± 0.66%) -1ms (- 0.50%) 217ms 224ms
Req 4 - navto 161ms (± 0.86%) 160ms (± 1.65%) -0ms (- 0.12%) 155ms 168ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 62ms (± 3.92%) 62ms (± 3.01%) -0ms (- 0.16%) 58ms 68ms
CompilerTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,508ms (± 0.84%) 1,494ms (± 0.81%) -14ms (- 0.93%) 1,468ms 1,516ms
Req 2 - geterr 2,172ms (± 0.49%) 2,181ms (± 0.57%) +10ms (+ 0.44%) 2,150ms 2,207ms
Req 3 - references 234ms (± 0.28%) 236ms (± 0.72%) +2ms (+ 0.73%) 232ms 239ms
Req 4 - navto 170ms (± 1.12%) 172ms (± 1.72%) +2ms (+ 1.35%) 168ms 181ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 62ms (± 3.30%) 59ms (± 2.62%) 🟩-3ms (- 4.21%) 57ms 64ms
xstateTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 2,051ms (± 0.43%) 2,035ms (± 0.48%) -16ms (- 0.77%) 2,015ms 2,056ms
Req 2 - geterr 754ms (± 0.86%) 751ms (± 0.61%) -4ms (- 0.52%) 742ms 761ms
Req 3 - references 68ms (± 1.03%) 68ms (± 1.23%) -1ms (- 0.88%) 65ms 69ms
Req 4 - navto 227ms (± 0.50%) 222ms (± 1.73%) -5ms (- 1.98%) 210ms 227ms
Req 5 - completionInfo count 3,301 (± 0.00%) 3,301 (± 0.00%) 0 ( 0.00%) 3,301 3,301
Req 5 - completionInfo 276ms (± 0.98%) 274ms (± 0.84%) -2ms (- 0.58%) 270ms 281ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,451ms (± 0.75%) 1,445ms (± 0.38%) -6ms (- 0.43%) 1,435ms 1,463ms
Req 2 - geterr 3,527ms (± 0.54%) 3,505ms (± 0.68%) -22ms (- 0.62%) 3,461ms 3,555ms
Req 3 - references 231ms (± 0.52%) 231ms (± 0.49%) +0ms (+ 0.09%) 229ms 235ms
Req 4 - navto 170ms (± 0.78%) 171ms (± 0.74%) +1ms (+ 0.29%) 167ms 172ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 57ms (± 4.17%) 55ms (± 1.01%) 🟩-2ms (- 3.52%) 54ms 56ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,527ms (± 0.47%) 1,528ms (± 0.57%) +1ms (+ 0.04%) 1,514ms 1,548ms
Req 2 - geterr 2,306ms (± 0.52%) 2,311ms (± 0.50%) +5ms (+ 0.20%) 2,284ms 2,335ms
Req 3 - references 242ms (± 0.39%) 244ms (± 0.60%) +1ms (+ 0.50%) 240ms 247ms
Req 4 - navto 178ms (± 0.63%) 179ms (± 0.50%) +2ms (+ 0.84%) 178ms 181ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 56ms (± 1.08%) 55ms (± 1.12%) -0ms (- 0.72%) 54ms 57ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,161ms (± 0.58%) 2,140ms (± 0.55%) -21ms (- 0.99%) 2,120ms 2,177ms
Req 2 - geterr 767ms (± 0.57%) 763ms (± 0.53%) -4ms (- 0.51%) 752ms 772ms
Req 3 - references 67ms (± 2.17%) 67ms (± 1.75%) +0ms (+ 0.30%) 64ms 69ms
Req 4 - navto 229ms (± 0.58%) 228ms (± 0.75%) -1ms (- 0.61%) 225ms 232ms
Req 5 - completionInfo count 3,301 (± 0.00%) 3,301 (± 0.00%) 0 ( 0.00%) 3,301 3,301
Req 5 - completionInfo 283ms (± 3.45%) 287ms (± 5.13%) +4ms (+ 1.24%) 273ms 334ms
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 49929 10
Baseline main 10
Developer Information:

Download Benchmark

typescript-bot avatar Sep 19 '22 17:09 typescript-bot

Actually, I think I did just correct Transform.

jakebailey avatar Sep 19 '22 21:09 jakebailey

Marking this as ready for review, but I think this should go into 5.0, given the API breaks. I might try and pack and test this in something like ts-morph to see what happens.

@typescript-bot pack this

jakebailey avatar Sep 19 '22 21:09 jakebailey

Heya @jakebailey, I've started to run the tarball bundle task on this PR at e7cf2139c079d5ef02bb0aaccd733ea22ade564e. You can monitor the build here.

typescript-bot avatar Sep 19 '22 21:09 typescript-bot

Hey @jakebailey, I've packed this into an installable tgz. You can install it for testing by referencing it in your package.json like so:

{
    "devDependencies": {
        "typescript": "https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/134644/artifacts?artifactName=tgz&fileId=9D628ADF26DFE6C8BE0A72D0D687FD96E6FE71A6DF29AAFFD1A4CA731F8C106102&fileName=/typescript-4.9.0-insiders.20220919.tgz"
    }
}

and then running npm install.


There is also a playground for this build and an npm module you can use via "typescript": "npm:@typescript-deploys/[email protected]".;

typescript-bot avatar Sep 19 '22 21:09 typescript-bot

I installed the package into ts-morph and ts-eslint, and both seemed to build with it. Hopefully that means this isn't as breaky as I thought.

jakebailey avatar Sep 20 '22 00:09 jakebailey

I just pushed a version that is a lot better; no conditional types, and it caught way more things because my original type was not actually correct. This one's a lot clearer.

jakebailey avatar Sep 21 '22 04:09 jakebailey

@typescript-bot test this @typescript-bot user test this inline @typescript-bot run dt @typescript-bot perf test this faster @typescript-bot test top100

jakebailey avatar Sep 21 '22 04:09 jakebailey

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

typescript-bot avatar Sep 21 '22 04:09 typescript-bot

Heya @jakebailey, I've started to run the abridged perf test suite on this PR at 00a0f3ef19b84429c7ad4518593f9f9b93744b42. You can monitor the build here.

typescript-bot avatar Sep 21 '22 04:09 typescript-bot

Heya @jakebailey, I've started to run the diff-based user code test suite on this PR at 00a0f3ef19b84429c7ad4518593f9f9b93744b42. You can monitor the build here.

Update: The results are in!

typescript-bot avatar Sep 21 '22 04:09 typescript-bot

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

typescript-bot avatar Sep 21 '22 04:09 typescript-bot

Heya @jakebailey, I've started to run the diff-based top-repos suite on this PR at 00a0f3ef19b84429c7ad4518593f9f9b93744b42. You can monitor the build here.

typescript-bot avatar Sep 21 '22 04:09 typescript-bot

@typescript-bot perf test this

jakebailey avatar Sep 21 '22 04:09 jakebailey

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

Update: The results are in!

typescript-bot avatar Sep 21 '22 04:09 typescript-bot

@jakebailey Here are the results of running the user test suite comparing main and refs/pull/49929/merge:

Everything looks good!

typescript-bot avatar Sep 21 '22 04:09 typescript-bot

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

typescript-bot avatar Sep 21 '22 05:09 typescript-bot

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

Here they are:

Compiler

Comparison Report - main..49929
Metric main 49929 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 363,420k (± 0.02%) 363,423k (± 0.03%) +3k (+ 0.00%) 363,216k 363,621k
Parse Time 2.08s (± 0.51%) 2.07s (± 0.50%) -0.00s (- 0.19%) 2.05s 2.10s
Bind Time 0.78s (± 0.87%) 0.78s (± 1.04%) -0.00s (- 0.25%) 0.77s 0.81s
Check Time 6.17s (± 0.68%) 6.17s (± 0.54%) -0.01s (- 0.15%) 6.07s 6.22s
Emit Time 6.02s (± 0.84%) 6.07s (± 0.83%) +0.05s (+ 0.83%) 5.98s 6.23s
Total Time 15.06s (± 0.35%) 15.09s (± 0.55%) +0.04s (+ 0.25%) 14.90s 15.31s
Compiler-Unions - node (v10.16.3, x64)
Memory used 206,276k (± 0.03%) 206,295k (± 0.03%) +18k (+ 0.01%) 206,166k 206,451k
Parse Time 0.84s (± 0.79%) 0.83s (± 0.80%) -0.01s (- 0.83%) 0.82s 0.85s
Bind Time 0.47s (± 2.50%) 0.47s (± 1.06%) -0.00s (- 0.64%) 0.46s 0.48s
Check Time 8.45s (± 0.60%) 8.42s (± 0.48%) -0.03s (- 0.32%) 8.35s 8.56s
Emit Time 2.45s (± 0.79%) 2.45s (± 1.21%) -0.00s (- 0.12%) 2.38s 2.52s
Total Time 12.21s (± 0.51%) 12.17s (± 0.41%) -0.04s (- 0.29%) 12.08s 12.34s
Monaco - node (v10.16.3, x64)
Memory used 344,820k (± 0.02%) 344,682k (± 0.02%) -138k (- 0.04%) 344,453k 344,780k
Parse Time 1.60s (± 0.51%) 1.59s (± 0.85%) -0.01s (- 0.50%) 1.54s 1.61s
Bind Time 0.70s (± 0.47%) 0.70s (± 1.00%) +0.00s (+ 0.14%) 0.69s 0.72s
Check Time 6.21s (± 0.33%) 6.27s (± 0.50%) +0.07s (+ 1.06%) 6.19s 6.33s
Emit Time 3.22s (± 0.68%) 3.24s (± 0.95%) +0.02s (+ 0.56%) 3.18s 3.33s
Total Time 11.73s (± 0.29%) 11.80s (± 0.51%) +0.08s (+ 0.66%) 11.69s 11.92s
TFS - node (v10.16.3, x64)
Memory used 306,049k (± 0.01%) 306,088k (± 0.02%) +39k (+ 0.01%) 305,986k 306,228k
Parse Time 1.28s (± 0.47%) 1.29s (± 0.63%) +0.01s (+ 0.39%) 1.27s 1.31s
Bind Time 0.67s (± 0.78%) 0.67s (± 0.60%) 0.00s ( 0.00%) 0.66s 0.68s
Check Time 5.50s (± 0.47%) 5.48s (± 0.69%) -0.02s (- 0.29%) 5.42s 5.60s
Emit Time 3.39s (± 0.43%) 3.41s (± 1.11%) +0.02s (+ 0.68%) 3.31s 3.49s
Total Time 10.84s (± 0.31%) 10.85s (± 0.27%) +0.01s (+ 0.07%) 10.77s 10.91s
material-ui - node (v10.16.3, x64)
Memory used 459,188k (± 0.01%) 459,223k (± 0.01%) +35k (+ 0.01%) 459,105k 459,350k
Parse Time 1.82s (± 0.64%) 1.82s (± 0.71%) +0.00s (+ 0.05%) 1.80s 1.85s
Bind Time 0.57s (± 2.02%) 0.57s (± 2.39%) -0.00s (- 0.35%) 0.55s 0.60s
Check Time 15.61s (± 0.59%) 15.50s (± 0.16%) -0.11s (- 0.67%) 15.44s 15.54s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 18.01s (± 0.53%) 17.90s (± 0.15%) -0.11s (- 0.59%) 17.84s 17.95s
xstate - node (v10.16.3, x64)
Memory used 587,623k (± 1.21%) 587,608k (± 1.22%) -15k (- 0.00%) 584,110k 616,548k
Parse Time 2.60s (± 0.34%) 2.60s (± 0.43%) -0.00s (- 0.15%) 2.57s 2.63s
Bind Time 0.91s (± 0.49%) 0.91s (± 0.40%) -0.01s (- 0.66%) 0.90s 0.91s
Check Time 1.60s (± 0.46%) 1.59s (± 0.50%) -0.01s (- 0.63%) 1.56s 1.60s
Emit Time 0.07s (± 3.14%) 0.07s (± 3.14%) 0.00s ( 0.00%) 0.07s 0.08s
Total Time 5.18s (± 0.36%) 5.17s (± 0.28%) -0.01s (- 0.27%) 5.14s 5.19s
Angular - node (v12.1.0, x64)
Memory used 340,757k (± 0.10%) 340,925k (± 0.02%) +167k (+ 0.05%) 340,775k 341,042k
Parse Time 2.11s (± 0.63%) 2.09s (± 0.67%) -0.01s (- 0.62%) 2.07s 2.12s
Bind Time 0.77s (± 0.58%) 0.77s (± 0.96%) -0.00s (- 0.26%) 0.75s 0.78s
Check Time 5.90s (± 0.62%) 5.86s (± 0.73%) -0.03s (- 0.58%) 5.78s 5.95s
Emit Time 6.37s (± 0.84%) 6.34s (± 0.82%) -0.04s (- 0.61%) 6.21s 6.45s
Total Time 15.15s (± 0.54%) 15.06s (± 0.60%) -0.09s (- 0.57%) 14.89s 15.22s
Compiler-Unions - node (v12.1.0, x64)
Memory used 193,290k (± 0.52%) 192,858k (± 0.61%) -432k (- 0.22%) 190,450k 194,391k
Parse Time 0.83s (± 0.99%) 0.83s (± 1.06%) -0.00s (- 0.48%) 0.81s 0.85s
Bind Time 0.48s (± 0.76%) 0.47s (± 0.72%) -0.00s (- 0.63%) 0.47s 0.48s
Check Time 6.74s (± 0.55%) 6.69s (± 0.52%) -0.05s (- 0.70%) 6.63s 6.80s
Emit Time 2.47s (± 1.66%) 2.47s (± 0.91%) +0.00s (+ 0.08%) 2.41s 2.51s
Total Time 10.51s (± 0.64%) 10.46s (± 0.52%) -0.05s (- 0.48%) 10.35s 10.62s
Monaco - node (v12.1.0, x64)
Memory used 327,803k (± 0.03%) 327,837k (± 0.02%) +34k (+ 0.01%) 327,695k 327,948k
Parse Time 1.58s (± 0.96%) 1.58s (± 0.81%) -0.00s (- 0.32%) 1.55s 1.61s
Bind Time 0.70s (± 1.20%) 0.70s (± 0.52%) -0.01s (- 0.71%) 0.69s 0.70s
Check Time 5.85s (± 0.42%) 5.85s (± 0.50%) +0.00s (+ 0.05%) 5.78s 5.91s
Emit Time 3.32s (± 0.36%) 3.36s (± 0.95%) +0.04s (+ 1.14%) 3.31s 3.45s
Total Time 11.45s (± 0.37%) 11.49s (± 0.49%) +0.03s (+ 0.30%) 11.39s 11.63s
TFS - node (v12.1.0, x64)
Memory used 290,725k (± 0.02%) 290,557k (± 0.06%) -168k (- 0.06%) 289,950k 290,778k
Parse Time 1.30s (± 0.99%) 1.30s (± 0.74%) +0.00s (+ 0.15%) 1.27s 1.32s
Bind Time 0.67s (± 0.89%) 0.67s (± 0.88%) -0.00s (- 0.15%) 0.66s 0.69s
Check Time 5.40s (± 0.63%) 5.41s (± 0.71%) +0.02s (+ 0.32%) 5.33s 5.49s
Emit Time 3.52s (± 0.66%) 3.53s (± 0.43%) +0.01s (+ 0.28%) 3.50s 3.57s
Total Time 10.89s (± 0.38%) 10.91s (± 0.26%) +0.03s (+ 0.23%) 10.86s 10.97s
material-ui - node (v12.1.0, x64)
Memory used 438,457k (± 0.01%) 438,532k (± 0.01%) +75k (+ 0.02%) 438,470k 438,652k
Parse Time 1.83s (± 0.67%) 1.83s (± 0.51%) 0.00s ( 0.00%) 1.82s 1.86s
Bind Time 0.55s (± 0.95%) 0.55s (± 0.67%) -0.00s (- 0.55%) 0.54s 0.55s
Check Time 12.84s (± 0.67%) 12.72s (± 0.40%) -0.12s (- 0.90%) 12.63s 12.88s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.22s (± 0.61%) 15.10s (± 0.37%) -0.12s (- 0.77%) 15.00s 15.27s
xstate - node (v12.1.0, x64)
Memory used 549,516k (± 0.01%) 549,563k (± 0.01%) +48k (+ 0.01%) 549,383k 549,740k
Parse Time 2.56s (± 0.66%) 2.54s (± 0.44%) -0.01s (- 0.55%) 2.52s 2.56s
Bind Time 0.89s (± 0.63%) 0.88s (± 0.70%) -0.01s (- 0.79%) 0.87s 0.89s
Check Time 1.49s (± 0.71%) 1.49s (± 0.75%) -0.00s (- 0.07%) 1.46s 1.51s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.01s (± 0.33%) 4.98s (± 0.38%) -0.02s (- 0.44%) 4.93s 5.02s
Angular - node (v14.15.1, x64)
Memory used 338,980k (± 0.01%) 338,982k (± 0.01%) +2k (+ 0.00%) 338,946k 339,018k
Parse Time 2.06s (± 0.37%) 2.05s (± 0.61%) -0.00s (- 0.10%) 2.03s 2.08s
Bind Time 0.80s (± 0.46%) 0.80s (± 0.62%) 0.00s ( 0.00%) 0.79s 0.81s
Check Time 5.89s (± 0.61%) 5.87s (± 0.45%) -0.02s (- 0.36%) 5.79s 5.91s
Emit Time 6.28s (± 0.80%) 6.27s (± 0.55%) -0.01s (- 0.10%) 6.20s 6.36s
Total Time 15.01s (± 0.62%) 14.98s (± 0.35%) -0.03s (- 0.18%) 14.88s 15.10s
Compiler-Unions - node (v14.15.1, x64)
Memory used 190,210k (± 0.01%) 190,226k (± 0.01%) +16k (+ 0.01%) 190,178k 190,285k
Parse Time 0.85s (± 0.89%) 0.85s (± 0.87%) -0.00s (- 0.12%) 0.84s 0.88s
Bind Time 0.48s (± 0.75%) 0.49s (± 1.01%) +0.00s (+ 0.41%) 0.48s 0.50s
Check Time 6.71s (± 0.55%) 6.74s (± 0.53%) +0.03s (+ 0.46%) 6.67s 6.82s
Emit Time 2.39s (± 0.80%) 2.41s (± 0.98%) +0.02s (+ 0.79%) 2.36s 2.48s
Total Time 10.44s (± 0.49%) 10.49s (± 0.41%) +0.05s (+ 0.50%) 10.39s 10.59s
Monaco - node (v14.15.1, x64)
Memory used 326,556k (± 0.01%) 326,673k (± 0.01%) +116k (+ 0.04%) 326,632k 326,723k
Parse Time 1.58s (± 0.44%) 1.59s (± 0.47%) +0.01s (+ 0.57%) 1.57s 1.60s
Bind Time 0.73s (± 0.65%) 0.73s (± 1.24%) +0.00s (+ 0.28%) 0.72s 0.76s
Check Time 5.72s (± 0.65%) 5.71s (± 0.45%) -0.01s (- 0.12%) 5.66s 5.75s
Emit Time 3.37s (± 0.62%) 3.39s (± 0.63%) +0.03s (+ 0.80%) 3.34s 3.43s
Total Time 11.39s (± 0.41%) 11.43s (± 0.35%) +0.03s (+ 0.31%) 11.36s 11.52s
TFS - node (v14.15.1, x64)
Memory used 289,686k (± 0.00%) 289,666k (± 0.01%) -20k (- 0.01%) 289,625k 289,708k
Parse Time 1.30s (± 0.58%) 1.29s (± 0.64%) -0.00s (- 0.23%) 1.28s 1.32s
Bind Time 0.79s (± 1.39%) 0.79s (± 0.62%) +0.00s (+ 0.51%) 0.78s 0.80s
Check Time 5.38s (± 0.49%) 5.39s (± 0.63%) +0.00s (+ 0.06%) 5.34s 5.48s
Emit Time 3.60s (± 0.77%) 3.64s (± 0.90%) +0.04s (+ 1.19%) 3.56s 3.71s
Total Time 11.07s (± 0.41%) 11.12s (± 0.52%) +0.05s (+ 0.41%) 11.01s 11.27s
material-ui - node (v14.15.1, x64)
Memory used 436,676k (± 0.00%) 436,700k (± 0.00%) +24k (+ 0.01%) 436,666k 436,722k
Parse Time 1.87s (± 0.66%) 1.87s (± 0.37%) -0.01s (- 0.43%) 1.85s 1.88s
Bind Time 0.58s (± 1.02%) 0.58s (± 0.89%) -0.00s (- 0.51%) 0.57s 0.59s
Check Time 12.85s (± 0.80%) 12.82s (± 0.48%) -0.04s (- 0.29%) 12.74s 13.03s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.31s (± 0.68%) 15.27s (± 0.38%) -0.05s (- 0.32%) 15.19s 15.46s
xstate - node (v14.15.1, x64)
Memory used 547,203k (± 0.00%) 547,285k (± 0.00%) +82k (+ 0.02%) 547,249k 547,319k
Parse Time 2.62s (± 0.62%) 2.62s (± 0.36%) -0.01s (- 0.34%) 2.59s 2.63s
Bind Time 0.98s (± 1.47%) 0.97s (± 0.98%) -0.02s (- 1.63%) 0.95s 1.00s
Check Time 1.52s (± 0.43%) 1.51s (± 0.30%) -0.01s (- 0.66%) 1.50s 1.52s
Emit Time 0.07s (± 4.13%) 0.07s (± 3.14%) -0.00s (- 1.39%) 0.07s 0.08s
Total Time 5.20s (± 0.33%) 5.17s (± 0.20%) -0.03s (- 0.62%) 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 49929 10
Baseline main 10

TSServer

Comparison Report - main..49929
Metric main 49929 Delta Best Worst
Compiler-UnionsTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,397ms (± 0.44%) 1,396ms (± 0.26%) -1ms (- 0.08%) 1,387ms 1,402ms
Req 2 - geterr 4,088ms (± 0.65%) 4,075ms (± 0.74%) -13ms (- 0.31%) 4,024ms 4,141ms
Req 3 - references 230ms (± 0.54%) 230ms (± 0.68%) -0ms (- 0.09%) 227ms 234ms
Req 4 - navto 171ms (± 1.57%) 169ms (± 0.68%) -2ms (- 1.35%) 166ms 171ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 93ms (± 4.40%) 93ms (± 2.64%) +1ms (+ 0.65%) 89ms 97ms
CompilerTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,496ms (± 0.44%) 1,494ms (± 0.41%) -3ms (- 0.17%) 1,483ms 1,507ms
Req 2 - geterr 2,261ms (± 0.41%) 2,255ms (± 0.43%) -7ms (- 0.29%) 2,230ms 2,273ms
Req 3 - references 243ms (± 0.33%) 244ms (± 0.79%) +1ms (+ 0.41%) 240ms 248ms
Req 4 - navto 184ms (± 0.62%) 183ms (± 0.91%) -1ms (- 0.43%) 180ms 187ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 60ms (± 1.17%) 60ms (± 0.96%) +0ms (+ 0.33%) 59ms 61ms
xstateTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 2,087ms (± 0.24%) 2,087ms (± 0.39%) -0ms (- 0.01%) 2,066ms 2,104ms
Req 2 - geterr 800ms (± 0.71%) 797ms (± 0.67%) -3ms (- 0.38%) 786ms 814ms
Req 3 - references 96ms (± 1.32%) 95ms (± 1.07%) -1ms (- 0.83%) 93ms 98ms
Req 4 - navto 231ms (± 1.07%) 230ms (± 0.71%) -2ms (- 0.65%) 226ms 232ms
Req 5 - completionInfo count 3,301 (± 0.00%) 3,301 (± 0.00%) 0 ( 0.00%) 3,301 3,301
Req 5 - completionInfo 280ms (± 0.85%) 281ms (± 1.00%) +1ms (+ 0.43%) 274ms 286ms
Compiler-UnionsTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,415ms (± 0.48%) 1,404ms (± 0.43%) -11ms (- 0.76%) 1,394ms 1,420ms
Req 2 - geterr 3,390ms (± 0.99%) 3,381ms (± 0.70%) -9ms (- 0.25%) 3,319ms 3,441ms
Req 3 - references 220ms (± 0.82%) 220ms (± 0.74%) +0ms (+ 0.18%) 217ms 225ms
Req 4 - navto 162ms (± 1.37%) 159ms (± 1.00%) -3ms (- 1.73%) 153ms 161ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 63ms (± 3.88%) 60ms (± 4.67%) 🟩-2ms (- 3.36%) 56ms 67ms
CompilerTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,506ms (± 0.54%) 1,496ms (± 0.72%) -10ms (- 0.69%) 1,468ms 1,520ms
Req 2 - geterr 2,172ms (± 0.54%) 2,160ms (± 0.45%) -12ms (- 0.53%) 2,143ms 2,184ms
Req 3 - references 236ms (± 0.78%) 234ms (± 0.81%) -2ms (- 0.93%) 231ms 239ms
Req 4 - navto 171ms (± 0.91%) 169ms (± 1.14%) -2ms (- 1.00%) 165ms 174ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 59ms (± 1.98%) 59ms (± 1.88%) -0ms (- 0.68%) 57ms 62ms
xstateTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 2,053ms (± 0.61%) 2,040ms (± 0.37%) -13ms (- 0.63%) 2,028ms 2,062ms
Req 2 - geterr 757ms (± 0.83%) 750ms (± 0.57%) -7ms (- 0.91%) 741ms 758ms
Req 3 - references 69ms (± 1.06%) 68ms (± 1.47%) -1ms (- 1.16%) 66ms 70ms
Req 4 - navto 225ms (± 0.95%) 224ms (± 0.41%) -1ms (- 0.40%) 222ms 227ms
Req 5 - completionInfo count 3,301 (± 0.00%) 3,301 (± 0.00%) 0 ( 0.00%) 3,301 3,301
Req 5 - completionInfo 276ms (± 1.19%) 274ms (± 0.91%) -2ms (- 0.62%) 266ms 279ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,449ms (± 0.43%) 1,443ms (± 0.50%) -6ms (- 0.44%) 1,430ms 1,458ms
Req 2 - geterr 3,504ms (± 0.48%) 3,504ms (± 0.84%) +0ms (+ 0.00%) 3,435ms 3,572ms
Req 3 - references 230ms (± 0.45%) 230ms (± 0.39%) -0ms (- 0.13%) 229ms 232ms
Req 4 - navto 171ms (± 0.70%) 169ms (± 0.48%) -2ms (- 1.05%) 167ms 171ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 55ms (± 1.06%) 56ms (± 4.96%) +1ms (+ 2.38%) 54ms 67ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,523ms (± 0.57%) 1,519ms (± 0.54%) -4ms (- 0.26%) 1,502ms 1,538ms
Req 2 - geterr 2,313ms (± 0.46%) 2,304ms (± 0.32%) -9ms (- 0.39%) 2,287ms 2,323ms
Req 3 - references 242ms (± 0.76%) 242ms (± 0.67%) 0ms ( 0.00%) 239ms 247ms
Req 4 - navto 178ms (± 0.62%) 177ms (± 0.50%) -1ms (- 0.62%) 174ms 178ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 55ms (± 1.21%) 55ms (± 0.62%) -0ms (- 0.55%) 54ms 55ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,151ms (± 0.56%) 2,141ms (± 0.57%) -11ms (- 0.50%) 2,116ms 2,170ms
Req 2 - geterr 767ms (± 0.40%) 764ms (± 0.47%) -3ms (- 0.39%) 752ms 771ms
Req 3 - references 68ms (± 1.58%) 66ms (± 1.85%) -2ms (- 2.37%) 64ms 69ms
Req 4 - navto 228ms (± 0.56%) 228ms (± 0.57%) -1ms (- 0.31%) 225ms 230ms
Req 5 - completionInfo count 3,301 (± 0.00%) 3,301 (± 0.00%) 0 ( 0.00%) 3,301 3,301
Req 5 - completionInfo 279ms (± 1.58%) 285ms (± 3.39%) +6ms (+ 2.15%) 274ms 320ms
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 49929 10
Baseline main 10
Developer Information:

Download Benchmark

typescript-bot avatar Sep 21 '22 05:09 typescript-bot

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

DanielRosenwasser avatar Oct 27 '22 19:10 DanielRosenwasser

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

typescript-bot avatar Oct 27 '22 19:10 typescript-bot

Heya @DanielRosenwasser, I've started to run the diff-based top-repos suite (tsserver) on this PR at 56f36a56974d47b2d65f4b893aa63e9938a70c67. You can monitor the build here.

Update: The results are in!

typescript-bot avatar Oct 27 '22 19:10 typescript-bot

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

Update: The results are in!

typescript-bot avatar Oct 27 '22 19:10 typescript-bot

Heya @DanielRosenwasser, I've started to run the diff-based top-repos suite on this PR at 56f36a56974d47b2d65f4b893aa63e9938a70c67. You can monitor the build here.

Update: The results are in!

typescript-bot avatar Oct 27 '22 19:10 typescript-bot

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

Update: The results are in!

typescript-bot avatar Oct 27 '22 19:10 typescript-bot

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

typescript-bot avatar Oct 27 '22 19:10 typescript-bot

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

Update: The results are in!

typescript-bot avatar Oct 27 '22 19:10 typescript-bot

@DanielRosenwasser Here are the results of running the user test suite comparing main and refs/pull/49929/merge:

Everything looks good!

typescript-bot avatar Oct 27 '22 20:10 typescript-bot