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

Scenarios

Benchmark Name Iterations
Current 45711 10
Baseline main 10

Developer Information:

Download Benchmark