Port microsoft/typescript-go#1764 by ahejlsberg · Pull Request #62510 · microsoft/TypeScript

@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
Compiler-Unions - node (v18.15.0, x64)
Errors 34 34 ~ ~ ~ p=1.000 n=6
Symbols 62,370 62,370 ~ ~ ~ p=1.000 n=6
Types 50,386 50,386 ~ ~ ~ p=1.000 n=6
Memory used 193,380k (± 0.74%) 193,984k (± 0.97%) ~ 192,758k 196,464k p=0.423 n=6
Parse Time 1.29s (± 0.90%) 1.30s (± 0.84%) ~ 1.28s 1.31s p=0.246 n=6
Bind Time 0.72s (± 0.57%) 0.72s ~ ~ ~ p=0.405 n=6
Check Time 9.76s (± 0.40%) 9.74s (± 0.42%) ~ 9.70s 9.80s p=0.687 n=6
Emit Time 2.75s (± 0.42%) 2.74s (± 0.99%) ~ 2.70s 2.78s p=0.286 n=6
Total Time 14.52s (± 0.28%) 14.50s (± 0.49%) ~ 14.40s 14.58s p=0.687 n=6
angular-1 - node (v18.15.0, x64)
Errors 1 1 ~ ~ ~ p=1.000 n=6
Symbols 948,914 948,914 ~ ~ ~ p=1.000 n=6
Types 410,884 410,884 ~ ~ ~ p=1.000 n=6
Memory used 1,245,598k (± 0.00%) 1,245,621k (± 0.00%) ~ 1,245,567k 1,245,699k p=0.873 n=6
Parse Time 6.51s (± 0.63%) 6.47s (± 0.55%) ~ 6.43s 6.52s p=0.326 n=6
Bind Time 1.87s (± 0.79%) 1.87s (± 0.40%) ~ 1.86s 1.88s p=1.000 n=6
Check Time 32.22s (± 0.48%) 32.12s (± 0.35%) ~ 31.92s 32.26s p=0.173 n=6
Emit Time 14.77s (± 0.24%) 14.79s (± 0.38%) ~ 14.75s 14.90s p=0.462 n=6
Total Time 55.36s (± 0.33%) 55.25s (± 0.31%) ~ 55.00s 55.52s p=0.173 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,544,632 2,544,632 ~ ~ ~ p=1.000 n=6
Types 903,208 903,208 ~ ~ ~ p=1.000 n=6
Memory used 2,829,952k (± 0.00%) 2,829,953k (± 0.01%) ~ 2,829,703k 2,830,097k p=0.936 n=6
Parse Time 8.73s (± 0.28%) 8.74s (± 0.30%) ~ 8.71s 8.78s p=0.625 n=6
Bind Time 2.22s (± 0.44%) 2.22s (± 0.23%) ~ 2.22s 2.23s p=0.348 n=6
Check Time 86.16s (± 0.50%) 86.08s (± 0.72%) ~ 85.57s 87.28s p=0.298 n=6
Emit Time 0.63s (±124.75%) 0.61s (±123.09%) ~ 0.30s 2.15s p=0.383 n=6
Total Time 97.74s (± 1.03%) 97.65s (± 0.80%) ~ 96.87s 98.74s p=0.689 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,237,063 1,237,063 ~ ~ ~ p=1.000 n=6
Types 259,743 259,743 ~ ~ ~ p=1.000 n=6
Memory used 2,485,695k (± 7.55%) 2,424,762k (± 6.11%) ~ 2,363,211k 2,727,529k p=0.575 n=6
Parse Time 5.17s (± 0.67%) 5.13s (± 0.73%) ~ 5.10s 5.20s p=0.065 n=6
Bind Time 1.77s (± 0.66%) 1.77s (± 0.87%) ~ 1.76s 1.80s p=1.000 n=6
Check Time 34.94s (± 0.62%) 34.94s (± 0.42%) ~ 34.69s 35.08s p=0.810 n=6
Emit Time 3.00s (± 1.18%) 3.05s (± 4.24%) ~ 2.95s 3.31s p=0.810 n=6
Total Time 44.87s (± 0.51%) 44.91s (± 0.39%) ~ 44.62s 45.16s p=0.810 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,237,063 1,237,063 ~ ~ ~ p=1.000 n=6
Types 259,743 259,743 ~ ~ ~ p=1.000 n=6
Memory used 3,158,279k (± 0.02%) 3,158,133k (± 0.02%) ~ 3,157,495k 3,158,824k p=0.471 n=6
Parse Time 6.86s (± 0.97%) 6.86s (± 0.61%) ~ 6.80s 6.91s p=0.630 n=6
Bind Time 2.16s (± 0.81%) 2.15s (± 0.42%) ~ 2.14s 2.16s p=0.089 n=6
Check Time 42.53s (± 0.19%) 42.51s (± 0.46%) ~ 42.27s 42.77s p=0.936 n=6
Emit Time 3.45s (± 2.75%) 3.51s (± 2.82%) ~ 3.36s 3.66s p=0.173 n=6
Total Time 55.01s (± 0.29%) 55.06s (± 0.29%) ~ 54.92s 55.36s p=0.689 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 262,411 262,411 ~ ~ ~ p=1.000 n=6
Types 103,924 103,924 ~ ~ ~ p=1.000 n=6
Memory used 440,479k (± 0.01%) 440,476k (± 0.01%) ~ 440,403k 440,535k p=0.810 n=6
Parse Time 3.51s (± 0.98%) 3.51s (± 0.73%) ~ 3.47s 3.54s p=0.570 n=6
Bind Time 1.33s (± 1.03%) 1.33s (± 0.82%) ~ 1.32s 1.35s p=0.365 n=6
Check Time 19.03s (± 0.08%) 19.02s (± 0.34%) ~ 18.95s 19.10s p=1.000 n=6
Emit Time 1.54s (± 0.96%) 1.53s (± 0.87%) ~ 1.51s 1.55s p=0.190 n=6
Total Time 25.41s (± 0.17%) 25.40s (± 0.30%) ~ 25.30s 25.51s p=0.810 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 72 72 ~ ~ ~ p=1.000 n=6
Symbols 225,367 225,367 ~ ~ ~ p=1.000 n=6
Types 94,290 94,290 ~ ~ ~ p=1.000 n=6
Memory used 369,996k (± 0.04%) 369,960k (± 0.02%) ~ 369,891k 370,048k p=0.936 n=6
Parse Time 2.84s (± 1.79%) 2.83s (± 0.62%) ~ 2.82s 2.86s p=0.257 n=6
Bind Time 1.60s (± 0.92%) 1.59s (± 0.92%) ~ 1.57s 1.61s p=0.289 n=6
Check Time 16.46s (± 0.29%) 16.47s (± 0.25%) ~ 16.42s 16.52s p=0.629 n=6
Emit Time 0.00s (±244.70%) 0.00s ~ ~ ~ p=0.405 n=6
Total Time 20.91s (± 0.43%) 20.90s (± 0.22%) ~ 20.85s 20.95s p=0.935 n=6
vscode - node (v18.15.0, x64)
Errors 1 1 ~ ~ ~ p=1.000 n=6
Symbols 3,896,281 3,896,281 ~ ~ ~ p=1.000 n=6
Types 1,225,516 1,225,516 ~ ~ ~ p=1.000 n=6
Memory used 3,708,541k (± 0.00%) 3,708,575k (± 0.00%) ~ 3,708,371k 3,708,711k p=0.470 n=6
Parse Time 15.30s (± 0.63%) 15.24s (± 0.56%) ~ 15.11s 15.32s p=0.422 n=6
Bind Time 5.01s (± 3.08%) 5.03s (± 2.93%) ~ 4.91s 5.28s p=0.575 n=6
Check Time 101.48s (± 1.75%) 102.42s (± 3.08%) ~ 100.24s 108.13s p=0.298 n=6
Emit Time 32.24s (± 9.69%) 33.80s (±19.70%) ~ 30.68s 47.38s p=1.000 n=6
Total Time 154.04s (± 2.89%) 156.49s (± 5.16%) ~ 151.13s 171.79s p=0.575 n=6
webpack - node (v18.15.0, x64)
Errors 38 38 ~ ~ ~ p=1.000 n=6
Symbols 361,947 361,947 ~ ~ ~ p=1.000 n=6
Types 158,950 158,950 ~ ~ ~ p=1.000 n=6
Memory used 516,720k (± 0.01%) 516,696k (± 0.02%) ~ 516,568k 516,802k p=0.810 n=6
Parse Time 4.45s (± 1.10%) 4.45s (± 0.37%) ~ 4.43s 4.47s p=0.936 n=6
Bind Time 1.92s (± 1.50%) 1.91s (± 2.39%) ~ 1.86s 1.98s p=0.520 n=6
Check Time 21.65s (± 0.24%) 21.68s (± 0.34%) ~ 21.60s 21.80s p=0.630 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 28.01s (± 0.24%) 28.03s (± 0.37%) ~ 27.94s 28.23s p=0.872 n=6
xstate-main - node (v18.15.0, x64)
Errors 30 30 ~ ~ ~ p=1.000 n=6
Symbols 672,790 672,790 ~ ~ ~ p=1.000 n=6
Types 201,962 201,962 ~ ~ ~ p=1.000 n=6
Memory used 574,837k (± 0.03%) 574,911k (± 0.02%) ~ 574,733k 575,054k p=0.378 n=6
Parse Time 4.18s (± 0.92%) 4.17s (± 0.58%) ~ 4.15s 4.22s p=0.747 n=6
Bind Time 1.33s (± 0.67%) 1.33s (± 0.88%) ~ 1.31s 1.34s p=0.933 n=6
Check Time 20.71s (± 1.76%) 20.50s (± 1.98%) ~ 20.14s 21.09s p=0.575 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 26.22s (± 1.46%) 26.00s (± 1.54%) ~ 25.67s 26.61s p=0.575 n=6

System info unknown

Hosts

  • node (v18.15.0, x64)

Scenarios

  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6
Developer Information:

Download Benchmarks