Skip to content

Make types monomorphic #59191

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

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dragomirtitian
Copy link
Contributor

Part of #58928 - Only make types monomorphic.

@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Jul 8, 2024
@jakebailey
Copy link
Member

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 8, 2024

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

Command Status Results
perf test this ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@jakebailey
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,153 62,153 ~ ~ ~ p=1.000 n=6
Types 50,242 50,242 ~ ~ ~ p=1.000 n=6
Memory used 192,820k (± 0.76%) 194,722k (± 0.79%) +1,901k (+ 0.99%) 194,060k 197,861k p=0.045 n=6
Parse Time 1.30s (± 0.42%) 1.31s (± 0.31%) ~ 1.31s 1.32s p=0.054 n=6
Bind Time 0.71s 0.71s ~ ~ ~ p=1.000 n=6
Check Time 9.42s (± 0.27%) 7.75s (± 0.69%) 🟩-1.67s (-17.74%) 7.65s 7.79s p=0.005 n=6
Emit Time 2.74s (± 0.76%) 2.71s (± 0.49%) -0.03s (- 1.03%) 2.69s 2.73s p=0.043 n=6
Total Time 14.18s (± 0.19%) 12.48s (± 0.36%) 🟩-1.70s (-11.95%) 12.40s 12.52s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 944,114 944,114 ~ ~ ~ p=1.000 n=6
Types 407,050 407,050 ~ ~ ~ p=1.000 n=6
Memory used 1,218,350k (± 0.00%) 1,231,603k (± 0.00%) +13,253k (+ 1.09%) 1,231,532k 1,231,637k p=0.005 n=6
Parse Time 7.94s (± 0.37%) 7.97s (± 0.67%) ~ 7.93s 8.07s p=0.293 n=6
Bind Time 2.21s (± 0.83%) 2.21s (± 0.74%) ~ 2.19s 2.24s p=0.622 n=6
Check Time 35.60s (± 0.30%) 31.65s (± 0.28%) 🟩-3.95s (-11.10%) 31.53s 31.73s p=0.005 n=6
Emit Time 16.11s (± 0.75%) 16.07s (± 0.49%) ~ 15.92s 16.13s p=1.000 n=6
Total Time 61.86s (± 0.26%) 57.90s (± 0.12%) 🟩-3.96s (- 6.40%) 57.81s 58.00s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,130,343 2,130,343 ~ ~ ~ p=1.000 n=6
Types 927,684 927,684 ~ ~ ~ p=1.000 n=6
Memory used 2,107,307k (± 0.01%) 2,132,992k (± 0.00%) +25,685k (+ 1.22%) 2,132,934k 2,133,060k p=0.005 n=6
Parse Time 6.61s (± 0.32%) 6.61s (± 0.22%) ~ 6.59s 6.63s p=0.744 n=6
Bind Time 2.33s (± 0.98%) 2.32s (± 0.35%) ~ 2.31s 2.33s p=0.869 n=6
Check Time 70.41s (± 1.24%) 54.51s (± 0.16%) 🟩-15.90s (-22.59%) 54.40s 54.60s p=0.005 n=6
Emit Time 0.14s (± 5.44%) 0.14s (± 2.95%) ~ 0.13s 0.14s p=1.000 n=6
Total Time 79.49s (± 1.08%) 63.58s (± 0.13%) 🟩-15.91s (-20.02%) 63.46s 63.67s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,588 1,228,769 +3,181 (+ 0.26%) ~ ~ p=0.001 n=6
Types 261,474 261,559 +85 (+ 0.03%) ~ ~ p=0.001 n=6
Memory used 2,341,105k (± 0.01%) 2,358,676k (± 0.06%) +17,570k (+ 0.75%) 2,357,042k 2,360,562k p=0.005 n=6
Parse Time 5.03s (± 1.19%) 5.00s (± 0.86%) ~ 4.94s 5.05s p=0.575 n=6
Bind Time 1.90s (± 0.80%) 1.94s (± 2.23%) +0.04s (+ 2.37%) 1.90s 2.02s p=0.023 n=6
Check Time 34.17s (± 0.31%) 30.91s (± 0.24%) 🟩-3.26s (- 9.54%) 30.81s 30.99s p=0.005 n=6
Emit Time 2.60s (± 2.82%) 2.62s (± 3.18%) ~ 2.51s 2.72s p=0.873 n=6
Total Time 43.72s (± 0.20%) 40.50s (± 0.31%) 🟩-3.22s (- 7.37%) 40.32s 40.67s 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,225,588 1,228,769 +3,181 (+ 0.26%) ~ ~ p=0.001 n=6
Types 261,474 261,559 +85 (+ 0.03%) ~ ~ p=0.001 n=6
Memory used 2,414,993k (± 0.03%) 2,442,836k (± 1.01%) +27,843k (+ 1.15%) 2,431,943k 2,493,227k p=0.005 n=6
Parse Time 6.27s (± 0.88%) 6.31s (± 1.05%) ~ 6.22s 6.39s p=0.423 n=6
Bind Time 2.03s (± 0.90%) 2.04s (± 0.84%) ~ 2.02s 2.07s p=0.413 n=6
Check Time 40.87s (± 0.71%) 37.00s (± 0.08%) 🟩-3.87s (- 9.47%) 36.98s 37.05s p=0.005 n=6
Emit Time 3.23s (± 6.29%) 3.20s (± 2.40%) ~ 3.12s 3.32s p=0.521 n=6
Total Time 52.40s (± 0.72%) 48.58s (± 0.25%) 🟩-3.82s (- 7.28%) 48.44s 48.78s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 258,188 258,776 +588 (+ 0.23%) ~ ~ p=0.001 n=6
Types 104,737 104,887 +150 (+ 0.14%) ~ ~ p=0.001 n=6
Memory used 427,458k (± 0.01%) 432,522k (± 0.02%) +5,064k (+ 1.18%) 432,425k 432,664k p=0.005 n=6
Parse Time 4.07s (± 0.52%) 4.08s (± 0.48%) ~ 4.05s 4.10s p=0.367 n=6
Bind Time 1.61s (± 1.69%) 1.64s (± 1.58%) ~ 1.60s 1.66s p=0.090 n=6
Check Time 22.02s (± 0.31%) 19.39s (± 0.20%) 🟩-2.63s (-11.94%) 19.33s 19.43s p=0.005 n=6
Emit Time 1.56s (± 1.12%) 1.55s (± 1.20%) ~ 1.52s 1.57s p=0.511 n=6
Total Time 29.26s (± 0.31%) 26.66s (± 0.25%) 🟩-2.60s (- 8.90%) 26.59s 26.75s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,565 224,565 ~ ~ ~ p=1.000 n=6
Types 93,734 93,734 ~ ~ ~ p=1.000 n=6
Memory used 369,526k (± 0.02%) 373,034k (± 0.04%) +3,507k (+ 0.95%) 372,890k 373,307k p=0.005 n=6
Parse Time 2.31s (± 0.45%) 2.31s (± 0.59%) ~ 2.30s 2.34s p=0.391 n=6
Bind Time 1.33s (± 1.62%) 1.32s (± 0.31%) ~ 1.32s 1.33s p=0.473 n=6
Check Time 13.12s (± 0.34%) 11.66s (± 0.29%) 🟩-1.46s (-11.15%) 11.60s 11.69s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 16.76s (± 0.24%) 15.29s (± 0.24%) 🟩-1.47s (- 8.75%) 15.23s 15.32s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,884,910 2,884,910 ~ ~ ~ p=1.000 n=6
Types 976,550 976,550 ~ ~ ~ p=1.000 n=6
Memory used 3,047,952k (± 0.00%) 3,080,785k (± 0.00%) +32,833k (+ 1.08%) 3,080,741k 3,080,848k p=0.005 n=6
Parse Time 13.75s (± 0.16%) 13.76s (± 0.46%) ~ 13.68s 13.84s p=1.000 n=6
Bind Time 4.21s (± 2.04%) 4.17s (± 0.25%) ~ 4.15s 4.18s p=0.250 n=6
Check Time 75.18s (± 2.30%) 70.14s (± 0.22%) 🟩-5.03s (- 6.69%) 69.88s 70.37s p=0.005 n=6
Emit Time 22.48s (± 8.25%) 20.21s (± 0.55%) ~ 20.08s 20.40s p=0.066 n=6
Total Time 115.62s (± 0.30%) 108.29s (± 0.25%) 🟩-7.33s (- 6.34%) 107.95s 108.75s p=0.005 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 267,117 267,117 ~ ~ ~ p=1.000 n=6
Types 108,775 108,775 ~ ~ ~ p=1.000 n=6
Memory used 411,548k (± 0.01%) 415,575k (± 0.01%) +4,027k (+ 0.98%) 415,522k 415,630k p=0.005 n=6
Parse Time 3.18s (± 0.70%) 3.16s (± 0.64%) ~ 3.14s 3.18s p=0.111 n=6
Bind Time 1.42s (± 0.53%) 1.42s (± 0.29%) ~ 1.41s 1.42s p=1.000 n=6
Check Time 14.20s (± 0.31%) 13.44s (± 0.30%) 🟩-0.76s (- 5.33%) 13.41s 13.52s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.80s (± 0.20%) 18.03s (± 0.32%) 🟩-0.78s (- 4.13%) 17.97s 18.12s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 525,251 525,251 ~ ~ ~ p=1.000 n=6
Types 178,574 178,574 ~ ~ ~ p=1.000 n=6
Memory used 462,773k (± 0.07%) 468,377k (± 0.04%) +5,604k (+ 1.21%) 468,216k 468,625k p=0.005 n=6
Parse Time 3.93s (± 0.39%) 3.92s (± 0.62%) ~ 3.89s 3.96s p=0.684 n=6
Bind Time 1.45s (± 1.07%) 1.46s (± 1.81%) ~ 1.44s 1.51s p=0.337 n=6
Check Time 22.14s (± 0.22%) 19.48s (± 0.34%) 🟩-2.66s (-12.01%) 19.38s 19.58s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.52s (± 0.21%) 24.87s (± 0.27%) 🟩-2.65s (- 9.62%) 24.79s 24.98s p=0.005 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,425ms (± 0.64%) 3,430ms (± 0.49%) ~ 3,401ms 3,442ms p=0.470 n=6
Req 2 - geterr 7,503ms (± 0.44%) 6,637ms (± 0.60%) 🟩-866ms (-11.54%) 6,593ms 6,685ms p=0.005 n=6
Req 3 - references 394ms (± 0.25%) 395ms (± 0.31%) ~ 394ms 397ms p=0.734 n=6
Req 4 - navto 340ms (± 0.22%) 340ms (± 0.49%) ~ 338ms 342ms p=1.000 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 130ms (± 1.15%) 118ms (± 6.42%) 🟩-12ms (- 9.21%) 112ms 128ms p=0.007 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,591ms (± 1.30%) 3,590ms (± 0.65%) ~ 3,560ms 3,624ms p=0.936 n=6
Req 2 - geterr 5,552ms (± 0.55%) 5,278ms (± 0.08%) 🟩-274ms (- 4.93%) 5,273ms 5,283ms p=0.005 n=6
Req 3 - references 416ms (± 0.25%) 415ms (± 0.20%) ~ 413ms 415ms p=0.122 n=6
Req 4 - navto 338ms (± 0.75%) 338ms (± 1.88%) ~ 334ms 351ms p=0.189 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 110ms (± 0.37%) 104ms (± 6.68%) ~ 99ms 117ms p=0.056 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 7,736ms (± 0.40%) 7,740ms (± 0.26%) ~ 7,700ms 7,756ms p=0.689 n=6
Req 2 - geterr 1,699ms (± 0.64%) 1,544ms (± 1.44%) 🟩-155ms (- 9.12%) 1,527ms 1,588ms p=0.005 n=6
Req 3 - references 113ms (± 4.07%) 111ms (± 0.99%) ~ 110ms 113ms p=0.652 n=6
Req 4 - navto 594ms (± 1.32%) 597ms (± 2.84%) ~ 581ms 628ms p=0.747 n=6
Req 5 - completionInfo count 3,413 3,413 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 1,228ms (± 2.28%) 1,251ms (± 0.56%) ~ 1,241ms 1,259ms p=0.066 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 188.10ms (± 0.18%) 188.53ms (± 0.16%) +0.42ms (+ 0.23%) 187.03ms 193.25ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 345.09ms (± 0.28%) 346.12ms (± 0.29%) +1.04ms (+ 0.30%) 337.34ms 349.93ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 336.76ms (± 0.31%) 337.88ms (± 0.30%) +1.12ms (+ 0.33%) 329.83ms 344.39ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 226.11ms (± 0.16%) 226.96ms (± 0.20%) +0.85ms (+ 0.37%) 225.16ms 236.15ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants