Enable strictFunctionTypes
- [ ] Note to self: this will have to be added to https://github.com/microsoft/TypeScript/wiki/API-Breaking-Changes.
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.
@typescript-bot perf test this
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!
@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 |
| Machine Name | ts-ci-ubuntu |
|---|---|
| Platform | linux 4.4.0-210-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
- node (v10.16.3, x64)
- node (v12.1.0, x64)
- node (v14.15.1, x64)
- 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 |
| Machine Name | ts-ci-ubuntu |
|---|---|
| Platform | linux 4.4.0-210-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
- node (v10.16.3, x64)
- node (v12.1.0, x64)
- node (v14.15.1, x64)
- 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:
Actually, I think I did just correct Transform.
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
Heya @jakebailey, I've started to run the tarball bundle task on this PR at e7cf2139c079d5ef02bb0aaccd733ea22ade564e. You can monitor the build here.
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]".;
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.
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.
@typescript-bot test this @typescript-bot user test this inline @typescript-bot run dt @typescript-bot perf test this faster @typescript-bot test top100
Heya @jakebailey, I've started to run the extended test suite on this PR at 00a0f3ef19b84429c7ad4518593f9f9b93744b42. You can monitor the build here.
Heya @jakebailey, I've started to run the abridged perf test suite on this PR at 00a0f3ef19b84429c7ad4518593f9f9b93744b42. You can monitor the build here.
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!
Heya @jakebailey, I've started to run the parallelized Definitely Typed test suite on this PR at 00a0f3ef19b84429c7ad4518593f9f9b93744b42. You can monitor the build here.
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 perf test this
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!
@jakebailey Here are the results of running the user test suite comparing main and refs/pull/49929/merge:
Everything looks good!
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.
@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 |
| Machine Name | ts-ci-ubuntu |
|---|---|
| Platform | linux 4.4.0-210-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
- node (v10.16.3, x64)
- node (v12.1.0, x64)
- node (v14.15.1, x64)
- 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 |
| Machine Name | ts-ci-ubuntu |
|---|---|
| Platform | linux 4.4.0-210-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
- node (v10.16.3, x64)
- node (v12.1.0, x64)
- node (v14.15.1, x64)
- 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:
@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
Heya @DanielRosenwasser, I've started to run the parallelized Definitely Typed test suite on this PR at 56f36a56974d47b2d65f4b893aa63e9938a70c67. You can monitor the build here.
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!
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!
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!
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!
Heya @DanielRosenwasser, I've started to run the extended test suite on this PR at 56f36a56974d47b2d65f4b893aa63e9938a70c67. You can monitor the build here.
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!
@DanielRosenwasser Here are the results of running the user test suite comparing main and refs/pull/49929/merge:
Everything looks good!