Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move all js emit alias marking behavior behind a single entrypoint #58366

Merged
merged 15 commits into from May 10, 2024

Conversation

weswigham
Copy link
Member

This is one of the two bigger checker refactors in #58364 - by validating its' perf separately, I can narrow down the perf regression there (and possibly simplify merging it by getting this merged separately).

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Apr 29, 2024
@weswigham
Copy link
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 29, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@weswigham
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 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,154 62,155 +1 (+ 0.00%) ~ ~ p=0.001 n=6
Types 50,273 50,278 +5 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 194,585k (± 0.91%) 192,285k (± 0.01%) ~ 192,240k 192,311k p=0.066 n=6
Parse Time 1.57s (± 1.48%) 1.57s (± 1.17%) ~ 1.54s 1.59s p=1.000 n=6
Bind Time 0.87s (± 0.60%) 0.87s (± 0.94%) ~ 0.86s 0.88s p=0.929 n=6
Check Time 11.27s (± 0.27%) 12.08s (± 0.58%) 🔻+0.81s (+ 7.20%) 12.00s 12.19s p=0.005 n=6
Emit Time 3.14s (± 0.75%) 3.14s (± 0.71%) ~ 3.12s 3.17s p=0.871 n=6
Total Time 16.84s (± 0.23%) 17.66s (± 0.42%) 🔻+0.82s (+ 4.87%) 17.56s 17.77s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 945,322 945,616 +294 (+ 0.03%) ~ ~ p=0.001 n=6
Types 408,088 408,181 +93 (+ 0.02%) ~ ~ p=0.001 n=6
Memory used 1,222,115k (± 0.00%) 1,222,015k (± 0.01%) -100k (- 0.01%) 1,221,945k 1,222,138k p=0.045 n=6
Parse Time 8.06s (± 0.59%) 8.05s (± 0.49%) ~ 7.99s 8.10s p=0.808 n=6
Bind Time 2.22s (± 0.84%) 2.23s (± 0.62%) ~ 2.21s 2.24s p=0.933 n=6
Check Time 36.47s (± 0.48%) 38.98s (± 0.45%) 🔻+2.51s (+ 6.88%) 38.79s 39.20s p=0.005 n=6
Emit Time 17.44s (± 0.66%) 17.44s (± 0.77%) ~ 17.33s 17.70s p=0.630 n=6
Total Time 64.19s (± 0.41%) 66.69s (± 0.37%) +2.51s (+ 3.91%) 66.46s 67.10s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 1,955,952 1,956,117 +165 (+ 0.01%) ~ ~ p=0.001 n=6
Types 676,324 676,343 +19 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 1,754,551k (± 0.00%) 1,754,731k (± 0.00%) +180k (+ 0.01%) 1,754,680k 1,754,849k p=0.005 n=6
Parse Time 7.95s (± 0.40%) 7.99s (± 0.44%) ~ 7.94s 8.03s p=0.071 n=6
Bind Time 2.73s (± 0.55%) 2.72s (± 0.49%) ~ 2.70s 2.74s p=0.241 n=6
Check Time 67.13s (± 0.26%) 68.32s (± 0.44%) +1.19s (+ 1.78%) 67.92s 68.75s p=0.005 n=6
Emit Time 0.16s (± 2.52%) 0.16s (± 7.22%) ~ 0.15s 0.18s p=0.858 n=6
Total Time 77.98s (± 0.21%) 79.19s (± 0.38%) +1.21s (+ 1.56%) 78.78s 79.57s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,215,710 1,216,199 +489 (+ 0.04%) ~ ~ p=0.001 n=6
Types 257,646 257,832 +186 (+ 0.07%) ~ ~ p=0.001 n=6
Memory used 2,324,280k (± 0.02%) 2,325,532k (± 0.01%) +1,252k (+ 0.05%) 2,325,273k 2,325,725k p=0.005 n=6
Parse Time 4.96s (± 1.19%) 4.94s (± 0.98%) ~ 4.88s 5.01s p=0.471 n=6
Bind Time 1.86s (± 0.74%) 1.88s (± 0.55%) ~ 1.86s 1.89s p=0.134 n=6
Check Time 33.96s (± 0.39%) 36.36s (± 0.45%) 🔻+2.40s (+ 7.06%) 36.20s 36.67s p=0.005 n=6
Emit Time 2.62s (± 0.90%) 2.62s (± 0.96%) ~ 2.58s 2.65s p=1.000 n=6
Total Time 43.40s (± 0.36%) 45.81s (± 0.44%) 🔻+2.41s (+ 5.55%) 45.54s 46.13s p=0.005 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,215,710 1,216,199 +489 (+ 0.04%) ~ ~ p=0.001 n=6
Types 257,646 257,832 +186 (+ 0.07%) ~ ~ p=0.001 n=6
Memory used 2,398,762k (± 0.02%) 2,400,851k (± 0.02%) +2,088k (+ 0.09%) 2,400,186k 2,401,378k p=0.005 n=6
Parse Time 6.21s (± 1.26%) 6.22s (± 0.93%) ~ 6.14s 6.32s p=0.748 n=6
Bind Time 2.02s (± 1.27%) 1.99s (± 0.63%) -0.03s (- 1.57%) 1.98s 2.01s p=0.029 n=6
Check Time 40.62s (± 0.39%) 43.14s (± 0.64%) 🔻+2.53s (+ 6.22%) 42.89s 43.65s p=0.005 n=6
Emit Time 3.17s (± 3.02%) 3.15s (± 4.20%) ~ 3.03s 3.40s p=0.521 n=6
Total Time 52.03s (± 0.28%) 54.53s (± 0.53%) 🔻+2.50s (+ 4.81%) 54.27s 55.00s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 256,206 256,426 +220 (+ 0.09%) ~ ~ p=0.001 n=6
Types 103,653 103,710 +57 (+ 0.05%) ~ ~ p=0.001 n=6
Memory used 424,261k (± 0.01%) 424,558k (± 0.01%) +297k (+ 0.07%) 424,480k 424,615k p=0.005 n=6
Parse Time 4.14s (± 0.79%) 4.16s (± 0.36%) ~ 4.14s 4.18s p=0.462 n=6
Bind Time 1.58s (± 1.17%) 1.58s (± 0.93%) ~ 1.56s 1.60s p=0.514 n=6
Check Time 22.59s (± 0.27%) 23.91s (± 0.33%) 🔻+1.32s (+ 5.83%) 23.82s 24.05s p=0.005 n=6
Emit Time 1.72s (± 1.25%) 1.75s (± 1.52%) ~ 1.73s 1.79s p=0.120 n=6
Total Time 30.04s (± 0.33%) 31.39s (± 0.25%) 🔻+1.35s (+ 4.49%) 31.30s 31.53s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,824 224,980 +156 (+ 0.07%) ~ ~ p=0.001 n=6
Types 93,390 93,429 +39 (+ 0.04%) ~ ~ p=0.001 n=6
Memory used 369,309k (± 0.01%) 369,484k (± 0.02%) +175k (+ 0.05%) 369,416k 369,566k p=0.005 n=6
Parse Time 3.53s (± 1.06%) 3.49s (± 0.40%) -0.04s (- 1.18%) 3.47s 3.51s p=0.024 n=6
Bind Time 1.95s (± 0.94%) 1.94s (± 1.40%) ~ 1.89s 1.97s p=0.462 n=6
Check Time 19.45s (± 0.32%) 20.58s (± 0.37%) 🔻+1.13s (+ 5.81%) 20.48s 20.66s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.94s (± 0.28%) 26.01s (± 0.27%) 🔻+1.08s (+ 4.32%) 25.92s 26.10s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 2,799,028 2,801,724 +2,696 (+ 0.10%) ~ ~ p=0.001 n=6
Types 950,805 951,537 +732 (+ 0.08%) ~ ~ p=0.001 n=6
Memory used 2,926,648k (± 0.00%) 2,926,905k (± 0.00%) +257k (+ 0.01%) 2,926,810k 2,927,105k p=0.005 n=6
Parse Time 16.48s (± 0.26%) 16.47s (± 0.18%) ~ 16.44s 16.51s p=1.000 n=6
Bind Time 5.02s (± 1.66%) 5.03s (± 1.91%) ~ 4.96s 5.22s p=0.936 n=6
Check Time 88.52s (± 0.46%) 104.17s (± 0.72%) 🔻+15.65s (+17.67%) 103.22s 105.02s p=0.005 n=6
Emit Time 26.13s (± 9.51%) 26.06s (± 8.28%) ~ 23.64s 28.99s p=0.689 n=6
Total Time 136.15s (± 1.90%) 151.74s (± 1.56%) 🔻+15.58s (+11.44%) 149.19s 155.46s p=0.005 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 265,858 265,884 +26 (+ 0.01%) ~ ~ p=0.001 n=6
Types 108,442 108,445 +3 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 410,387k (± 0.02%) 410,376k (± 0.03%) ~ 410,209k 410,550k p=0.873 n=6
Parse Time 4.77s (± 0.64%) 4.76s (± 0.97%) ~ 4.70s 4.82s p=1.000 n=6
Bind Time 2.07s (± 1.31%) 2.06s (± 1.05%) ~ 2.03s 2.09s p=0.806 n=6
Check Time 21.06s (± 0.37%) 22.02s (± 0.27%) 🔻+0.96s (+ 4.58%) 21.94s 22.09s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.89s (± 0.23%) 28.85s (± 0.19%) +0.96s (+ 3.43%) 28.79s 28.92s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 524,146 524,176 +30 (+ 0.01%) ~ ~ p=0.001 n=6
Types 178,732 178,732 ~ ~ ~ p=1.000 n=6
Memory used 461,402k (± 0.03%) 461,453k (± 0.02%) ~ 461,376k 461,587k p=0.173 n=6
Parse Time 2.61s (± 0.67%) 2.62s (± 0.34%) ~ 2.61s 2.63s p=0.367 n=6
Bind Time 0.99s (± 0.84%) 0.99s (± 0.76%) ~ 0.98s 1.00s p=0.652 n=6
Check Time 15.35s (± 0.51%) 15.56s (± 0.66%) +0.22s (+ 1.40%) 15.40s 15.71s p=0.008 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.96s (± 0.32%) 19.18s (± 0.56%) +0.22s (+ 1.16%) 19.00s 19.32s p=0.008 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

@weswigham
Copy link
Member Author

Oof, okay, much to my surprise, it's this half that's most problematic as-is. I'm going to guess the closure allocations on each call (which are just to organize and prevent calling the inner functions) are no good. Let's remove those...

@weswigham weswigham force-pushed the alias-marking-for-js-emit-refactor branch from c4d3047 to 003d816 Compare April 30, 2024 01:32
@weswigham
Copy link
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 30, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@weswigham
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 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,154 62,155 +1 (+ 0.00%) ~ ~ p=0.001 n=6
Types 50,273 50,278 +5 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 192,275k (± 0.08%) 194,666k (± 0.94%) +2,391k (+ 1.24%) 192,287k 195,889k p=0.030 n=6
Parse Time 1.27s (± 2.14%) 1.30s (± 1.16%) ~ 1.28s 1.32s p=0.166 n=6
Bind Time 0.72s 0.72s ~ ~ ~ p=1.000 n=6
Check Time 9.58s (± 0.38%) 10.19s (± 0.44%) 🔻+0.61s (+ 6.40%) 10.13s 10.24s p=0.005 n=6
Emit Time 2.61s (± 0.53%) 2.62s (± 0.57%) ~ 2.60s 2.64s p=0.315 n=6
Total Time 14.19s (± 0.42%) 14.83s (± 0.40%) 🔻+0.64s (+ 4.52%) 14.74s 14.89s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 945,322 945,616 +294 (+ 0.03%) ~ ~ p=0.001 n=6
Types 408,088 408,181 +93 (+ 0.02%) ~ ~ p=0.001 n=6
Memory used 1,222,148k (± 0.00%) 1,222,104k (± 0.01%) ~ 1,221,992k 1,222,194k p=0.471 n=6
Parse Time 6.79s (± 0.38%) 6.77s (± 0.41%) ~ 6.74s 6.82s p=0.567 n=6
Bind Time 1.87s (± 0.44%) 1.87s (± 0.80%) ~ 1.85s 1.89s p=0.797 n=6
Check Time 31.35s (± 0.29%) 33.34s (± 0.13%) 🔻+1.99s (+ 6.35%) 33.27s 33.40s p=0.005 n=6
Emit Time 14.64s (± 1.06%) 14.64s (± 0.44%) ~ 14.59s 14.76s p=0.575 n=6
Total Time 54.65s (± 0.32%) 56.62s (± 0.12%) +1.98s (+ 3.61%) 56.50s 56.71s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 1,955,952 1,956,117 +165 (+ 0.01%) ~ ~ p=0.001 n=6
Types 676,324 676,343 +19 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 1,754,629k (± 0.00%) 1,754,796k (± 0.00%) +166k (+ 0.01%) 1,754,747k 1,754,853k p=0.005 n=6
Parse Time 6.73s (± 0.36%) 6.73s (± 0.37%) ~ 6.70s 6.77s p=0.935 n=6
Bind Time 2.29s (± 0.18%) 2.30s (± 0.43%) ~ 2.29s 2.31s p=0.071 n=6
Check Time 56.78s (± 0.39%) 57.48s (± 0.16%) +0.71s (+ 1.24%) 57.34s 57.61s p=0.005 n=6
Emit Time 0.13s (± 3.87%) 0.14s (± 3.77%) ~ 0.13s 0.14s p=0.311 n=6
Total Time 65.93s (± 0.35%) 66.66s (± 0.15%) +0.72s (+ 1.10%) 66.51s 66.79s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,215,731 1,216,221 +490 (+ 0.04%) ~ ~ p=0.001 n=6
Types 257,647 257,833 +186 (+ 0.07%) ~ ~ p=0.001 n=6
Memory used 2,324,573k (± 0.02%) 2,325,528k (± 0.02%) +955k (+ 0.04%) 2,325,013k 2,326,077k p=0.020 n=6
Parse Time 4.98s (± 1.05%) 4.95s (± 0.79%) ~ 4.93s 5.03s p=0.378 n=6
Bind Time 1.86s (± 0.44%) 1.88s (± 1.39%) ~ 1.84s 1.91s p=0.223 n=6
Check Time 33.97s (± 0.36%) 36.14s (± 0.41%) 🔻+2.17s (+ 6.40%) 35.91s 36.30s p=0.005 n=6
Emit Time 2.59s (± 2.78%) 2.64s (± 0.50%) ~ 2.62s 2.66s p=0.335 n=6
Total Time 43.42s (± 0.39%) 45.63s (± 0.38%) 🔻+2.21s (+ 5.09%) 45.33s 45.79s p=0.005 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,215,731 1,216,221 +490 (+ 0.04%) ~ ~ p=0.001 n=6
Types 257,647 257,833 +186 (+ 0.07%) ~ ~ p=0.001 n=6
Memory used 2,398,795k (± 0.02%) 2,401,323k (± 0.03%) +2,527k (+ 0.11%) 2,400,248k 2,401,985k p=0.005 n=6
Parse Time 6.21s (± 1.14%) 6.21s (± 0.93%) ~ 6.14s 6.28s p=1.000 n=6
Bind Time 2.02s (± 1.46%) 2.01s (± 1.20%) ~ 1.99s 2.05s p=0.421 n=6
Check Time 40.57s (± 0.32%) 43.07s (± 0.47%) 🔻+2.50s (+ 6.16%) 42.85s 43.33s p=0.005 n=6
Emit Time 3.12s (± 1.22%) 3.19s (± 1.26%) +0.07s (+ 2.19%) 3.16s 3.27s p=0.005 n=6
Total Time 51.94s (± 0.12%) 54.49s (± 0.43%) 🔻+2.55s (+ 4.92%) 54.21s 54.74s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 256,206 256,427 +221 (+ 0.09%) ~ ~ p=0.001 n=6
Types 103,653 103,710 +57 (+ 0.05%) ~ ~ p=0.001 n=6
Memory used 424,276k (± 0.02%) 424,595k (± 0.01%) +320k (+ 0.08%) 424,569k 424,660k p=0.005 n=6
Parse Time 3.35s (± 1.00%) 3.35s (± 0.76%) ~ 3.33s 3.39s p=0.870 n=6
Bind Time 1.30s (± 1.02%) 1.30s (± 0.84%) ~ 1.28s 1.31s p=0.931 n=6
Check Time 18.23s (± 0.32%) 19.41s (± 0.40%) 🔻+1.17s (+ 6.44%) 19.31s 19.51s p=0.005 n=6
Emit Time 1.36s (± 1.38%) 1.37s (± 2.00%) ~ 1.33s 1.40s p=0.570 n=6
Total Time 24.23s (± 0.34%) 25.42s (± 0.18%) 🔻+1.19s (+ 4.91%) 25.37s 25.48s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,824 224,980 +156 (+ 0.07%) ~ ~ p=0.001 n=6
Types 93,390 93,429 +39 (+ 0.04%) ~ ~ p=0.001 n=6
Memory used 369,281k (± 0.02%) 369,540k (± 0.02%) +258k (+ 0.07%) 369,464k 369,610k p=0.005 n=6
Parse Time 3.53s (± 1.00%) 3.50s (± 0.72%) -0.03s (- 0.94%) 3.46s 3.52s p=0.043 n=6
Bind Time 1.93s (± 0.91%) 1.94s (± 1.29%) ~ 1.89s 1.96s p=0.681 n=6
Check Time 19.43s (± 0.43%) 20.58s (± 0.11%) 🔻+1.15s (+ 5.92%) 20.54s 20.60s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.90s (± 0.40%) 26.02s (± 0.17%) 🔻+1.12s (+ 4.49%) 25.95s 26.07s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 2,799,535 2,802,230 +2,695 (+ 0.10%) ~ ~ p=0.001 n=6
Types 950,956 951,688 +732 (+ 0.08%) ~ ~ p=0.001 n=6
Memory used 2,927,024k (± 0.01%) 2,927,435k (± 0.01%) +411k (+ 0.01%) 2,926,906k 2,927,620k p=0.045 n=6
Parse Time 13.34s (± 0.24%) 13.33s (± 0.33%) ~ 13.27s 13.40s p=0.627 n=6
Bind Time 4.08s (± 0.33%) 4.12s (± 2.10%) ~ 4.08s 4.30s p=0.284 n=6
Check Time 72.94s (± 0.39%) 85.55s (± 0.58%) 🔻+12.61s (+17.29%) 85.23s 86.46s p=0.005 n=6
Emit Time 21.26s (± 9.20%) 21.01s (± 8.88%) ~ 19.34s 23.67s p=0.810 n=6
Total Time 111.63s (± 1.71%) 124.02s (± 1.82%) 🔻+12.39s (+11.10%) 122.01s 127.50s p=0.005 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 265,858 265,884 +26 (+ 0.01%) ~ ~ p=0.001 n=6
Types 108,442 108,445 +3 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 410,462k (± 0.02%) 410,442k (± 0.02%) ~ 410,300k 410,570k p=0.810 n=6
Parse Time 4.76s (± 0.57%) 4.73s (± 0.83%) ~ 4.68s 4.78s p=0.368 n=6
Bind Time 2.06s (± 0.91%) 2.05s (± 0.89%) ~ 2.02s 2.07s p=0.625 n=6
Check Time 21.10s (± 0.39%) 21.97s (± 0.48%) 🔻+0.87s (+ 4.14%) 21.88s 22.16s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.92s (± 0.22%) 28.75s (± 0.50%) +0.83s (+ 2.99%) 28.58s 28.98s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 524,146 524,176 +30 (+ 0.01%) ~ ~ p=0.001 n=6
Types 178,732 178,732 ~ ~ ~ p=1.000 n=6
Memory used 461,316k (± 0.02%) 461,395k (± 0.02%) ~ 461,309k 461,525k p=0.199 n=6
Parse Time 3.13s (± 1.47%) 3.13s (± 0.94%) ~ 3.09s 3.17s p=1.000 n=6
Bind Time 1.19s (± 0.34%) 1.18s (± 1.03%) ~ 1.17s 1.20s p=0.849 n=6
Check Time 18.25s (± 0.52%) 18.39s (± 0.74%) ~ 18.22s 18.61s p=0.092 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.57s (± 0.48%) 22.71s (± 0.50%) ~ 22.58s 22.89s p=0.054 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

@weswigham
Copy link
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 30, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this faster ✅ Started 👀 Results

module A.B.C {
import XYZ = X.Y.Z;
~
!!! error TS2339: Property 'Y' does not exist on type 'typeof X'.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We drop this (duplicate-ish) error because now, rather than relying on checkExpressionCached to paint the reference recursively for the import = statement, we directly use markIdentifierAliasReferenced on the leftmost identifier in the entity name. Which should be faster, and, as this test shows, shouldn't cause us to drop any real errors, since any missing members get reported when we actually resolve the name (with a more sensible error, even).

) {
markAliasReferenced(parentSymbol, node);
}
markLinkedReferences(node, prop, leftType);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm hoping reusing the leftType+prop here negates the performance impact this change had. Non-checker uses aren't expected to have done this work already, so it does still need to have the logic to lookup the prop itself, and is probably the costly part of alias marking. That you can't just say A.B; references A because A.B might be a const enum reference that gets inlined (and so you need to typecheck) is actually quite annoying from an encapsulation point of view - it's the one place in this process where we have to resort to typechecking. I guess that's why it's not done in isolatedModules. 😄

@typescript-bot
Copy link
Collaborator

@weswigham
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 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,154 62,154 ~ ~ ~ p=1.000 n=6
Types 50,273 50,273 ~ ~ ~ p=1.000 n=6
Memory used 192,215k (± 0.08%) 193,502k (± 1.00%) +1,288k (+ 0.67%) 192,216k 196,051k p=0.031 n=6
Parse Time 1.57s (± 1.44%) 1.59s (± 0.84%) ~ 1.57s 1.61s p=0.096 n=6
Bind Time 0.87s (± 1.41%) 0.87s (± 0.87%) ~ 0.86s 0.88s p=0.555 n=6
Check Time 11.29s (± 0.44%) 11.48s (± 0.55%) +0.19s (+ 1.68%) 11.37s 11.53s p=0.005 n=6
Emit Time 3.14s (± 0.26%) 3.14s (± 0.16%) ~ 3.14s 3.15s p=0.929 n=6
Total Time 16.86s (± 0.31%) 17.08s (± 0.31%) +0.22s (+ 1.29%) 16.99s 17.13s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 945,322 945,322 ~ ~ ~ p=1.000 n=6
Types 408,088 408,087 -1 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 1,222,143k (± 0.01%) 1,222,197k (± 0.00%) ~ 1,222,160k 1,222,244k p=0.173 n=6
Parse Time 6.77s (± 0.49%) 6.80s (± 0.48%) ~ 6.74s 6.84s p=0.123 n=6
Bind Time 1.87s (± 0.22%) 1.88s (± 0.27%) ~ 1.87s 1.88s p=0.112 n=6
Check Time 31.36s (± 0.45%) 32.05s (± 0.64%) +0.69s (+ 2.19%) 31.85s 32.39s p=0.005 n=6
Emit Time 14.74s (± 0.50%) 14.67s (± 0.65%) ~ 14.55s 14.79s p=0.295 n=6
Total Time 54.74s (± 0.29%) 55.40s (± 0.26%) +0.65s (+ 1.19%) 55.28s 55.66s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 1,955,956 1,955,983 +27 (+ 0.00%) ~ ~ p=0.001 n=6
Types 676,324 676,333 +9 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 1,754,543k (± 0.00%) 1,754,610k (± 0.00%) +67k (+ 0.00%) 1,754,566k 1,754,650k p=0.008 n=6
Parse Time 6.73s (± 0.45%) 6.72s (± 0.77%) ~ 6.65s 6.78s p=0.808 n=6
Bind Time 2.30s (± 0.18%) 2.30s (± 0.43%) ~ 2.29s 2.32s p=0.673 n=6
Check Time 56.80s (± 0.53%) 57.18s (± 0.44%) +0.38s (+ 0.68%) 56.83s 57.56s p=0.045 n=6
Emit Time 0.14s (± 4.51%) 0.14s (± 4.51%) ~ 0.13s 0.15s p=1.000 n=6
Total Time 65.97s (± 0.47%) 66.34s (± 0.45%) ~ 65.94s 66.76s p=0.093 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,215,731 1,215,755 +24 (+ 0.00%) ~ ~ p=0.001 n=6
Types 257,647 257,647 ~ ~ ~ p=1.000 n=6
Memory used 2,324,113k (± 0.01%) 2,325,817k (± 0.02%) +1,703k (+ 0.07%) 2,325,367k 2,326,866k p=0.005 n=6
Parse Time 4.96s (± 0.84%) 4.95s (± 1.02%) ~ 4.87s 5.02s p=0.873 n=6
Bind Time 1.87s (± 0.59%) 1.88s (± 0.75%) ~ 1.86s 1.90s p=0.245 n=6
Check Time 33.89s (± 0.44%) 34.48s (± 0.17%) +0.59s (+ 1.73%) 34.41s 34.55s p=0.005 n=6
Emit Time 2.58s (± 1.34%) 2.58s (± 2.06%) ~ 2.48s 2.64s p=1.000 n=6
Total Time 43.32s (± 0.34%) 43.90s (± 0.15%) +0.58s (+ 1.33%) 43.83s 44.01s p=0.005 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,215,731 1,215,755 +24 (+ 0.00%) ~ ~ p=0.001 n=6
Types 257,647 257,647 ~ ~ ~ p=1.000 n=6
Memory used 2,398,771k (± 0.03%) 2,400,026k (± 0.03%) +1,255k (+ 0.05%) 2,399,376k 2,401,609k p=0.031 n=6
Parse Time 5.13s (± 0.68%) 5.17s (± 0.77%) ~ 5.10s 5.22s p=0.092 n=6
Bind Time 1.68s (± 0.88%) 1.68s (± 1.11%) ~ 1.66s 1.70s p=0.804 n=6
Check Time 34.45s (± 0.24%) 35.07s (± 0.23%) +0.62s (+ 1.81%) 34.95s 35.15s p=0.005 n=6
Emit Time 2.62s (± 1.38%) 2.62s (± 3.07%) ~ 2.46s 2.68s p=0.810 n=6
Total Time 43.90s (± 0.21%) 44.57s (± 0.33%) +0.67s (+ 1.52%) 44.31s 44.70s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 256,206 256,230 +24 (+ 0.01%) ~ ~ p=0.001 n=6
Types 103,653 103,658 +5 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 424,241k (± 0.01%) 424,606k (± 0.01%) +366k (+ 0.09%) 424,520k 424,676k p=0.005 n=6
Parse Time 3.35s (± 1.01%) 3.35s (± 1.06%) ~ 3.30s 3.38s p=1.000 n=6
Bind Time 1.29s (± 0.98%) 1.30s (± 0.90%) ~ 1.29s 1.32s p=0.210 n=6
Check Time 18.26s (± 0.23%) 18.59s (± 0.34%) +0.33s (+ 1.80%) 18.47s 18.63s p=0.005 n=6
Emit Time 1.36s (± 1.78%) 1.34s (± 2.53%) ~ 1.28s 1.37s p=0.253 n=6
Total Time 24.26s (± 0.16%) 24.58s (± 0.39%) +0.32s (+ 1.32%) 24.43s 24.67s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,824 224,824 ~ ~ ~ p=1.000 n=6
Types 93,390 93,390 ~ ~ ~ p=1.000 n=6
Memory used 369,317k (± 0.01%) 369,429k (± 0.02%) +112k (+ 0.03%) 369,370k 369,555k p=0.008 n=6
Parse Time 3.46s (± 0.89%) 3.51s (± 0.91%) +0.05s (+ 1.49%) 3.46s 3.54s p=0.036 n=6
Bind Time 1.92s (± 1.35%) 1.95s (± 0.70%) ~ 1.92s 1.96s p=0.080 n=6
Check Time 19.36s (± 0.28%) 19.70s (± 0.35%) +0.34s (+ 1.77%) 19.59s 19.77s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.74s (± 0.38%) 25.17s (± 0.18%) +0.43s (+ 1.73%) 25.09s 25.22s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 2,799,544 2,799,544 ~ ~ ~ p=1.000 n=6
Types 950,964 950,949 -15 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 2,927,255k (± 0.00%) 2,927,043k (± 0.01%) ~ 2,926,649k 2,927,411k p=0.936 n=6
Parse Time 16.41s (± 0.11%) 16.45s (± 0.33%) ~ 16.39s 16.54s p=0.191 n=6
Bind Time 5.11s (± 2.17%) 4.97s (± 0.44%) -0.14s (- 2.68%) 4.94s 5.00s p=0.010 n=6
Check Time 88.98s (± 0.33%) 90.16s (± 0.45%) +1.18s (+ 1.32%) 89.76s 90.79s p=0.005 n=6
Emit Time 23.94s (± 0.84%) 25.37s (± 6.78%) ~ 23.70s 27.20s p=0.298 n=6
Total Time 134.44s (± 0.26%) 136.95s (± 1.36%) +2.51s (+ 1.87%) 134.88s 138.87s p=0.005 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 265,858 265,858 ~ ~ ~ p=1.000 n=6
Types 108,442 108,419 -23 (- 0.02%) ~ ~ p=0.001 n=6
Memory used 410,441k (± 0.02%) 410,466k (± 0.02%) ~ 410,384k 410,629k p=0.297 n=6
Parse Time 4.80s (± 0.54%) 4.76s (± 0.45%) -0.04s (- 0.87%) 4.73s 4.79s p=0.030 n=6
Bind Time 2.07s (± 1.00%) 2.06s (± 1.55%) ~ 2.01s 2.09s p=0.560 n=6
Check Time 21.07s (± 0.43%) 21.31s (± 0.45%) +0.24s (+ 1.15%) 21.19s 21.44s p=0.008 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.95s (± 0.39%) 28.14s (± 0.31%) +0.19s (+ 0.69%) 28.03s 28.27s p=0.020 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 524,146 524,146 ~ ~ ~ p=1.000 n=6
Types 178,732 178,732 ~ ~ ~ p=1.000 n=6
Memory used 461,403k (± 0.02%) 461,409k (± 0.01%) ~ 461,348k 461,476k p=0.810 n=6
Parse Time 3.90s (± 0.69%) 3.89s (± 0.70%) ~ 3.86s 3.94s p=0.418 n=6
Bind Time 1.47s (± 1.74%) 1.47s (± 0.82%) ~ 1.46s 1.49s p=0.871 n=6
Check Time 22.60s (± 0.58%) 22.73s (± 0.82%) ~ 22.53s 23.03s p=0.128 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.97s (± 0.41%) 28.10s (± 0.57%) ~ 27.92s 28.37s p=0.149 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

@weswigham
Copy link
Member Author

Better - down to 1-2% check time, if any, but hopefully I can manage a bit more... The only thing now would seem to be that some of the checks on location (and weather it counts as a location whose reference we should mark) are repeated between caller and within the reference marker. I can probably do some hinting like the emitter does to avoid those at callsites where we know the input location's shape in advance.

@weswigham
Copy link
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 30, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@weswigham
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 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,154 62,154 ~ ~ ~ p=1.000 n=6
Types 50,273 50,273 ~ ~ ~ p=1.000 n=6
Memory used 193,481k (± 0.91%) 192,899k (± 0.74%) ~ 192,214k 195,792k p=1.000 n=6
Parse Time 1.30s (± 1.06%) 1.29s (± 1.30%) ~ 1.27s 1.31s p=0.675 n=6
Bind Time 0.72s 0.72s ~ ~ ~ p=1.000 n=6
Check Time 9.55s (± 0.15%) 9.74s (± 0.22%) +0.19s (+ 1.97%) 9.70s 9.76s p=0.005 n=6
Emit Time 2.62s (± 0.38%) 2.62s (± 0.16%) ~ 2.62s 2.63s p=0.487 n=6
Total Time 14.19s (± 0.19%) 14.37s (± 0.12%) +0.18s (+ 1.29%) 14.35s 14.40s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 945,322 945,322 ~ ~ ~ p=1.000 n=6
Types 408,088 408,087 -1 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 1,222,092k (± 0.01%) 1,222,124k (± 0.00%) ~ 1,222,080k 1,222,173k p=0.810 n=6
Parse Time 8.07s (± 0.69%) 8.09s (± 0.73%) ~ 8.03s 8.20s p=0.520 n=6
Bind Time 2.22s (± 0.61%) 2.22s (± 0.60%) ~ 2.21s 2.24s p=0.869 n=6
Check Time 36.50s (± 0.25%) 37.13s (± 0.49%) +0.63s (+ 1.72%) 36.97s 37.38s p=0.005 n=6
Emit Time 17.35s (± 0.42%) 17.32s (± 0.65%) ~ 17.14s 17.46s p=0.936 n=6
Total Time 64.14s (± 0.24%) 64.77s (± 0.38%) +0.63s (+ 0.98%) 64.51s 65.15s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 1,956,060 1,956,087 +27 (+ 0.00%) ~ ~ p=0.001 n=6
Types 676,357 676,366 +9 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 1,754,575k (± 0.00%) 1,754,675k (± 0.00%) +100k (+ 0.01%) 1,754,646k 1,754,701k p=0.005 n=6
Parse Time 6.70s (± 0.22%) 6.72s (± 0.42%) ~ 6.69s 6.76s p=0.164 n=6
Bind Time 2.30s (± 0.45%) 2.30s (± 0.64%) ~ 2.28s 2.32s p=0.510 n=6
Check Time 56.73s (± 0.23%) 57.13s (± 0.48%) +0.40s (+ 0.70%) 56.71s 57.48s p=0.030 n=6
Emit Time 0.14s (± 4.05%) 0.14s (± 3.60%) 🔻+0.01s (+ 6.17%) 0.14s 0.15s p=0.038 n=6
Total Time 65.87s (± 0.22%) 66.29s (± 0.43%) +0.42s (+ 0.64%) 65.83s 66.65s p=0.031 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,215,716 1,215,740 +24 (+ 0.00%) ~ ~ p=0.001 n=6
Types 257,646 257,646 ~ ~ ~ p=1.000 n=6
Memory used 2,324,123k (± 0.04%) 2,325,288k (± 0.01%) ~ 2,325,075k 2,325,760k p=0.066 n=6
Parse Time 5.94s (± 0.77%) 5.99s (± 1.17%) ~ 5.87s 6.07s p=0.199 n=6
Bind Time 2.19s (± 1.13%) 2.20s (± 0.95%) ~ 2.18s 2.23s p=0.574 n=6
Check Time 39.81s (± 0.42%) 40.46s (± 0.57%) +0.65s (+ 1.62%) 40.27s 40.91s p=0.005 n=6
Emit Time 3.11s (± 2.74%) 3.13s (± 1.24%) ~ 3.07s 3.18s p=1.000 n=6
Total Time 51.08s (± 0.28%) 51.82s (± 0.53%) +0.74s (+ 1.46%) 51.58s 52.35s p=0.005 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,215,716 1,215,740 +24 (+ 0.00%) ~ ~ p=0.001 n=6
Types 257,646 257,646 ~ ~ ~ p=1.000 n=6
Memory used 2,398,777k (± 0.03%) 2,400,642k (± 0.03%) +1,865k (+ 0.08%) 2,399,857k 2,401,848k p=0.008 n=6
Parse Time 7.70s (± 0.84%) 7.76s (± 0.95%) ~ 7.65s 7.84s p=0.230 n=6
Bind Time 2.44s (± 0.99%) 2.45s (± 1.09%) ~ 2.40s 2.47s p=0.748 n=6
Check Time 50.25s (± 0.32%) 50.93s (± 0.40%) +0.68s (+ 1.36%) 50.69s 51.25s p=0.005 n=6
Emit Time 3.88s (± 1.96%) 3.83s (± 2.34%) ~ 3.65s 3.89s p=0.471 n=6
Total Time 64.32s (± 0.38%) 65.00s (± 0.28%) +0.68s (+ 1.05%) 64.79s 65.24s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 256,202 256,226 +24 (+ 0.01%) ~ ~ p=0.001 n=6
Types 103,652 103,657 +5 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 424,223k (± 0.01%) 424,537k (± 0.01%) +314k (+ 0.07%) 424,510k 424,558k p=0.005 n=6
Parse Time 3.36s (± 0.31%) 3.36s (± 1.04%) ~ 3.33s 3.42s p=0.511 n=6
Bind Time 1.31s (± 2.05%) 1.31s (± 0.39%) ~ 1.30s 1.31s p=0.796 n=6
Check Time 18.33s (± 0.43%) 18.67s (± 0.41%) +0.35s (+ 1.89%) 18.56s 18.78s p=0.005 n=6
Emit Time 1.34s (± 2.51%) 1.36s (± 1.26%) ~ 1.33s 1.38s p=0.405 n=6
Total Time 24.34s (± 0.46%) 24.70s (± 0.35%) +0.36s (+ 1.50%) 24.57s 24.80s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,824 224,824 ~ ~ ~ p=1.000 n=6
Types 93,390 93,390 ~ ~ ~ p=1.000 n=6
Memory used 369,361k (± 0.02%) 369,390k (± 0.01%) ~ 369,334k 369,473k p=0.261 n=6
Parse Time 3.51s (± 0.85%) 3.51s (± 1.31%) ~ 3.45s 3.59s p=0.871 n=6
Bind Time 1.94s (± 1.20%) 1.95s (± 0.77%) ~ 1.92s 1.96s p=1.000 n=6
Check Time 19.44s (± 0.37%) 19.77s (± 0.36%) +0.32s (+ 1.66%) 19.66s 19.84s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.89s (± 0.33%) 25.22s (± 0.40%) +0.33s (+ 1.32%) 25.09s 25.35s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 2,799,546 2,799,546 ~ ~ ~ p=1.000 n=6
Types 950,957 950,942 -15 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 2,927,080k (± 0.00%) 2,927,098k (± 0.02%) ~ 2,926,497k 2,927,795k p=0.378 n=6
Parse Time 13.30s (± 0.23%) 13.36s (± 0.28%) +0.05s (+ 0.39%) 13.33s 13.41s p=0.029 n=6
Bind Time 4.19s (± 2.75%) 4.19s (± 2.62%) ~ 4.08s 4.30s p=0.871 n=6
Check Time 73.03s (± 0.42%) 74.01s (± 0.50%) +0.98s (+ 1.34%) 73.54s 74.58s p=0.008 n=6
Emit Time 20.29s (± 8.28%) 20.74s (± 7.51%) ~ 19.65s 23.43s p=0.128 n=6
Total Time 110.82s (± 1.73%) 112.29s (± 1.49%) +1.47s (+ 1.33%) 110.84s 114.89s p=0.045 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 265,858 265,858 ~ ~ ~ p=1.000 n=6
Types 108,442 108,419 -23 (- 0.02%) ~ ~ p=0.001 n=6
Memory used 410,428k (± 0.02%) 410,498k (± 0.01%) ~ 410,448k 410,609k p=0.093 n=6
Parse Time 4.76s (± 1.15%) 4.76s (± 0.66%) ~ 4.71s 4.80s p=1.000 n=6
Bind Time 2.07s (± 1.45%) 2.06s (± 1.04%) ~ 2.03s 2.09s p=0.570 n=6
Check Time 21.13s (± 0.16%) 21.32s (± 0.31%) +0.20s (+ 0.94%) 21.22s 21.41s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.95s (± 0.26%) 28.14s (± 0.24%) +0.20s (+ 0.70%) 28.05s 28.23s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 524,146 524,146 ~ ~ ~ p=1.000 n=6
Types 178,732 178,732 ~ ~ ~ p=1.000 n=6
Memory used 461,384k (± 0.02%) 461,443k (± 0.02%) ~ 461,330k 461,578k p=0.378 n=6
Parse Time 3.89s (± 0.64%) 3.90s (± 0.64%) ~ 3.87s 3.94s p=0.808 n=6
Bind Time 1.48s (± 0.92%) 1.46s (± 0.83%) ~ 1.44s 1.47s p=0.122 n=6
Check Time 22.65s (± 0.58%) 22.79s (± 0.53%) ~ 22.62s 22.92s p=0.109 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 28.02s (± 0.48%) 28.15s (± 0.35%) ~ 28.03s 28.29s p=0.093 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

@weswigham
Copy link
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 30, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@weswigham
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 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,154 62,154 ~ ~ ~ p=1.000 n=6
Types 50,273 50,273 ~ ~ ~ p=1.000 n=6
Memory used 193,360k (± 1.03%) 194,676k (± 0.98%) ~ 192,203k 196,043k p=0.230 n=6
Parse Time 1.58s (± 0.67%) 1.56s (± 1.67%) ~ 1.52s 1.59s p=0.370 n=6
Bind Time 0.86s (± 1.20%) 0.87s (± 0.93%) ~ 0.86s 0.88s p=0.112 n=6
Check Time 11.29s (± 0.52%) 11.31s (± 0.68%) ~ 11.24s 11.42s p=0.936 n=6
Emit Time 3.16s (± 0.51%) 3.14s (± 0.47%) ~ 3.11s 3.15s p=0.080 n=6
Total Time 16.89s (± 0.29%) 16.88s (± 0.54%) ~ 16.74s 16.99s p=1.000 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 945,322 945,322 ~ ~ ~ p=1.000 n=6
Types 408,088 408,087 -1 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 1,222,766k (± 0.01%) 1,222,841k (± 0.00%) +75k (+ 0.01%) 1,222,784k 1,222,879k p=0.020 n=6
Parse Time 6.77s (± 0.50%) 6.78s (± 0.43%) ~ 6.73s 6.82s p=0.935 n=6
Bind Time 1.87s (± 0.48%) 1.87s (± 0.34%) ~ 1.86s 1.88s p=1.000 n=6
Check Time 31.20s (± 0.19%) 31.37s (± 0.53%) +0.17s (+ 0.54%) 31.18s 31.66s p=0.037 n=6
Emit Time 14.62s (± 0.68%) 14.65s (± 0.70%) ~ 14.53s 14.76s p=0.810 n=6
Total Time 54.46s (± 0.26%) 54.66s (± 0.15%) +0.20s (+ 0.37%) 54.57s 54.80s p=0.008 n=6
mui-docs - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 1,956,164 1,956,164 ~ ~ ~ p=1.000 n=6
Types 676,919 676,919 ~ ~ ~ p=1.000 n=6
Memory used 1,757,687k (± 0.00%) 1,757,758k (± 0.00%) ~ 1,757,656k 1,757,832k p=0.066 n=6
Parse Time 7.91s (± 0.53%) 7.92s (± 0.41%) ~ 7.86s 7.96s p=0.936 n=6
Bind Time 2.72s (± 0.70%) 2.73s (± 0.76%) ~ 2.69s 2.75s p=0.684 n=6
Check Time 65.81s (± 0.37%) 65.73s (± 0.19%) ~ 65.61s 65.91s p=0.574 n=6
Emit Time 0.16s 0.16s (± 4.99%) ~ 0.16s 0.18s p=0.405 n=6
Total Time 76.60s (± 0.34%) 76.55s (± 0.18%) ~ 76.38s 76.73s p=1.000 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,217,124 1,217,207 +83 (+ 0.01%) ~ ~ p=0.001 n=6
Types 258,216 258,242 +26 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 2,443,729k (±11.70%) 2,327,563k (± 0.04%) ~ 2,326,232k 2,328,671k p=0.378 n=6
Parse Time 7.43s (± 1.29%) 7.42s (± 1.39%) ~ 7.27s 7.54s p=1.000 n=6
Bind Time 2.71s (± 1.57%) 2.73s (± 0.44%) ~ 2.71s 2.74s p=0.872 n=6
Check Time 48.86s (± 0.79%) 48.93s (± 0.42%) ~ 48.75s 49.31s p=0.575 n=6
Emit Time 3.86s (± 1.43%) 3.90s (± 1.87%) ~ 3.84s 4.03s p=0.423 n=6
Total Time 62.90s (± 0.63%) 63.00s (± 0.43%) ~ 62.69s 63.45s p=0.471 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,217,124 1,217,207 +83 (+ 0.01%) ~ ~ p=0.001 n=6
Types 258,216 258,242 +26 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 2,402,304k (± 0.03%) 2,403,016k (± 0.02%) ~ 2,402,410k 2,403,706k p=0.093 n=6
Parse Time 7.66s (± 0.91%) 7.69s (± 0.99%) ~ 7.60s 7.78s p=0.575 n=6
Bind Time 2.45s (± 0.80%) 2.46s (± 0.80%) ~ 2.43s 2.48s p=0.373 n=6
Check Time 49.44s (± 0.38%) 49.93s (± 0.65%) +0.49s (+ 0.99%) 49.52s 50.41s p=0.020 n=6
Emit Time 3.85s (± 2.50%) 3.92s (± 0.98%) ~ 3.88s 3.99s p=0.066 n=6
Total Time 63.43s (± 0.33%) 64.02s (± 0.52%) +0.59s (+ 0.93%) 63.57s 64.58s p=0.013 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 256,229 256,312 +83 (+ 0.03%) ~ ~ p=0.001 n=6
Types 103,713 103,744 +31 (+ 0.03%) ~ ~ p=0.001 n=6
Memory used 424,258k (± 0.00%) 424,637k (± 0.01%) +379k (+ 0.09%) 424,603k 424,680k p=0.005 n=6
Parse Time 4.16s (± 0.88%) 4.16s (± 0.83%) ~ 4.10s 4.20s p=1.000 n=6
Bind Time 1.60s (± 0.85%) 1.59s (± 1.22%) ~ 1.56s 1.61s p=0.251 n=6
Check Time 21.88s (± 0.26%) 22.06s (± 0.54%) +0.17s (+ 0.78%) 21.88s 22.25s p=0.020 n=6
Emit Time 1.74s (± 1.08%) 1.74s (± 1.52%) ~ 1.69s 1.76s p=0.157 n=6
Total Time 29.38s (± 0.21%) 29.54s (± 0.39%) +0.17s (+ 0.57%) 29.37s 29.70s p=0.013 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,824 224,824 ~ ~ ~ p=1.000 n=6
Types 93,390 93,390 ~ ~ ~ p=1.000 n=6
Memory used 369,308k (± 0.01%) 369,372k (± 0.02%) +64k (+ 0.02%) 369,322k 369,492k p=0.031 n=6
Parse Time 3.52s (± 0.89%) 3.50s (± 0.88%) ~ 3.45s 3.53s p=0.686 n=6
Bind Time 1.93s (± 1.20%) 1.94s (± 1.19%) ~ 1.91s 1.97s p=0.468 n=6
Check Time 19.32s (± 0.33%) 19.44s (± 0.35%) +0.12s (+ 0.63%) 19.36s 19.55s p=0.025 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.77s (± 0.27%) 24.89s (± 0.30%) +0.12s (+ 0.47%) 24.80s 24.98s p=0.037 n=6
vscode - node (v18.15.0, x64)
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 2,799,582 2,799,582 ~ ~ ~ p=1.000 n=6
Types 950,968 950,953 -15 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 2,928,416k (± 0.00%) 2,928,231k (± 0.01%) ~ 2,927,892k 2,928,601k p=0.810 n=6
Parse Time 13.34s (± 0.46%) 13.40s (± 0.79%) ~ 13.28s 13.56s p=0.422 n=6
Bind Time 4.17s (± 2.59%) 4.26s (± 1.85%) ~ 4.10s 4.30s p=0.222 n=6
Check Time 72.83s (± 0.60%) 73.00s (± 0.37%) ~ 72.76s 73.51s p=0.689 n=6
Emit Time 21.06s (± 9.94%) 20.72s (± 5.89%) ~ 19.56s 22.50s p=1.000 n=6
Total Time 111.41s (± 2.11%) 111.38s (± 1.02%) ~ 110.19s 112.96s p=0.423 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 265,858 265,858 ~ ~ ~ p=1.000 n=6
Types 108,442 108,419 -23 (- 0.02%) ~ ~ p=0.001 n=6
Memory used 410,497k (± 0.03%) 410,504k (± 0.03%) ~ 410,411k 410,695k p=1.000 n=6
Parse Time 4.77s (± 0.64%) 4.78s (± 0.81%) ~ 4.71s 4.82s p=0.517 n=6
Bind Time 2.07s (± 0.50%) 2.08s (± 0.85%) ~ 2.06s 2.10s p=0.565 n=6
Check Time 20.95s (± 0.37%) 21.02s (± 0.48%) ~ 20.93s 21.19s p=0.127 n=6
Emit Time 0.00s (±244.70%) 0.00s ~ ~ ~ p=0.405 n=6
Total Time 27.79s (± 0.25%) 27.88s (± 0.34%) ~ 27.77s 28.05s p=0.107 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 524,146 524,146 ~ ~ ~ p=1.000 n=6
Types 178,732 178,732 ~ ~ ~ p=1.000 n=6
Memory used 462,151k (± 0.01%) 462,138k (± 0.03%) ~ 462,021k 462,347k p=0.575 n=6
Parse Time 3.11s (± 1.14%) 3.13s (± 0.72%) ~ 3.08s 3.14s p=0.567 n=6
Bind Time 1.18s (± 0.69%) 1.19s (± 0.63%) ~ 1.18s 1.20s p=0.383 n=6
Check Time 18.15s (± 0.58%) 18.18s (± 0.57%) ~ 18.08s 18.36s p=1.000 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.45s (± 0.35%) 22.50s (± 0.44%) ~ 22.41s 22.68s p=0.630 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

@weswigham
Copy link
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 1, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@weswigham
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 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,154 62,154 ~ ~ ~ p=1.000 n=6
Types 50,273 50,273 ~ ~ ~ p=1.000 n=6
Memory used 194,027k (± 1.01%) 192,846k (± 0.77%) ~ 192,193k 195,884k p=0.689 n=6
Parse Time 1.30s (± 0.94%) 1.30s (± 0.58%) ~ 1.29s 1.31s p=0.555 n=6
Bind Time 0.72s 0.72s ~ ~ ~ p=1.000 n=6
Check Time 9.56s (± 0.46%) 9.58s (± 0.57%) ~ 9.52s 9.65s p=0.517 n=6
Emit Time 2.63s (± 0.54%) 2.64s (± 0.57%) ~ 2.62s 2.66s p=0.683 n=6
Total Time 14.20s (± 0.35%) 14.23s (± 0.43%) ~ 14.15s 14.30s p=0.336 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 945,322 945,322 ~ ~ ~ p=1.000 n=6
Types 408,088 408,087 -1 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 1,222,805k (± 0.01%) 1,222,834k (± 0.01%) ~ 1,222,744k 1,222,948k p=0.575 n=6
Parse Time 8.09s (± 0.54%) 8.13s (± 0.58%) ~ 8.05s 8.18s p=0.198 n=6
Bind Time 2.24s (± 0.82%) 2.24s (± 0.47%) ~ 2.22s 2.25s p=0.681 n=6
Check Time 36.69s (± 0.27%) 36.65s (± 0.30%) ~ 36.50s 36.79s p=0.688 n=6
Emit Time 17.41s (± 0.92%) 17.43s (± 0.45%) ~ 17.34s 17.54s p=0.936 n=6
Total Time 64.43s (± 0.42%) 64.44s (± 0.24%) ~ 64.30s 64.70s p=0.810 n=6
mui-docs - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 1,956,164 1,956,164 ~ ~ ~ p=1.000 n=6
Types 676,919 676,919 ~ ~ ~ p=1.000 n=6
Memory used 1,757,661k (± 0.00%) 1,757,732k (± 0.00%) +71k (+ 0.00%) 1,757,671k 1,757,806k p=0.020 n=6
Parse Time 7.93s (± 0.35%) 7.93s (± 0.43%) ~ 7.89s 7.99s p=0.803 n=6
Bind Time 2.72s (± 0.52%) 2.71s (± 0.59%) ~ 2.68s 2.72s p=0.279 n=6
Check Time 65.89s (± 0.62%) 66.09s (± 0.17%) ~ 65.91s 66.23s p=0.229 n=6
Emit Time 0.16s (± 4.99%) 0.16s (± 4.99%) ~ 0.16s 0.18s p=1.000 n=6
Total Time 76.70s (± 0.54%) 76.89s (± 0.14%) ~ 76.77s 77.02s p=0.199 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,217,132 1,217,215 +83 (+ 0.01%) ~ ~ p=0.001 n=6
Types 258,232 258,258 +26 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 2,326,675k (± 0.02%) 2,328,056k (± 0.02%) +1,382k (+ 0.06%) 2,327,072k 2,328,665k p=0.013 n=6
Parse Time 4.93s (± 0.49%) 4.92s (± 0.81%) ~ 4.88s 4.96s p=0.810 n=6
Bind Time 1.87s (± 0.89%) 1.87s (± 1.20%) ~ 1.85s 1.90s p=0.806 n=6
Check Time 33.41s (± 0.63%) 33.61s (± 0.39%) ~ 33.49s 33.81s p=0.149 n=6
Emit Time 2.61s (± 1.44%) 2.59s (± 2.89%) ~ 2.46s 2.66s p=1.000 n=6
Total Time 42.82s (± 0.62%) 43.01s (± 0.26%) ~ 42.93s 43.22s p=0.228 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,217,132 1,217,215 +83 (+ 0.01%) ~ ~ p=0.001 n=6
Types 258,232 258,258 +26 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 2,402,350k (± 0.04%) 2,403,602k (± 0.03%) +1,252k (+ 0.05%) 2,403,011k 2,404,550k p=0.045 n=6
Parse Time 5.14s (± 1.43%) 5.15s (± 0.89%) ~ 5.08s 5.21s p=0.810 n=6
Bind Time 1.67s (± 1.07%) 1.67s (± 0.73%) ~ 1.65s 1.68s p=0.737 n=6
Check Time 33.99s (± 0.22%) 34.19s (± 0.49%) +0.20s (+ 0.58%) 33.94s 34.35s p=0.045 n=6
Emit Time 2.62s (± 2.56%) 2.59s (± 2.12%) ~ 2.49s 2.64s p=0.571 n=6
Total Time 43.42s (± 0.21%) 43.61s (± 0.46%) ~ 43.33s 43.82s p=0.128 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 256,229 256,312 +83 (+ 0.03%) ~ ~ p=0.001 n=6
Types 103,713 103,744 +31 (+ 0.03%) ~ ~ p=0.001 n=6
Memory used 424,254k (± 0.01%) 424,656k (± 0.01%) +403k (+ 0.09%) 424,599k 424,705k p=0.005 n=6
Parse Time 2.77s (± 0.70%) 2.79s (± 0.49%) ~ 2.76s 2.80s p=0.188 n=6
Bind Time 1.09s (± 1.00%) 1.09s (± 0.69%) ~ 1.08s 1.10s p=0.604 n=6
Check Time 15.06s (± 0.38%) 15.13s (± 0.38%) ~ 15.06s 15.21s p=0.107 n=6
Emit Time 1.15s (± 1.88%) 1.14s (± 1.32%) ~ 1.11s 1.15s p=0.515 n=6
Total Time 20.07s (± 0.25%) 20.14s (± 0.36%) ~ 20.04s 20.25s p=0.109 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,824 224,824 ~ ~ ~ p=1.000 n=6
Types 93,390 93,390 ~ ~ ~ p=1.000 n=6
Memory used 369,432k (± 0.04%) 369,421k (± 0.03%) ~ 369,321k 369,633k p=1.000 n=6
Parse Time 2.84s (± 0.99%) 2.83s (± 0.47%) ~ 2.81s 2.85s p=0.221 n=6
Bind Time 1.58s (± 1.11%) 1.58s (± 0.69%) ~ 1.57s 1.60s p=0.867 n=6
Check Time 15.61s (± 0.40%) 15.71s (± 0.30%) +0.10s (+ 0.65%) 15.62s 15.74s p=0.019 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.03s (± 0.28%) 20.11s (± 0.23%) +0.09s (+ 0.43%) 20.03s 20.15s p=0.020 n=6
vscode - node (v18.15.0, x64)
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 2,800,991 2,800,991 ~ ~ ~ p=1.000 n=6
Types 951,405 951,390 -15 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 2,948,511k (± 0.00%) 2,948,573k (± 0.00%) +62k (+ 0.00%) 2,948,501k 2,948,657k p=0.045 n=6
Parse Time 13.48s (± 0.30%) 13.50s (± 0.34%) ~ 13.45s 13.57s p=0.683 n=6
Bind Time 4.11s (± 0.25%) 4.09s (± 0.15%) -0.02s (- 0.57%) 4.08s 4.10s p=0.005 n=6
Check Time 72.84s (± 0.15%) 73.49s (± 0.27%) +0.65s (+ 0.90%) 73.23s 73.80s p=0.005 n=6
Emit Time 23.60s (± 0.53%) 23.63s (± 0.61%) ~ 23.48s 23.84s p=0.748 n=6
Total Time 114.04s (± 0.19%) 114.71s (± 0.21%) +0.67s (+ 0.59%) 114.40s 115.08s p=0.005 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 265,858 265,858 ~ ~ ~ p=1.000 n=6
Types 108,442 108,419 -23 (- 0.02%) ~ ~ p=0.001 n=6
Memory used 410,433k (± 0.01%) 410,473k (± 0.02%) ~ 410,366k 410,568k p=0.471 n=6
Parse Time 4.80s (± 0.66%) 4.76s (± 0.62%) ~ 4.72s 4.80s p=0.090 n=6
Bind Time 2.07s (± 0.79%) 2.09s (± 0.58%) ~ 2.07s 2.10s p=0.062 n=6
Check Time 21.03s (± 0.47%) 21.04s (± 0.25%) ~ 20.99s 21.13s p=0.872 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.90s (± 0.27%) 27.89s (± 0.16%) ~ 27.86s 27.98s p=1.000 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 524,146 524,146 ~ ~ ~ p=1.000 n=6
Types 178,732 178,732 ~ ~ ~ p=1.000 n=6
Memory used 462,163k (± 0.01%) 462,198k (± 0.01%) ~ 462,132k 462,244k p=0.378 n=6
Parse Time 3.89s (± 0.60%) 3.89s (± 0.85%) ~ 3.87s 3.96s p=1.000 n=6
Bind Time 1.46s (± 0.80%) 1.47s (± 0.70%) ~ 1.45s 1.48s p=0.456 n=6
Check Time 22.32s (± 0.59%) 22.38s (± 0.53%) ~ 22.25s 22.56s p=0.521 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.67s (± 0.48%) 27.74s (± 0.38%) ~ 27.61s 27.91s p=0.422 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

@weswigham weswigham marked this pull request as ready for review May 8, 2024 20:35
Copy link
Member

@andrewbranch andrewbranch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been sorely needing a refactor for a long time 👍 It's still wild to look at how complicated it is, but at least it's all in one place now.

@weswigham weswigham merged commit 9f9682c into microsoft:main May 10, 2024
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants