Tail recursive evaluation of conditional types by ahejlsberg · Pull Request #45711 · microsoft/TypeScript (original) (raw)
@ahejlsberg
The results of the perf run you requested are in!
Here they are:
Comparison Report - main..45711
Metric | main | 45711 | Delta | Best | Worst |
---|---|---|---|---|---|
Angular - node (v10.16.3, x64) | |||||
Memory used | 351,498k (± 0.02%) | 351,568k (± 0.02%) | +70k (+ 0.02%) | 351,360k | 351,643k |
Parse Time | 1.90s (± 0.34%) | 1.91s (± 0.68%) | +0.01s (+ 0.63%) | 1.89s | 1.94s |
Bind Time | 0.85s (± 0.76%) | 0.86s (± 0.69%) | +0.01s (+ 0.94%) | 0.85s | 0.87s |
Check Time | 5.40s (± 0.45%) | 5.41s (± 0.37%) | +0.01s (+ 0.24%) | 5.36s | 5.47s |
Emit Time | 5.83s (± 0.29%) | 5.86s (± 0.64%) | +0.03s (+ 0.55%) | 5.77s | 5.95s |
Total Time | 13.97s (± 0.26%) | 14.04s (± 0.38%) | +0.07s (+ 0.48%) | 13.88s | 14.14s |
Compiler-Unions - node (v10.16.3, x64) | |||||
Memory used | 203,519k (± 0.04%) | 203,445k (± 0.03%) | -74k (- 0.04%) | 203,329k | 203,611k |
Parse Time | 0.78s (± 0.85%) | 0.79s (± 0.89%) | +0.01s (+ 1.15%) | 0.77s | 0.80s |
Bind Time | 0.52s (± 1.43%) | 0.52s (± 1.66%) | -0.00s (- 0.19%) | 0.51s | 0.54s |
Check Time | 7.84s (± 0.50%) | 7.89s (± 0.64%) | +0.05s (+ 0.66%) | 7.76s | 7.99s |
Emit Time | 2.44s (± 0.70%) | 2.46s (± 0.74%) | +0.02s (+ 0.61%) | 2.42s | 2.49s |
Total Time | 11.58s (± 0.37%) | 11.65s (± 0.54%) | +0.07s (+ 0.60%) | 11.51s | 11.77s |
Monaco - node (v10.16.3, x64) | |||||
Memory used | 340,627k (± 0.03%) | 340,619k (± 0.02%) | -9k (- 0.00%) | 340,464k | 340,827k |
Parse Time | 1.45s (± 0.90%) | 1.46s (± 0.46%) | +0.01s (+ 0.76%) | 1.44s | 1.47s |
Bind Time | 0.75s (± 1.07%) | 0.75s (± 0.60%) | 0.00s ( 0.00%) | 0.74s | 0.76s |
Check Time | 5.44s (± 0.60%) | 5.41s (± 0.72%) | -0.03s (- 0.50%) | 5.31s | 5.49s |
Emit Time | 3.16s (± 0.86%) | 3.16s (± 1.04%) | +0.01s (+ 0.25%) | 3.11s | 3.26s |
Total Time | 10.79s (± 0.44%) | 10.78s (± 0.29%) | -0.01s (- 0.05%) | 10.71s | 10.86s |
TFS - node (v10.16.3, x64) | |||||
Memory used | 303,979k (± 0.03%) | 304,033k (± 0.02%) | +55k (+ 0.02%) | 303,923k | 304,196k |
Parse Time | 1.18s (± 0.59%) | 1.18s (± 0.31%) | +0.00s (+ 0.25%) | 1.18s | 1.19s |
Bind Time | 0.71s (± 0.52%) | 0.71s (± 0.69%) | -0.00s (- 0.14%) | 0.71s | 0.73s |
Check Time | 4.92s (± 0.65%) | 4.93s (± 0.43%) | +0.01s (+ 0.20%) | 4.89s | 4.97s |
Emit Time | 3.32s (± 1.36%) | 3.32s (± 1.45%) | +0.00s (+ 0.06%) | 3.22s | 3.43s |
Total Time | 10.13s (± 0.60%) | 10.15s (± 0.56%) | +0.01s (+ 0.13%) | 10.00s | 10.28s |
material-ui - node (v10.16.3, x64) | |||||
Memory used | 469,920k (± 0.02%) | 469,714k (± 0.01%) | -207k (- 0.04%) | 469,641k | 469,788k |
Parse Time | 1.73s (± 0.70%) | 1.74s (± 0.61%) | +0.01s (+ 0.35%) | 1.72s | 1.76s |
Bind Time | 0.66s (± 0.45%) | 0.67s (± 0.67%) | +0.01s (+ 0.91%) | 0.66s | 0.68s |
Check Time | 14.19s (± 0.63%) | 14.44s (± 0.92%) | +0.25s (+ 1.76%) | 14.17s | 14.71s |
Emit Time | 0.00s (± 0.00%) | 0.00s (± 0.00%) | 0.00s ( NaN%) | 0.00s | 0.00s |
Total Time | 16.59s (± 0.55%) | 16.85s (± 0.85%) | +0.26s (+ 1.56%) | 16.57s | 17.15s |
Angular - node (v12.1.0, x64) | |||||
Memory used | 329,562k (± 0.02%) | 329,438k (± 0.08%) | -124k (- 0.04%) | 328,468k | 329,679k |
Parse Time | 1.89s (± 0.82%) | 1.89s (± 0.77%) | +0.00s (+ 0.05%) | 1.86s | 1.92s |
Bind Time | 0.84s (± 0.95%) | 0.84s (± 0.79%) | +0.00s (+ 0.12%) | 0.83s | 0.86s |
Check Time | 5.25s (± 0.64%) | 5.28s (± 0.93%) | +0.03s (+ 0.50%) | 5.14s | 5.34s |
Emit Time | 6.08s (± 0.55%) | 6.11s (± 0.53%) | +0.03s (+ 0.54%) | 6.02s | 6.17s |
Total Time | 14.06s (± 0.43%) | 14.12s (± 0.57%) | +0.06s (+ 0.43%) | 13.92s | 14.24s |
Compiler-Unions - node (v12.1.0, x64) | |||||
Memory used | 190,701k (± 0.32%) | 190,839k (± 0.13%) | +137k (+ 0.07%) | 190,261k | 191,234k |
Parse Time | 0.78s (± 0.77%) | 0.78s (± 0.85%) | +0.00s (+ 0.52%) | 0.77s | 0.80s |
Bind Time | 0.54s (± 0.92%) | 0.53s (± 0.84%) | -0.00s (- 0.75%) | 0.53s | 0.55s |
Check Time | 7.41s (± 0.69%) | 7.42s (± 0.79%) | +0.01s (+ 0.18%) | 7.26s | 7.54s |
Emit Time | 2.46s (± 1.08%) | 2.47s (± 0.92%) | +0.01s (+ 0.61%) | 2.43s | 2.53s |
Total Time | 11.17s (± 0.46%) | 11.20s (± 0.59%) | +0.03s (+ 0.26%) | 11.02s | 11.35s |
Monaco - node (v12.1.0, x64) | |||||
Memory used | 323,777k (± 0.02%) | 323,810k (± 0.02%) | +33k (+ 0.01%) | 323,637k | 323,961k |
Parse Time | 1.43s (± 0.61%) | 1.44s (± 0.77%) | +0.01s (+ 0.63%) | 1.42s | 1.46s |
Bind Time | 0.73s (± 0.50%) | 0.73s (± 0.41%) | +0.01s (+ 0.83%) | 0.73s | 0.74s |
Check Time | 5.30s (± 0.34%) | 5.32s (± 0.75%) | +0.02s (+ 0.38%) | 5.23s | 5.43s |
Emit Time | 3.19s (± 0.71%) | 3.19s (± 0.63%) | -0.01s (- 0.22%) | 3.15s | 3.24s |
Total Time | 10.65s (± 0.16%) | 10.68s (± 0.60%) | +0.02s (+ 0.23%) | 10.52s | 10.83s |
TFS - node (v12.1.0, x64) | |||||
Memory used | 288,768k (± 0.02%) | 288,762k (± 0.02%) | -6k (- 0.00%) | 288,621k | 288,915k |
Parse Time | 1.21s (± 0.72%) | 1.22s (± 0.83%) | +0.01s (+ 0.66%) | 1.20s | 1.24s |
Bind Time | 0.71s (± 1.36%) | 0.70s (± 1.18%) | -0.00s (- 0.56%) | 0.69s | 0.72s |
Check Time | 4.87s (± 0.49%) | 4.87s (± 0.29%) | +0.01s (+ 0.12%) | 4.85s | 4.90s |
Emit Time | 3.39s (± 1.13%) | 3.38s (± 0.61%) | -0.01s (- 0.32%) | 3.32s | 3.42s |
Total Time | 10.17s (± 0.63%) | 10.17s (± 0.25%) | +0.00s (+ 0.04%) | 10.10s | 10.23s |
material-ui - node (v12.1.0, x64) | |||||
Memory used | 448,584k (± 0.02%) | 448,412k (± 0.06%) | -172k (- 0.04%) | 447,378k | 448,617k |
Parse Time | 1.72s (± 0.62%) | 1.73s (± 0.64%) | +0.01s (+ 0.64%) | 1.70s | 1.75s |
Bind Time | 0.65s (± 0.90%) | 0.65s (± 1.02%) | +0.01s (+ 0.93%) | 0.63s | 0.66s |
Check Time | 12.85s (± 0.43%) | 13.00s (± 0.75%) | +0.15s (+ 1.14%) | 12.79s | 13.19s |
Emit Time | 0.00s (± 0.00%) | 0.00s (± 0.00%) | 0.00s ( NaN%) | 0.00s | 0.00s |
Total Time | 15.22s (± 0.32%) | 15.38s (± 0.66%) | +0.16s (+ 1.08%) | 15.15s | 15.59s |
Angular - node (v14.15.1, x64) | |||||
Memory used | 328,088k (± 0.01%) | 328,103k (± 0.01%) | +15k (+ 0.00%) | 328,050k | 328,149k |
Parse Time | 1.90s (± 0.73%) | 1.91s (± 0.64%) | +0.01s (+ 0.63%) | 1.89s | 1.94s |
Bind Time | 0.88s (± 0.51%) | 0.88s (± 0.93%) | +0.00s (+ 0.11%) | 0.87s | 0.91s |
Check Time | 5.30s (± 0.76%) | 5.32s (± 0.67%) | +0.02s (+ 0.32%) | 5.24s | 5.43s |
Emit Time | 6.22s (± 0.72%) | 6.18s (± 0.70%) | -0.04s (- 0.71%) | 6.11s | 6.31s |
Total Time | 14.30s (± 0.51%) | 14.29s (± 0.54%) | -0.01s (- 0.09%) | 14.18s | 14.55s |
Compiler-Unions - node (v14.15.1, x64) | |||||
Memory used | 191,742k (± 0.55%) | 192,190k (± 0.49%) | +448k (+ 0.23%) | 189,614k | 192,907k |
Parse Time | 0.81s (± 0.92%) | 0.81s (± 0.45%) | -0.00s (- 0.12%) | 0.80s | 0.81s |
Bind Time | 0.56s (± 0.85%) | 0.56s (± 0.99%) | +0.01s (+ 0.90%) | 0.55s | 0.58s |
Check Time | 7.55s (± 0.61%) | 7.55s (± 0.52%) | -0.00s (- 0.03%) | 7.49s | 7.68s |
Emit Time | 2.48s (± 1.01%) | 2.46s (± 0.82%) | -0.02s (- 0.73%) | 2.41s | 2.49s |
Total Time | 11.39s (± 0.32%) | 11.37s (± 0.48%) | -0.02s (- 0.16%) | 11.27s | 11.54s |
Monaco - node (v14.15.1, x64) | |||||
Memory used | 322,540k (± 0.00%) | 322,541k (± 0.00%) | +1k (+ 0.00%) | 322,511k | 322,563k |
Parse Time | 1.48s (± 0.68%) | 1.49s (± 0.67%) | +0.00s (+ 0.20%) | 1.47s | 1.51s |
Bind Time | 0.76s (± 0.66%) | 0.76s (± 0.99%) | +0.00s (+ 0.26%) | 0.75s | 0.78s |
Check Time | 5.23s (± 0.43%) | 5.23s (± 0.51%) | +0.01s (+ 0.13%) | 5.19s | 5.29s |
Emit Time | 3.21s (± 0.69%) | 3.24s (± 1.03%) | +0.02s (+ 0.72%) | 3.18s | 3.31s |
Total Time | 10.68s (± 0.34%) | 10.72s (± 0.42%) | +0.03s (+ 0.32%) | 10.63s | 10.82s |
TFS - node (v14.15.1, x64) | |||||
Memory used | 287,700k (± 0.01%) | 287,713k (± 0.01%) | +13k (+ 0.00%) | 287,663k | 287,761k |
Parse Time | 1.26s (± 2.81%) | 1.26s (± 2.13%) | +0.00s (+ 0.24%) | 1.21s | 1.33s |
Bind Time | 0.73s (± 1.27%) | 0.73s (± 1.11%) | +0.00s (+ 0.27%) | 0.72s | 0.75s |
Check Time | 4.87s (± 0.35%) | 4.91s (± 0.46%) | +0.04s (+ 0.76%) | 4.84s | 4.97s |
Emit Time | 3.47s (± 0.77%) | 3.49s (± 0.84%) | +0.02s (+ 0.72%) | 3.43s | 3.57s |
Total Time | 10.32s (± 0.42%) | 10.38s (± 0.43%) | +0.07s (+ 0.65%) | 10.27s | 10.46s |
material-ui - node (v14.15.1, x64) | |||||
Memory used | 447,030k (± 0.01%) | 446,950k (± 0.00%) | -80k (- 0.02%) | 446,922k | 446,990k |
Parse Time | 1.76s (± 0.48%) | 1.77s (± 0.33%) | +0.01s (+ 0.63%) | 1.76s | 1.78s |
Bind Time | 0.69s (± 0.58%) | 0.69s (± 0.49%) | +0.00s (+ 0.29%) | 0.69s | 0.70s |
Check Time | 13.02s (± 0.60%) | 13.13s (± 0.71%) | +0.12s (+ 0.88%) | 12.87s | 13.26s |
Emit Time | 0.00s (± 0.00%) | 0.00s (± 0.00%) | 0.00s ( NaN%) | 0.00s | 0.00s |
Total Time | 15.47s (± 0.50%) | 15.59s (± 0.59%) | +0.13s (+ 0.83%) | 15.33s | 15.72s |
System
Machine Name | ts-ci-ubuntu |
---|---|
Platform | linux 4.4.0-210-generic |
Architecture | x64 |
Available Memory | 16 GB |
Available Memory | 9 GB |
CPUs | 4 × 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)
Benchmark | Name | Iterations |
---|---|---|
Current | 45711 | 10 |
Baseline | main | 10 |
Developer Information: