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

Make AST nodes monomorphic. #59190

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

Conversation

dragomirtitian
Copy link
Contributor

@dragomirtitian dragomirtitian commented Jul 8, 2024

Part of #58928 - Only make AST nodes 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 194,506k (± 0.95%) 196,928k (± 0.98%) ~ 194,304k 198,296k p=0.128 n=6
Parse Time 1.96s (± 1.09%) 2.01s (± 1.40%) +0.04s (+ 2.29%) 1.97s 2.04s p=0.016 n=6
Bind Time 1.07s (± 0.70%) 1.01s (± 0.51%) 🟩-0.06s (- 5.77%) 1.00s 1.01s p=0.004 n=6
Check Time 13.82s (± 0.42%) 12.99s (± 0.38%) 🟩-0.82s (- 5.95%) 12.93s 13.06s p=0.005 n=6
Emit Time 4.01s (± 0.66%) 3.87s (± 4.57%) ~ 3.78s 4.23s p=0.065 n=6
Total Time 20.85s (± 0.33%) 19.88s (± 0.79%) 🟩-0.97s (- 4.68%) 19.76s 20.18s 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,317k (± 0.00%) 1,230,978k (± 0.00%) +12,661k (+ 1.04%) 1,230,896k 1,231,038k p=0.005 n=6
Parse Time 7.97s (± 0.46%) 7.77s (± 0.99%) -0.20s (- 2.49%) 7.69s 7.91s p=0.005 n=6
Bind Time 2.22s (± 0.49%) 1.90s (± 0.61%) 🟩-0.32s (-14.34%) 1.89s 1.92s p=0.005 n=6
Check Time 35.76s (± 0.25%) 31.81s (± 0.25%) 🟩-3.95s (-11.04%) 31.71s 31.92s p=0.005 n=6
Emit Time 16.14s (± 0.38%) 15.02s (± 0.33%) 🟩-1.12s (- 6.95%) 14.95s 15.08s p=0.005 n=6
Total Time 62.09s (± 0.16%) 56.50s (± 0.17%) 🟩-5.59s (- 9.00%) 56.38s 56.65s 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,272k (± 0.01%) 2,118,068k (± 0.01%) +10,796k (+ 0.51%) 2,117,826k 2,118,284k p=0.005 n=6
Parse Time 9.65s (± 0.35%) 9.72s (± 0.35%) +0.06s (+ 0.66%) 9.66s 9.75s p=0.016 n=6
Bind Time 3.38s (± 0.85%) 3.32s (± 1.30%) -0.06s (- 1.73%) 3.28s 3.40s p=0.045 n=6
Check Time 101.78s (± 1.32%) 98.37s (± 1.81%) 🟩-3.41s (- 3.35%) 94.83s 99.82s p=0.010 n=6
Emit Time 0.20s (± 4.95%) 0.59s (±162.22%) ~ 0.19s 2.56s p=0.452 n=6
Total Time 115.00s (± 1.12%) 111.99s (± 0.77%) -3.01s (- 2.62%) 110.45s 113.05s p=0.008 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,588 1,241,003 +15,415 (+ 1.26%) ~ ~ p=0.001 n=6
Types 261,474 265,578 +4,104 (+ 1.57%) ~ ~ p=0.001 n=6
Memory used 2,341,892k (± 0.05%) 2,380,755k (± 0.05%) +38,863k (+ 1.66%) 2,379,569k 2,382,954k p=0.005 n=6
Parse Time 7.53s (± 1.64%) 7.43s (± 0.86%) ~ 7.37s 7.55s p=0.054 n=6
Bind Time 2.79s (± 1.00%) 2.43s (± 1.31%) 🟩-0.36s (-13.01%) 2.37s 2.46s p=0.005 n=6
Check Time 49.53s (± 0.34%) 46.13s (± 0.12%) 🟩-3.40s (- 6.86%) 46.05s 46.21s p=0.005 n=6
Emit Time 3.96s (± 6.88%) 3.84s (± 2.83%) ~ 3.69s 3.95s p=0.572 n=6
Total Time 63.83s (± 0.74%) 59.85s (± 0.26%) 🟩-3.98s (- 6.23%) 59.60s 60.00s 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,241,003 +15,415 (+ 1.26%) ~ ~ p=0.001 n=6
Types 261,474 265,578 +4,104 (+ 1.57%) ~ ~ p=0.001 n=6
Memory used 2,415,416k (± 0.03%) 2,468,034k (± 0.03%) +52,618k (+ 2.18%) 2,467,168k 2,468,800k p=0.005 n=6
Parse Time 7.80s (± 0.67%) 7.57s (± 1.30%) -0.23s (- 2.93%) 7.46s 7.72s p=0.008 n=6
Bind Time 2.52s (± 0.99%) 2.40s (± 5.41%) 🟩-0.13s (- 4.95%) 2.14s 2.48s p=0.005 n=6
Check Time 50.22s (± 0.15%) 46.25s (± 0.65%) 🟩-3.96s (- 7.89%) 45.85s 46.71s p=0.005 n=6
Emit Time 3.92s (± 1.10%) 3.92s (± 2.59%) ~ 3.81s 4.10s p=0.689 n=6
Total Time 64.46s (± 0.15%) 60.16s (± 0.50%) 🟩-4.30s (- 6.68%) 59.81s 60.56s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 258,188 267,793 +9,605 (+ 3.72%) ~ ~ p=0.001 n=6
Types 104,737 108,955 🔻+4,218 (+ 4.03%) ~ ~ p=0.001 n=6
Memory used 427,467k (± 0.00%) 438,091k (± 0.01%) +10,624k (+ 2.49%) 438,062k 438,125k p=0.005 n=6
Parse Time 3.27s (± 0.83%) 3.33s (± 0.83%) +0.06s (+ 1.73%) 3.31s 3.37s p=0.009 n=6
Bind Time 1.31s (± 0.92%) 1.19s (± 0.86%) 🟩-0.12s (- 9.14%) 1.18s 1.21s p=0.004 n=6
Check Time 17.86s (± 0.33%) 16.61s (± 0.21%) 🟩-1.25s (- 7.02%) 16.56s 16.66s p=0.005 n=6
Emit Time 1.26s (± 1.17%) 1.27s (± 1.26%) ~ 1.25s 1.29s p=0.511 n=6
Total Time 23.71s (± 0.30%) 22.40s (± 0.25%) 🟩-1.31s (- 5.52%) 22.31s 22.47s 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,484k (± 0.04%) 372,274k (± 0.01%) +2,790k (+ 0.76%) 372,238k 372,314k p=0.005 n=6
Parse Time 2.76s (± 1.06%) 2.79s (± 1.05%) ~ 2.75s 2.83s p=0.126 n=6
Bind Time 1.59s (± 1.08%) 1.43s (± 1.37%) 🟩-0.16s (- 9.95%) 1.42s 1.47s p=0.005 n=6
Check Time 15.49s (± 0.43%) 14.05s (± 0.24%) 🟩-1.45s (- 9.34%) 14.01s 14.09s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 19.84s (± 0.34%) 18.27s (± 0.22%) 🟩-1.57s (- 7.91%) 18.21s 18.31s p=0.004 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,987k (± 0.00%) 3,078,974k (± 0.00%) +30,987k (+ 1.02%) 3,078,878k 3,079,034k p=0.005 n=6
Parse Time 16.94s (± 0.60%) 16.53s (± 0.31%) -0.41s (- 2.43%) 16.44s 16.59s p=0.005 n=6
Bind Time 5.13s (± 1.69%) 4.20s (± 0.51%) 🟩-0.93s (-18.18%) 4.18s 4.23s p=0.005 n=6
Check Time 91.45s (± 2.10%) 84.60s (± 0.24%) 🟩-6.85s (- 7.49%) 84.30s 84.82s p=0.005 n=6
Emit Time 27.17s (± 6.77%) 24.83s (± 1.03%) ~ 24.64s 25.33s p=0.066 n=6
Total Time 140.70s (± 0.20%) 130.17s (± 0.33%) 🟩-10.54s (- 7.49%) 129.68s 130.94s 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,603k (± 0.02%) 414,314k (± 0.01%) +2,711k (+ 0.66%) 414,250k 414,384k p=0.005 n=6
Parse Time 3.17s (± 0.42%) 3.14s (± 0.74%) -0.03s (- 0.89%) 3.12s 3.17s p=0.046 n=6
Bind Time 1.41s (± 0.29%) 1.26s (± 0.41%) 🟩-0.15s (-10.51%) 1.26s 1.27s p=0.003 n=6
Check Time 14.23s (± 0.14%) 12.85s (± 0.49%) 🟩-1.38s (- 9.70%) 12.79s 12.96s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.81s (± 0.12%) 17.25s (± 0.39%) 🟩-1.56s (- 8.30%) 17.17s 17.35s 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,870k (± 0.08%) 465,468k (± 0.08%) +2,598k (+ 0.56%) 464,988k 465,772k p=0.005 n=6
Parse Time 2.64s (± 0.78%) 2.62s (± 0.66%) ~ 2.60s 2.64s p=0.210 n=6
Bind Time 0.98s (± 0.53%) 0.94s (± 0.58%) 🟩-0.03s (- 3.24%) 0.94s 0.95s p=0.004 n=6
Check Time 15.22s (± 0.22%) 14.65s (± 0.32%) 🟩-0.57s (- 3.76%) 14.60s 14.71s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.84s (± 0.12%) 18.21s (± 0.27%) 🟩-0.62s (- 3.31%) 18.15s 18.28s 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 2,305ms (± 0.23%) 2,330ms (± 0.56%) +25ms (+ 1.09%) 2,313ms 2,346ms p=0.005 n=6
Req 2 - geterr 5,047ms (± 0.48%) 4,713ms (± 0.43%) 🟩-334ms (- 6.62%) 4,683ms 4,745ms p=0.005 n=6
Req 3 - references 264ms (± 0.24%) 266ms (± 0.50%) +2ms (+ 0.69%) 264ms 267ms p=0.023 n=6
Req 4 - navto 228ms (± 0.36%) 231ms (± 0.53%) +2ms (+ 0.95%) 230ms 233ms p=0.008 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 86ms (± 4.72%) 81ms (± 3.49%) 🟩-6ms (- 6.76%) 78ms 84ms p=0.036 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,408ms (± 0.40%) 2,474ms (± 0.72%) +66ms (+ 2.74%) 2,449ms 2,502ms p=0.005 n=6
Req 2 - geterr 3,802ms (± 0.29%) 3,443ms (± 0.43%) 🟩-359ms (- 9.44%) 3,427ms 3,462ms p=0.005 n=6
Req 3 - references 277ms (± 0.48%) 282ms (± 0.43%) +5ms (+ 1.86%) 281ms 284ms p=0.005 n=6
Req 4 - navto 227ms (± 0.43%) 235ms (± 3.43%) ~ 226ms 242ms p=0.066 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 76ms (± 9.22%) 79ms (± 8.43%) ~ 65ms 82ms p=0.806 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 6,483ms (± 6.14%) 6,397ms (± 4.69%) ~ 6,239ms 7,006ms p=0.471 n=6
Req 2 - geterr 1,692ms (± 1.09%) 1,431ms (±11.03%) 🟩-262ms (-15.45%) 1,227ms 1,548ms p=0.005 n=6
Req 3 - references 114ms (± 5.02%) 120ms (± 9.66%) ~ 98ms 130ms p=0.170 n=6
Req 4 - navto 600ms (± 3.14%) 555ms (± 2.63%) 🟩-46ms (- 7.58%) 535ms 568ms p=0.005 n=6
Req 5 - completionInfo count 3,413 3,413 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 1,252ms (± 2.79%) 1,322ms (± 1.67%) 🔻+70ms (+ 5.61%) 1,299ms 1,357ms p=0.005 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 156.85ms (± 0.19%) 157.54ms (± 0.16%) +0.70ms (+ 0.44%) 156.62ms 162.38ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 230.48ms (± 0.14%) 231.72ms (± 0.18%) +1.24ms (+ 0.54%) 230.30ms 242.15ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 226.61ms (± 0.15%) 227.71ms (± 0.16%) +1.11ms (+ 0.49%) 226.25ms 233.64ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 226.10ms (± 0.16%) 227.33ms (± 0.17%) +1.22ms (+ 0.54%) 225.86ms 234.99ms 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