Omit effects-free conditional constructs from control flow graph by ahejlsberg · Pull Request #58013 · microsoft/TypeScript (original) (raw)

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

Here they are:

tsc

Comparison Report - baseline..pr

Metric baseline pr Delta Best Worst p-value
Angular - node (v18.15.0, x64)
Memory used 295,678k (± 0.01%) 295,450k (± 0.01%) -228k (- 0.08%) 295,415k 295,473k p=0.005 n=6
Parse Time 2.66s (± 0.15%) 2.66s (± 0.34%) ~ 2.65s 2.67s p=0.787 n=6
Bind Time 0.83s (± 1.00%) 0.84s (± 1.43%) ~ 0.83s 0.86s p=0.227 n=6
Check Time 8.25s (± 0.17%) 8.19s (± 0.21%) -0.06s (- 0.75%) 8.17s 8.22s p=0.005 n=6
Emit Time 7.04s (± 0.45%) 7.04s (± 0.54%) ~ 7.02s 7.12s p=1.000 n=6
Total Time 18.79s (± 0.20%) 18.74s (± 0.25%) ~ 18.70s 18.83s p=0.092 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 193,352k (± 0.94%) 192,190k (± 0.74%) -1,161k (- 0.60%) 191,569k 195,095k p=0.030 n=6
Parse Time 1.36s (± 0.90%) 1.37s (± 0.97%) ~ 1.35s 1.38s p=0.729 n=6
Bind Time 0.72s (± 0.75%) 0.73s (± 0.56%) ~ 0.73s 0.74s p=0.054 n=6
Check Time 9.56s (± 0.62%) 9.38s (± 0.22%) -0.17s (- 1.80%) 9.36s 9.42s p=0.005 n=6
Emit Time 2.63s (± 0.80%) 2.62s (± 0.45%) ~ 2.61s 2.64s p=0.622 n=6
Total Time 14.27s (± 0.30%) 14.11s (± 0.24%) -0.17s (- 1.17%) 14.06s 14.16s p=0.005 n=6
Monaco - node (v18.15.0, x64)
Memory used 347,404k (± 0.00%) 347,143k (± 0.00%) -261k (- 0.08%) 347,127k 347,162k p=0.005 n=6
Parse Time 2.49s (± 0.55%) 2.48s (± 0.51%) ~ 2.46s 2.49s p=0.357 n=6
Bind Time 0.93s (± 0.44%) 0.92s (± 0.00%) -0.01s (- 0.90%) 0.92s 0.92s p=0.007 n=6
Check Time 7.00s (± 0.60%) 7.01s (± 0.28%) ~ 6.99s 7.04s p=0.568 n=6
Emit Time 4.07s (± 0.30%) 4.07s (± 0.46%) ~ 4.05s 4.10s p=1.000 n=6
Total Time 14.49s (± 0.29%) 14.48s (± 0.27%) ~ 14.44s 14.55s p=0.629 n=6
TFS - node (v18.15.0, x64)
Memory used 302,806k (± 0.01%) 302,284k (± 0.01%) -522k (- 0.17%) 302,265k 302,323k p=0.005 n=6
Parse Time 2.41s (± 1.57%) 2.41s (± 1.18%) ~ 2.38s 2.46s p=0.744 n=6
Bind Time 1.21s (± 0.52%) 1.19s (± 0.34%) -0.02s (- 1.52%) 1.19s 1.20s p=0.004 n=6
Check Time 7.49s (± 0.20%) 7.48s (± 0.22%) ~ 7.47s 7.51s p=0.684 n=6
Emit Time 4.28s (± 0.31%) 4.26s (± 0.36%) ~ 4.25s 4.29s p=0.088 n=6
Total Time 15.39s (± 0.22%) 15.35s (± 0.24%) ~ 15.31s 15.41s p=0.092 n=6
material-ui - node (v18.15.0, x64)
Memory used 510,042k (± 0.00%) 509,974k (± 0.00%) -68k (- 0.01%) 509,951k 510,012k p=0.008 n=6
Parse Time 2.66s (± 0.24%) 2.67s (± 0.66%) ~ 2.64s 2.69s p=0.454 n=6
Bind Time 0.99s (± 1.23%) 1.00s (± 0.84%) ~ 0.98s 1.00s p=0.934 n=6
Check Time 17.34s (± 0.55%) 17.26s (± 0.28%) ~ 17.19s 17.33s p=0.227 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 21.00s (± 0.51%) 20.92s (± 0.28%) ~ 20.84s 21.01s p=0.335 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,744,665k (± 0.00%) 1,742,824k (± 0.00%) -1,841k (- 0.11%) 1,742,764k 1,742,866k p=0.005 n=6
Parse Time 7.81s (± 0.48%) 7.89s (± 2.14%) ~ 7.79s 8.23s p=0.622 n=6
Bind Time 2.82s (± 1.13%) 2.81s (± 0.61%) ~ 2.79s 2.84s p=0.332 n=6
Check Time 67.17s (± 0.27%) 66.43s (± 0.62%) -0.73s (- 1.09%) 65.93s 67.17s p=0.020 n=6
Emit Time 0.16s (± 5.58%) 0.16s (± 3.29%) ~ 0.15s 0.16s p=0.541 n=6
Total Time 77.96s (± 0.25%) 77.29s (± 0.57%) -0.67s (- 0.86%) 76.73s 78.01s p=0.020 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,400,146k (± 0.06%) 2,397,534k (± 0.04%) -2,612k (- 0.11%) 2,395,667k 2,398,430k p=0.020 n=6
Parse Time 7.48s (± 0.75%) 7.48s (± 1.04%) ~ 7.33s 7.54s p=0.575 n=6
Bind Time 2.79s (± 1.12%) 2.64s (± 5.05%) 🟩-0.15s (- 5.43%) 2.49s 2.78s p=0.020 n=6
Check Time 49.50s (± 0.26%) 49.12s (± 0.56%) -0.38s (- 0.78%) 48.71s 49.46s p=0.020 n=6
Emit Time 4.01s (± 3.80%) 3.96s (± 2.03%) ~ 3.83s 4.05s p=0.810 n=6
Total Time 63.78s (± 0.32%) 63.20s (± 0.36%) -0.58s (- 0.92%) 62.95s 63.61s p=0.013 n=6
self-compiler - node (v18.15.0, x64)
Memory used 416,082k (± 0.00%) 414,769k (± 0.01%) -1,314k (- 0.32%) 414,720k 414,810k p=0.005 n=6
Parse Time 3.32s (± 0.73%) 3.33s (± 0.63%) ~ 3.31s 3.36s p=0.570 n=6
Bind Time 1.30s (± 0.40%) 1.30s (± 0.84%) ~ 1.29s 1.32s p=0.784 n=6
Check Time 18.20s (± 0.32%) 17.93s (± 0.24%) -0.27s (- 1.48%) 17.86s 17.98s p=0.005 n=6
Emit Time 1.36s (± 1.50%) 1.34s (± 1.03%) -0.02s (- 1.72%) 1.32s 1.35s p=0.050 n=6
Total Time 24.18s (± 0.22%) 23.90s (± 0.21%) -0.28s (- 1.17%) 23.81s 23.95s p=0.005 n=6
vscode - node (v18.15.0, x64)
Memory used 2,898,737k (± 0.00%) 2,893,995k (± 0.00%) -4,742k (- 0.16%) 2,893,884k 2,894,059k p=0.005 n=6
Parse Time 12.87s (± 0.38%) 12.92s (± 0.50%) ~ 12.83s 12.99s p=0.297 n=6
Bind Time 4.10s (± 0.50%) 4.15s (± 0.35%) +0.04s (+ 1.06%) 4.13s 4.16s p=0.007 n=6
Check Time 71.41s (± 0.41%) 71.07s (± 0.67%) ~ 70.81s 72.04s p=0.066 n=6
Emit Time 19.90s (± 7.73%) 19.28s (± 0.83%) ~ 19.05s 19.45s p=0.809 n=6
Total Time 108.29s (± 1.64%) 107.42s (± 0.43%) ~ 107.00s 108.28s p=0.149 n=6
webpack - node (v18.15.0, x64)
Memory used 408,871k (± 0.01%) 408,468k (± 0.04%) -403k (- 0.10%) 408,318k 408,680k p=0.005 n=6
Parse Time 3.89s (± 0.42%) 3.89s (± 0.27%) ~ 3.87s 3.90s p=0.743 n=6
Bind Time 1.68s (± 0.82%) 1.68s (± 0.70%) ~ 1.66s 1.69s p=0.461 n=6
Check Time 16.83s (± 0.14%) 16.78s (± 0.52%) ~ 16.68s 16.89s p=0.376 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.41s (± 0.20%) 22.34s (± 0.32%) ~ 22.26s 22.43s p=0.149 n=6
xstate - node (v18.15.0, x64)
Memory used 513,467k (± 0.01%) 513,261k (± 0.01%) -206k (- 0.04%) 513,189k 513,331k p=0.005 n=6
Parse Time 3.95s (± 0.34%) 3.95s (± 0.26%) ~ 3.94s 3.97s p=0.683 n=6
Bind Time 1.88s (± 0.78%) 1.88s (± 0.82%) ~ 1.86s 1.90s p=1.000 n=6
Check Time 3.45s (± 0.46%) 3.41s (± 0.86%) -0.04s (- 1.21%) 3.37s 3.45s p=0.019 n=6
Emit Time 0.08s (± 6.19%) 0.09s (± 4.45%) 🔻+0.01s (+10.00%) 0.09s 0.10s p=0.006 n=6
Total Time 9.36s (± 0.28%) 9.33s (± 0.18%) ~ 9.30s 9.35s p=0.064 n=6

System info unknown

Hosts

Scenarios

Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks