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

[wip] Remove objectAllocator concept #51913

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open

[wip] Remove objectAllocator concept #51913

wants to merge 27 commits into from

Conversation

rbuckton
Copy link
Member

No description provided.

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 15, 2022

Heya @rbuckton, I've started to run the perf test suite on this PR at 1b0a6bf. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 374,499k (± 0.03%) 374,446k (± 0.02%) -53k (- 0.01%) 374,288k 374,579k
Parse Time 1.56s (± 0.77%) 1.57s (± 0.77%) +0.01s (+ 0.64%) 1.54s 1.60s
Bind Time 0.53s (± 0.64%) 0.53s (± 0.68%) +0.00s (+ 0.19%) 0.53s 0.54s
Check Time 3.72s (± 0.61%) 3.76s (± 0.84%) +0.04s (+ 1.02%) 3.70s 3.83s
Emit Time 3.82s (± 0.39%) 3.87s (± 1.12%) +0.05s (+ 1.26%) 3.80s 3.96s
Total Time 9.64s (± 0.33%) 9.74s (± 0.65%) +0.10s (+ 1.03%) 9.58s 9.89s
Compiler-Unions - node (v18.10.0, x64)
Memory used 201,783k (± 0.97%) 204,046k (± 0.98%) +2,263k (+ 1.12%) 199,677k 205,910k
Parse Time 0.62s (± 1.04%) 0.62s (± 0.77%) -0.01s (- 0.80%) 0.61s 0.63s
Bind Time 0.35s (± 1.48%) 0.35s (± 1.39%) +0.00s (+ 0.85%) 0.35s 0.37s
Check Time 4.69s (± 0.41%) 4.76s (± 0.79%) +0.07s (+ 1.60%) 4.64s 4.83s
Emit Time 1.42s (± 0.88%) 1.43s (± 0.99%) +0.00s (+ 0.07%) 1.40s 1.47s
Total Time 7.09s (± 0.31%) 7.16s (± 0.67%) +0.07s (+ 1.02%) 7.01s 7.24s
Monaco - node (v18.10.0, x64)
Memory used 356,379k (± 0.02%) 356,337k (± 0.02%) -42k (- 0.01%) 356,128k 356,437k
Parse Time 1.16s (± 0.70%) 1.17s (± 0.62%) +0.01s (+ 0.77%) 1.16s 1.19s
Bind Time 0.49s (± 1.38%) 0.50s (± 1.38%) +0.00s (+ 0.20%) 0.49s 0.52s
Check Time 3.47s (± 0.53%) 3.50s (± 0.66%) +0.03s (+ 0.84%) 3.46s 3.55s
Emit Time 2.01s (± 0.52%) 2.05s (± 1.10%) +0.03s (+ 1.69%) 2.00s 2.11s
Total Time 7.14s (± 0.42%) 7.22s (± 0.62%) +0.08s (+ 1.13%) 7.12s 7.33s
TFS - node (v18.10.0, x64)
Memory used 312,931k (± 0.16%) 314,488k (± 0.20%) +1,558k (+ 0.50%) 312,781k 315,063k
Parse Time 0.95s (± 0.99%) 0.94s (± 1.33%) -0.01s (- 0.53%) 0.92s 0.99s
Bind Time 0.54s (± 7.60%) 0.55s (± 5.70%) +0.01s (+ 2.61%) 0.45s 0.59s
Check Time 3.20s (± 0.62%) 3.22s (± 0.82%) +0.02s (+ 0.47%) 3.14s 3.26s
Emit Time 1.99s (± 0.67%) 2.01s (± 0.62%) +0.02s (+ 1.01%) 1.98s 2.04s
Total Time 6.68s (± 0.41%) 6.73s (± 0.66%) +0.05s (+ 0.69%) 6.61s 6.82s
material-ui - node (v18.10.0, x64)
Memory used 485,693k (± 0.01%) 485,698k (± 0.01%) +6k (+ 0.00%) 485,591k 485,816k
Parse Time 1.35s (± 0.72%) 1.37s (± 0.90%) +0.02s (+ 1.41%) 1.34s 1.39s
Bind Time 0.39s (± 1.15%) 0.40s (± 0.92%) +0.01s (+ 2.06%) 0.39s 0.40s
Check Time 9.57s (± 0.42%) 9.62s (± 0.77%) +0.04s (+ 0.45%) 9.50s 9.85s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 11.31s (± 0.38%) 11.38s (± 0.70%) +0.07s (+ 0.58%) 11.24s 11.62s
xstate - node (v18.10.0, x64)
Memory used 569,841k (± 0.01%) 569,852k (± 0.01%) +11k (+ 0.00%) 569,717k 569,984k
Parse Time 1.91s (± 0.50%) 1.91s (± 0.63%) +0.01s (+ 0.47%) 1.88s 1.94s
Bind Time 0.69s (± 3.08%) 0.70s (± 1.96%) +0.01s (+ 1.45%) 0.67s 0.73s
Check Time 0.98s (± 0.68%) 1.00s (± 0.68%) +0.01s (+ 1.32%) 0.98s 1.01s
Emit Time 0.05s (± 0.00%) 0.05s (± 0.00%) 0.00s ( 0.00%) 0.05s 0.05s
Total Time 3.64s (± 0.76%) 3.66s (± 0.66%) +0.03s (+ 0.80%) 3.62s 3.73s
Angular - node (v16.17.1, x64)
Memory used 373,833k (± 0.01%) 373,776k (± 0.02%) -56k (- 0.02%) 373,540k 373,865k
Parse Time 1.90s (± 0.68%) 1.91s (± 0.62%) +0.00s (+ 0.21%) 1.89s 1.95s
Bind Time 0.65s (± 0.77%) 0.64s (± 0.92%) -0.00s (- 0.16%) 0.63s 0.66s
Check Time 4.80s (± 0.69%) 4.83s (± 0.87%) +0.02s (+ 0.50%) 4.75s 4.92s
Emit Time 4.56s (± 0.77%) 4.56s (± 0.56%) +0.00s (+ 0.07%) 4.48s 4.60s
Total Time 11.90s (± 0.50%) 11.94s (± 0.49%) +0.03s (+ 0.25%) 11.80s 12.05s
Compiler-Unions - node (v16.17.1, x64)
Memory used 203,387k (± 0.61%) 203,438k (± 0.62%) +51k (+ 0.02%) 201,688k 205,326k
Parse Time 0.79s (± 0.73%) 0.80s (± 0.75%) +0.00s (+ 0.38%) 0.78s 0.81s
Bind Time 0.44s (± 0.83%) 0.44s (± 1.18%) +0.01s (+ 1.15%) 0.43s 0.45s
Check Time 5.59s (± 0.74%) 5.64s (± 0.73%) +0.05s (+ 0.89%) 5.54s 5.72s
Emit Time 1.79s (± 1.12%) 1.78s (± 0.83%) -0.01s (- 0.61%) 1.75s 1.82s
Total Time 8.61s (± 0.47%) 8.66s (± 0.57%) +0.05s (+ 0.56%) 8.52s 8.74s
Monaco - node (v16.17.1, x64)
Memory used 355,744k (± 0.01%) 355,715k (± 0.02%) -29k (- 0.01%) 355,518k 355,806k
Parse Time 1.43s (± 0.65%) 1.44s (± 0.49%) +0.01s (+ 0.77%) 1.42s 1.45s
Bind Time 0.59s (± 0.98%) 0.60s (± 0.96%) +0.01s (+ 2.20%) 0.59s 0.62s
Check Time 4.39s (± 0.63%) 4.41s (± 0.51%) +0.02s (+ 0.48%) 4.35s 4.45s
Emit Time 2.43s (± 0.82%) 2.46s (± 1.00%) +0.03s (+ 1.28%) 2.39s 2.50s
Total Time 8.84s (± 0.46%) 8.91s (± 0.60%) +0.07s (+ 0.84%) 8.76s 9.01s
TFS - node (v16.17.1, x64)
Memory used 312,142k (± 0.01%) 312,115k (± 0.02%) -27k (- 0.01%) 311,973k 312,191k
Parse Time 1.16s (± 1.34%) 1.20s (± 2.06%) +0.04s (+ 3.27%) 1.16s 1.25s
Bind Time 0.57s (± 1.43%) 0.57s (± 1.62%) +0.00s (+ 0.35%) 0.56s 0.60s
Check Time 4.11s (± 0.54%) 4.10s (± 0.58%) -0.01s (- 0.17%) 4.05s 4.15s
Emit Time 2.45s (± 0.68%) 2.46s (± 0.52%) +0.01s (+ 0.37%) 2.44s 2.49s
Total Time 8.29s (± 0.46%) 8.33s (± 0.48%) +0.04s (+ 0.48%) 8.22s 8.44s
material-ui - node (v16.17.1, x64)
Memory used 484,991k (± 0.00%) 484,992k (± 0.00%) +1k (+ 0.00%) 484,944k 485,062k
Parse Time 1.66s (± 0.57%) 1.67s (± 0.45%) +0.01s (+ 0.72%) 1.66s 1.69s
Bind Time 0.48s (± 0.69%) 0.49s (± 1.03%) +0.01s (+ 1.04%) 0.47s 0.49s
Check Time 11.13s (± 1.47%) 11.13s (± 0.69%) -0.00s (- 0.04%) 10.94s 11.27s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 13.28s (± 1.28%) 13.29s (± 0.58%) +0.01s (+ 0.10%) 13.11s 13.44s
xstate - node (v16.17.1, x64)
Memory used 567,481k (± 0.01%) 567,423k (± 0.01%) -58k (- 0.01%) 567,324k 567,576k
Parse Time 2.28s (± 0.36%) 2.30s (± 0.43%) +0.02s (+ 0.96%) 2.29s 2.33s
Bind Time 0.82s (± 2.57%) 0.84s (± 1.55%) +0.02s (+ 1.83%) 0.81s 0.86s
Check Time 1.30s (± 0.54%) 1.32s (± 0.56%) +0.02s (+ 1.69%) 1.30s 1.33s
Emit Time 0.06s (± 0.00%) 0.06s (± 0.00%) 0.00s ( 0.00%) 0.06s 0.06s
Total Time 4.47s (± 0.49%) 4.52s (± 0.41%) +0.05s (+ 1.16%) 4.48s 4.56s
Angular - node (v14.15.1, x64)
Memory used 367,555k (± 0.00%) 367,559k (± 0.01%) +4k (+ 0.00%) 367,510k 367,634k
Parse Time 2.03s (± 0.43%) 2.05s (± 0.53%) +0.02s (+ 0.79%) 2.02s 2.07s
Bind Time 0.68s (± 0.53%) 0.69s (± 0.75%) +0.00s (+ 0.73%) 0.68s 0.70s
Check Time 5.12s (± 0.52%) 5.13s (± 0.38%) +0.02s (+ 0.29%) 5.09s 5.18s
Emit Time 4.64s (± 0.50%) 4.66s (± 0.71%) +0.02s (+ 0.41%) 4.61s 4.76s
Total Time 12.48s (± 0.35%) 12.53s (± 0.41%) +0.05s (+ 0.44%) 12.40s 12.65s
Compiler-Unions - node (v14.15.1, x64)
Memory used 199,470k (± 0.51%) 199,469k (± 0.49%) -2k (- 0.00%) 196,807k 200,192k
Parse Time 0.90s (± 0.66%) 0.90s (± 0.58%) +0.00s (+ 0.33%) 0.89s 0.91s
Bind Time 0.47s (± 0.73%) 0.47s (± 0.47%) +0.00s (+ 0.86%) 0.47s 0.48s
Check Time 5.87s (± 0.69%) 5.86s (± 0.57%) -0.01s (- 0.19%) 5.79s 5.93s
Emit Time 1.87s (± 0.63%) 1.88s (± 0.72%) +0.01s (+ 0.53%) 1.84s 1.91s
Total Time 9.10s (± 0.50%) 9.11s (± 0.36%) +0.01s (+ 0.05%) 9.06s 9.18s
Monaco - node (v14.15.1, x64)
Memory used 350,655k (± 0.01%) 350,668k (± 0.01%) +13k (+ 0.00%) 350,584k 350,738k
Parse Time 1.57s (± 0.41%) 1.58s (± 0.65%) +0.01s (+ 0.45%) 1.56s 1.60s
Bind Time 0.63s (± 0.47%) 0.64s (± 1.04%) +0.01s (+ 1.27%) 0.63s 0.66s
Check Time 4.65s (± 0.52%) 4.69s (± 0.63%) +0.04s (+ 0.82%) 4.61s 4.75s
Emit Time 2.54s (± 0.88%) 2.56s (± 0.80%) +0.02s (+ 0.83%) 2.52s 2.62s
Total Time 9.39s (± 0.38%) 9.46s (± 0.33%) +0.07s (+ 0.76%) 9.38s 9.52s
TFS - node (v14.15.1, x64)
Memory used 309,177k (± 0.01%) 309,185k (± 0.01%) +8k (+ 0.00%) 309,114k 309,215k
Parse Time 1.30s (± 0.45%) 1.32s (± 0.53%) +0.02s (+ 1.38%) 1.31s 1.34s
Bind Time 0.60s (± 0.75%) 0.60s (± 1.03%) +0.00s (+ 0.50%) 0.59s 0.62s
Check Time 4.34s (± 0.75%) 4.36s (± 0.63%) +0.01s (+ 0.35%) 4.29s 4.41s
Emit Time 2.72s (± 0.69%) 2.74s (± 1.01%) +0.02s (+ 0.81%) 2.69s 2.79s
Total Time 8.96s (± 0.47%) 9.02s (± 0.55%) +0.06s (+ 0.65%) 8.93s 9.12s
material-ui - node (v14.15.1, x64)
Memory used 480,430k (± 0.01%) 480,443k (± 0.01%) +13k (+ 0.00%) 480,356k 480,509k
Parse Time 1.87s (± 0.37%) 1.88s (± 0.39%) +0.01s (+ 0.37%) 1.86s 1.89s
Bind Time 0.52s (± 0.85%) 0.53s (± 0.90%) +0.01s (+ 0.96%) 0.52s 0.54s
Check Time 11.41s (± 0.50%) 11.52s (± 0.64%) +0.11s (+ 0.96%) 11.33s 11.72s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 13.81s (± 0.44%) 13.93s (± 0.56%) +0.12s (+ 0.88%) 13.72s 14.14s
xstate - node (v14.15.1, x64)
Memory used 555,990k (± 0.01%) 556,010k (± 0.01%) +20k (+ 0.00%) 555,883k 556,153k
Parse Time 2.61s (± 0.85%) 2.64s (± 0.86%) +0.03s (+ 1.03%) 2.60s 2.70s
Bind Time 0.78s (± 0.43%) 0.79s (± 0.51%) +0.01s (+ 1.15%) 0.78s 0.80s
Check Time 1.43s (± 0.47%) 1.45s (± 0.52%) +0.02s (+ 1.40%) 1.43s 1.46s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 4.89s (± 0.46%) 4.95s (± 0.59%) +0.05s (+ 1.12%) 4.90s 5.03s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 51913 10
Baseline main 10

TSServer

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,066ms (± 0.34%) 1,079ms (± 0.53%) +13ms (+ 1.23%) 1,069ms 1,095ms
Req 2 - geterr 2,496ms (± 0.43%) 2,530ms (± 1.10%) +34ms (+ 1.36%) 2,477ms 2,594ms
Req 3 - references 164ms (± 1.19%) 166ms (± 1.14%) +2ms (+ 1.22%) 163ms 171ms
Req 4 - navto 142ms (± 1.02%) 143ms (± 1.21%) +1ms (+ 0.92%) 140ms 148ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 54ms (± 7.48%) 55ms (± 8.28%) +1ms (+ 1.86%) 49ms 63ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,141ms (± 0.48%) 1,147ms (± 0.96%) +6ms (+ 0.53%) 1,127ms 1,172ms
Req 2 - geterr 1,571ms (± 0.48%) 1,573ms (± 0.53%) +2ms (+ 0.15%) 1,557ms 1,591ms
Req 3 - references 171ms (± 0.53%) 174ms (± 1.58%) +3ms (+ 1.64%) 171ms 184ms
Req 4 - navto 152ms (± 0.94%) 154ms (± 0.31%) +2ms (+ 1.45%) 153ms 155ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 52ms (± 1.43%) 53ms (± 1.63%) +1ms (+ 2.31%) 51ms 55ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,552ms (± 0.56%) 1,562ms (± 0.97%) +10ms (+ 0.62%) 1,525ms 1,605ms
Req 2 - geterr 547ms (± 0.75%) 545ms (± 0.69%) -1ms (- 0.24%) 537ms 554ms
Req 3 - references 57ms (± 3.74%) 58ms (± 3.07%) +2ms (+ 2.64%) 54ms 62ms
Req 4 - navto 195ms (± 0.75%) 196ms (± 1.16%) +1ms (+ 0.72%) 191ms 202ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 210ms (± 0.98%) 212ms (± 0.95%) +2ms (+ 1.00%) 208ms 218ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,327ms (± 0.59%) 1,336ms (± 0.52%) +9ms (+ 0.70%) 1,326ms 1,355ms
Req 2 - geterr 3,102ms (± 1.20%) 3,100ms (± 0.77%) -2ms (- 0.07%) 3,035ms 3,148ms
Req 3 - references 192ms (± 0.69%) 195ms (± 0.81%) +3ms (+ 1.40%) 192ms 198ms
Req 4 - navto 156ms (± 0.61%) 157ms (± 1.13%) +1ms (+ 0.64%) 152ms 160ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 57ms (± 1.48%) 59ms (± 1.72%) +2ms (+ 2.63%) 56ms 60ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,405ms (± 0.76%) 1,418ms (± 0.66%) +13ms (+ 0.93%) 1,395ms 1,435ms
Req 2 - geterr 2,087ms (± 0.84%) 2,083ms (± 0.41%) -4ms (- 0.18%) 2,062ms 2,098ms
Req 3 - references 201ms (± 0.58%) 204ms (± 0.73%) +3ms (+ 1.34%) 202ms 209ms
Req 4 - navto 166ms (± 1.04%) 169ms (± 1.02%) +3ms (+ 1.50%) 166ms 173ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 56ms (± 1.07%) 57ms (± 1.52%) +1ms (+ 2.16%) 55ms 59ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,861ms (± 0.61%) 1,874ms (± 1.14%) +13ms (+ 0.71%) 1,841ms 1,915ms
Req 2 - geterr 689ms (± 0.71%) 695ms (± 0.74%) +6ms (+ 0.81%) 683ms 704ms
Req 3 - references 68ms (± 1.55%) 68ms (± 0.95%) -0ms (- 0.29%) 67ms 70ms
Req 4 - navto 193ms (± 1.37%) 194ms (± 1.06%) +1ms (+ 0.31%) 189ms 198ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 253ms (± 0.76%) 254ms (± 0.52%) +1ms (+ 0.36%) 252ms 257ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,474ms (± 0.38%) 1,480ms (± 0.75%) +6ms (+ 0.40%) 1,449ms 1,503ms
Req 2 - geterr 3,292ms (± 0.27%) 3,281ms (± 0.79%) -11ms (- 0.34%) 3,226ms 3,353ms
Req 3 - references 210ms (± 1.10%) 210ms (± 1.20%) -0ms (- 0.19%) 205ms 217ms
Req 4 - navto 170ms (± 1.12%) 171ms (± 0.81%) +1ms (+ 0.41%) 168ms 174ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 57ms (± 1.19%) 58ms (± 1.37%) +1ms (+ 1.39%) 57ms 60ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,576ms (± 0.69%) 1,583ms (± 0.58%) +8ms (+ 0.50%) 1,567ms 1,607ms
Req 2 - geterr 2,221ms (± 0.29%) 2,219ms (± 0.38%) -2ms (- 0.11%) 2,202ms 2,242ms
Req 3 - references 217ms (± 0.63%) 221ms (± 1.09%) +4ms (+ 1.66%) 216ms 227ms
Req 4 - navto 177ms (± 1.09%) 180ms (± 0.85%) +2ms (+ 1.35%) 175ms 183ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 61ms (± 6.71%) 59ms (± 1.96%) 🟩-2ms (- 3.77%) 57ms 62ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,988ms (± 0.46%) 2,004ms (± 0.51%) +15ms (+ 0.76%) 1,981ms 2,029ms
Req 2 - geterr 747ms (± 0.58%) 750ms (± 0.75%) +3ms (+ 0.42%) 736ms 765ms
Req 3 - references 74ms (± 0.75%) 75ms (± 1.20%) +1ms (+ 0.95%) 73ms 77ms
Req 4 - navto 215ms (± 1.01%) 216ms (± 1.14%) +2ms (+ 0.84%) 211ms 220ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 285ms (± 0.65%) 287ms (± 1.00%) +3ms (+ 0.98%) 280ms 293ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 51913 10
Baseline main 10

Startup

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 120.15ms (± 0.63%) 119.40ms (± 0.54%) -0.74ms (- 0.62%) 116.15ms 128.31ms
tsserver-startup - node (v16.17.1, x64)
Execution time 201.95ms (± 0.48%) 202.55ms (± 0.52%) +0.60ms (+ 0.30%) 195.58ms 210.71ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 194.04ms (± 0.40%) 196.63ms (± 0.36%) +2.59ms (+ 1.33%) 191.44ms 203.23ms
typescript-startup - node (v16.17.1, x64)
Execution time 179.35ms (± 0.37%) 182.07ms (± 0.40%) +2.72ms (+ 1.52%) 177.37ms 189.59ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 51913 10
Baseline main 10

Developer Information:

Download Benchmark

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 16, 2022

Heya @rbuckton, I've started to run the perf test suite on this PR at 8cfbe01. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 374,499k (± 0.03%) 374,541k (± 0.02%) +41k (+ 0.01%) 374,278k 374,641k
Parse Time 1.56s (± 0.77%) 1.58s (± 0.68%) +0.01s (+ 0.70%) 1.55s 1.60s
Bind Time 0.53s (± 0.64%) 0.54s (± 0.93%) +0.00s (+ 0.38%) 0.53s 0.55s
Check Time 3.72s (± 0.61%) 3.74s (± 0.68%) +0.02s (+ 0.46%) 3.68s 3.81s
Emit Time 3.82s (± 0.39%) 3.84s (± 0.52%) +0.02s (+ 0.63%) 3.80s 3.89s
Total Time 9.64s (± 0.33%) 9.69s (± 0.41%) +0.05s (+ 0.55%) 9.57s 9.79s
Compiler-Unions - node (v18.10.0, x64)
Memory used 201,783k (± 0.97%) 203,602k (± 1.03%) +1,819k (+ 0.90%) 200,098k 205,982k
Parse Time 0.62s (± 1.04%) 0.63s (± 1.29%) +0.01s (+ 1.29%) 0.62s 0.65s
Bind Time 0.35s (± 1.48%) 0.35s (± 1.14%) +0.00s (+ 0.00%) 0.34s 0.36s
Check Time 4.69s (± 0.41%) 4.71s (± 0.84%) +0.02s (+ 0.41%) 4.62s 4.80s
Emit Time 1.42s (± 0.88%) 1.42s (± 0.80%) -0.01s (- 0.49%) 1.39s 1.44s
Total Time 7.09s (± 0.31%) 7.11s (± 0.64%) +0.02s (+ 0.30%) 7.02s 7.22s
Monaco - node (v18.10.0, x64)
Memory used 356,379k (± 0.02%) 356,447k (± 0.01%) +68k (+ 0.02%) 356,327k 356,536k
Parse Time 1.16s (± 0.70%) 1.19s (± 0.70%) +0.02s (+ 1.98%) 1.17s 1.21s
Bind Time 0.49s (± 1.38%) 0.51s (± 2.62%) +0.01s (+ 2.63%) 0.49s 0.55s
Check Time 3.47s (± 0.53%) 3.50s (± 0.68%) +0.03s (+ 0.89%) 3.45s 3.55s
Emit Time 2.01s (± 0.52%) 2.06s (± 1.34%) +0.05s (+ 2.39%) 2.02s 2.15s
Total Time 7.14s (± 0.42%) 7.26s (± 0.71%) +0.12s (+ 1.67%) 7.14s 7.42s
TFS - node (v18.10.0, x64)
Memory used 312,931k (± 0.16%) 313,710k (± 0.24%) +779k (+ 0.25%) 312,820k 315,015k
Parse Time 0.95s (± 0.99%) 0.96s (± 0.88%) +0.01s (+ 0.95%) 0.94s 0.98s
Bind Time 0.54s (± 7.60%) 0.57s (± 0.59%) +0.04s (+ 6.70%) 0.57s 0.58s
Check Time 3.20s (± 0.62%) 3.19s (± 0.41%) -0.01s (- 0.44%) 3.16s 3.22s
Emit Time 1.99s (± 0.67%) 1.99s (± 0.75%) +0.00s (+ 0.20%) 1.96s 2.04s
Total Time 6.68s (± 0.41%) 6.72s (± 0.40%) +0.04s (+ 0.57%) 6.65s 6.79s
material-ui - node (v18.10.0, x64)
Memory used 485,693k (± 0.01%) 485,783k (± 0.02%) +91k (+ 0.02%) 485,681k 486,002k
Parse Time 1.35s (± 0.72%) 1.38s (± 1.26%) +0.03s (+ 2.37%) 1.36s 1.43s
Bind Time 0.39s (± 1.15%) 0.39s (± 1.21%) +0.01s (+ 1.29%) 0.38s 0.40s
Check Time 9.57s (± 0.42%) 9.65s (± 1.01%) +0.07s (+ 0.74%) 9.48s 9.87s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 11.31s (± 0.38%) 11.42s (± 0.86%) +0.11s (+ 0.96%) 11.24s 11.64s
xstate - node (v18.10.0, x64)
Memory used 569,841k (± 0.01%) 569,994k (± 0.01%) +153k (+ 0.03%) 569,889k 570,163k
Parse Time 1.91s (± 0.50%) 1.93s (± 0.69%) +0.02s (+ 1.10%) 1.90s 1.96s
Bind Time 0.69s (± 3.08%) 0.69s (± 3.86%) +0.00s (+ 0.58%) 0.65s 0.76s
Check Time 0.98s (± 0.68%) 0.99s (± 0.45%) +0.01s (+ 0.92%) 0.98s 1.00s
Emit Time 0.05s (± 0.00%) 0.05s (± 0.00%) 0.00s ( 0.00%) 0.05s 0.05s
Total Time 3.64s (± 0.76%) 3.67s (± 0.75%) +0.04s (+ 1.07%) 3.61s 3.72s
Angular - node (v16.17.1, x64)
Memory used 373,833k (± 0.01%) 373,849k (± 0.02%) +16k (+ 0.00%) 373,669k 373,944k
Parse Time 1.90s (± 0.68%) 1.92s (± 0.69%) +0.02s (+ 1.05%) 1.90s 1.95s
Bind Time 0.65s (± 0.77%) 0.65s (± 0.76%) +0.00s (+ 0.16%) 0.64s 0.66s
Check Time 4.80s (± 0.69%) 4.80s (± 0.71%) -0.01s (- 0.12%) 4.72s 4.86s
Emit Time 4.56s (± 0.77%) 4.62s (± 0.87%) +0.06s (+ 1.29%) 4.51s 4.70s
Total Time 11.90s (± 0.50%) 11.98s (± 0.60%) +0.08s (+ 0.65%) 11.81s 12.15s
Compiler-Unions - node (v16.17.1, x64)
Memory used 203,387k (± 0.61%) 203,473k (± 0.62%) +86k (+ 0.04%) 201,757k 205,266k
Parse Time 0.79s (± 0.73%) 0.80s (± 0.85%) +0.01s (+ 1.39%) 0.79s 0.82s
Bind Time 0.44s (± 0.83%) 0.44s (± 0.78%) +0.00s (+ 0.23%) 0.43s 0.44s
Check Time 5.59s (± 0.74%) 5.64s (± 0.87%) +0.05s (+ 0.88%) 5.54s 5.76s
Emit Time 1.79s (± 1.12%) 1.78s (± 1.32%) -0.01s (- 0.45%) 1.73s 1.83s
Total Time 8.61s (± 0.47%) 8.67s (± 0.65%) +0.05s (+ 0.63%) 8.54s 8.78s
Monaco - node (v16.17.1, x64)
Memory used 355,744k (± 0.01%) 355,835k (± 0.01%) +91k (+ 0.03%) 355,762k 355,916k
Parse Time 1.43s (± 0.65%) 1.45s (± 0.81%) +0.02s (+ 1.61%) 1.43s 1.47s
Bind Time 0.59s (± 0.98%) 0.59s (± 1.01%) +0.01s (+ 0.85%) 0.58s 0.61s
Check Time 4.39s (± 0.63%) 4.39s (± 0.51%) +0.00s (+ 0.02%) 4.34s 4.43s
Emit Time 2.43s (± 0.82%) 2.47s (± 0.73%) +0.04s (+ 1.52%) 2.44s 2.52s
Total Time 8.84s (± 0.46%) 8.90s (± 0.35%) +0.06s (+ 0.71%) 8.84s 8.99s
TFS - node (v16.17.1, x64)
Memory used 312,142k (± 0.01%) 312,180k (± 0.02%) +38k (+ 0.01%) 311,963k 312,250k
Parse Time 1.16s (± 1.34%) 1.18s (± 1.23%) +0.02s (+ 1.81%) 1.15s 1.21s
Bind Time 0.57s (± 1.43%) 0.58s (± 2.33%) +0.01s (+ 1.58%) 0.55s 0.60s
Check Time 4.11s (± 0.54%) 4.10s (± 0.53%) -0.01s (- 0.24%) 4.03s 4.14s
Emit Time 2.45s (± 0.68%) 2.52s (± 1.93%) +0.06s (+ 2.61%) 2.45s 2.63s
Total Time 8.29s (± 0.46%) 8.38s (± 0.47%) +0.08s (+ 1.00%) 8.31s 8.48s
material-ui - node (v16.17.1, x64)
Memory used 484,991k (± 0.00%) 485,120k (± 0.01%) +129k (+ 0.03%) 485,025k 485,301k
Parse Time 1.66s (± 0.57%) 1.69s (± 0.69%) +0.03s (+ 1.68%) 1.66s 1.71s
Bind Time 0.48s (± 0.69%) 0.48s (± 0.70%) +0.00s (+ 0.63%) 0.48s 0.49s
Check Time 11.13s (± 1.47%) 11.12s (± 0.81%) -0.02s (- 0.14%) 10.97s 11.38s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 13.28s (± 1.28%) 13.29s (± 0.70%) +0.02s (+ 0.13%) 13.16s 13.57s
xstate - node (v16.17.1, x64)
Memory used 567,481k (± 0.01%) 567,569k (± 0.01%) +89k (+ 0.02%) 567,452k 567,762k
Parse Time 2.28s (± 0.36%) 2.33s (± 0.43%) +0.05s (+ 2.19%) 2.31s 2.36s
Bind Time 0.82s (± 2.57%) 0.84s (± 2.38%) +0.02s (+ 2.44%) 0.80s 0.88s
Check Time 1.30s (± 0.54%) 1.32s (± 0.81%) +0.01s (+ 1.15%) 1.29s 1.34s
Emit Time 0.06s (± 0.00%) 0.06s (± 0.00%) 0.00s ( 0.00%) 0.06s 0.06s
Total Time 4.47s (± 0.49%) 4.55s (± 0.50%) +0.08s (+ 1.77%) 4.49s 4.60s
Angular - node (v14.15.1, x64)
Memory used 367,555k (± 0.00%) 367,610k (± 0.00%) +56k (+ 0.02%) 367,576k 367,649k
Parse Time 2.03s (± 0.43%) 2.07s (± 0.29%) +0.03s (+ 1.67%) 2.06s 2.08s
Bind Time 0.68s (± 0.53%) 0.69s (± 0.32%) +0.00s (+ 0.73%) 0.68s 0.69s
Check Time 5.12s (± 0.52%) 5.14s (± 0.47%) +0.02s (+ 0.47%) 5.08s 5.20s
Emit Time 4.64s (± 0.50%) 4.74s (± 0.51%) +0.10s (+ 2.09%) 4.70s 4.79s
Total Time 12.48s (± 0.35%) 12.64s (± 0.24%) +0.16s (+ 1.27%) 12.56s 12.71s
Compiler-Unions - node (v14.15.1, x64)
Memory used 199,470k (± 0.51%) 199,201k (± 0.58%) -269k (- 0.13%) 196,809k 200,251k
Parse Time 0.90s (± 0.66%) 0.91s (± 0.76%) +0.01s (+ 1.00%) 0.89s 0.92s
Bind Time 0.47s (± 0.73%) 0.47s (± 1.29%) -0.00s (- 0.43%) 0.46s 0.48s
Check Time 5.87s (± 0.69%) 5.85s (± 0.55%) -0.02s (- 0.32%) 5.78s 5.91s
Emit Time 1.87s (± 0.63%) 1.89s (± 0.76%) +0.02s (+ 0.91%) 1.85s 1.92s
Total Time 9.10s (± 0.50%) 9.11s (± 0.41%) +0.00s (+ 0.02%) 9.02s 9.17s
Monaco - node (v14.15.1, x64)
Memory used 350,655k (± 0.01%) 350,705k (± 0.01%) +50k (+ 0.01%) 350,644k 350,758k
Parse Time 1.57s (± 0.41%) 1.59s (± 0.42%) +0.02s (+ 1.34%) 1.58s 1.61s
Bind Time 0.63s (± 0.47%) 0.64s (± 0.81%) +0.01s (+ 1.11%) 0.63s 0.65s
Check Time 4.65s (± 0.52%) 4.68s (± 0.53%) +0.03s (+ 0.60%) 4.63s 4.74s
Emit Time 2.54s (± 0.88%) 2.56s (± 0.62%) +0.03s (+ 1.03%) 2.52s 2.60s
Total Time 9.39s (± 0.38%) 9.47s (± 0.33%) +0.08s (+ 0.89%) 9.39s 9.54s
TFS - node (v14.15.1, x64)
Memory used 309,177k (± 0.01%) 309,244k (± 0.01%) +67k (+ 0.02%) 309,218k 309,279k
Parse Time 1.30s (± 0.45%) 1.33s (± 0.82%) +0.02s (+ 1.92%) 1.31s 1.36s
Bind Time 0.60s (± 0.75%) 0.60s (± 0.87%) +0.00s (+ 0.17%) 0.59s 0.61s
Check Time 4.34s (± 0.75%) 4.34s (± 0.53%) +0.00s (+ 0.02%) 4.28s 4.40s
Emit Time 2.72s (± 0.69%) 2.73s (± 0.42%) +0.01s (+ 0.37%) 2.70s 2.75s
Total Time 8.96s (± 0.47%) 9.00s (± 0.32%) +0.04s (+ 0.45%) 8.94s 9.07s
material-ui - node (v14.15.1, x64)
Memory used 480,430k (± 0.01%) 480,456k (± 0.01%) +26k (+ 0.01%) 480,377k 480,538k
Parse Time 1.87s (± 0.37%) 1.89s (± 0.43%) +0.02s (+ 0.86%) 1.87s 1.91s
Bind Time 0.52s (± 0.85%) 0.52s (± 0.77%) -0.00s (- 0.19%) 0.51s 0.53s
Check Time 11.41s (± 0.50%) 11.46s (± 0.43%) +0.05s (+ 0.46%) 11.39s 11.61s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 13.81s (± 0.44%) 13.87s (± 0.35%) +0.06s (+ 0.46%) 13.79s 14.00s
xstate - node (v14.15.1, x64)
Memory used 555,990k (± 0.01%) 556,215k (± 0.01%) +226k (+ 0.04%) 556,055k 556,318k
Parse Time 2.61s (± 0.85%) 2.66s (± 0.66%) +0.05s (+ 1.76%) 2.63s 2.70s
Bind Time 0.78s (± 0.43%) 0.79s (± 0.96%) +0.01s (+ 0.77%) 0.77s 0.81s
Check Time 1.43s (± 0.47%) 1.44s (± 0.62%) +0.01s (+ 0.63%) 1.42s 1.46s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 4.89s (± 0.46%) 4.96s (± 0.44%) +0.07s (+ 1.39%) 4.92s 5.01s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 51913 10
Baseline main 10

TSServer

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,066ms (± 0.34%) 1,077ms (± 0.97%) +11ms (+ 1.01%) 1,053ms 1,100ms
Req 2 - geterr 2,496ms (± 0.43%) 2,456ms (± 0.67%) -40ms (- 1.61%) 2,417ms 2,490ms
Req 3 - references 164ms (± 1.19%) 161ms (± 1.28%) -4ms (- 2.19%) 155ms 166ms
Req 4 - navto 142ms (± 1.02%) 141ms (± 1.16%) -1ms (- 0.78%) 137ms 145ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 54ms (± 7.48%) 53ms (± 8.03%) -1ms (- 1.86%) 47ms 63ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,141ms (± 0.48%) 1,134ms (± 0.52%) -6ms (- 0.53%) 1,120ms 1,147ms
Req 2 - geterr 1,571ms (± 0.48%) 1,522ms (± 0.78%) 🟩-49ms (- 3.13%) 1,490ms 1,545ms
Req 3 - references 171ms (± 0.53%) 167ms (± 0.45%) -4ms (- 2.05%) 166ms 169ms
Req 4 - navto 152ms (± 0.94%) 153ms (± 0.66%) +1ms (+ 0.33%) 151ms 156ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 52ms (± 1.43%) 53ms (± 1.57%) +1ms (+ 1.15%) 51ms 54ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 1,552ms (± 0.56%) 1,572ms (± 0.74%) +20ms (+ 1.28%) 1,552ms 1,597ms
Req 2 - geterr 547ms (± 0.75%) 540ms (± 0.87%) -7ms (- 1.23%) 531ms 553ms
Req 3 - references 57ms (± 3.74%) 57ms (± 3.05%) -0ms (- 0.18%) 54ms 62ms
Req 4 - navto 195ms (± 0.75%) 196ms (± 1.27%) +1ms (+ 0.72%) 191ms 202ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 210ms (± 0.98%) 212ms (± 1.22%) +2ms (+ 1.09%) 205ms 217ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,327ms (± 0.59%) 1,333ms (± 0.50%) +6ms (+ 0.42%) 1,318ms 1,345ms
Req 2 - geterr 3,102ms (± 1.20%) 3,021ms (± 1.25%) -81ms (- 2.60%) 2,970ms 3,160ms
Req 3 - references 192ms (± 0.69%) 190ms (± 0.59%) -3ms (- 1.35%) 187ms 192ms
Req 4 - navto 156ms (± 0.61%) 149ms (± 0.75%) 🟩-7ms (- 4.18%) 147ms 152ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 57ms (± 1.48%) 60ms (± 2.85%) +3ms (+ 4.38%) 56ms 64ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,405ms (± 0.76%) 1,414ms (± 0.72%) +9ms (+ 0.65%) 1,386ms 1,431ms
Req 2 - geterr 2,087ms (± 0.84%) 2,014ms (± 0.61%) 🟩-73ms (- 3.51%) 1,971ms 2,029ms
Req 3 - references 201ms (± 0.58%) 196ms (± 0.52%) -5ms (- 2.49%) 193ms 198ms
Req 4 - navto 166ms (± 1.04%) 165ms (± 0.75%) -2ms (- 0.90%) 163ms 168ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 56ms (± 1.07%) 56ms (± 0.71%) +1ms (+ 0.90%) 55ms 57ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 1,861ms (± 0.61%) 1,871ms (± 0.71%) +10ms (+ 0.52%) 1,852ms 1,918ms
Req 2 - geterr 689ms (± 0.71%) 684ms (± 0.81%) -5ms (- 0.71%) 674ms 697ms
Req 3 - references 68ms (± 1.55%) 67ms (± 0.99%) -1ms (- 1.61%) 66ms 69ms
Req 4 - navto 193ms (± 1.37%) 195ms (± 0.87%) +2ms (+ 0.93%) 191ms 198ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 253ms (± 0.76%) 257ms (± 1.03%) +4ms (+ 1.54%) 251ms 263ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,474ms (± 0.38%) 1,491ms (± 0.78%) +16ms (+ 1.09%) 1,459ms 1,509ms
Req 2 - geterr 3,292ms (± 0.27%) 3,163ms (± 0.97%) 🟩-129ms (- 3.91%) 3,104ms 3,229ms
Req 3 - references 210ms (± 1.10%) 201ms (± 0.67%) 🟩-9ms (- 4.42%) 198ms 204ms
Req 4 - navto 170ms (± 1.12%) 164ms (± 0.74%) 🟩-6ms (- 3.47%) 161ms 167ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 57ms (± 1.19%) 66ms (± 4.99%) +9ms (+15.16%) 58ms 72ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,576ms (± 0.69%) 1,577ms (± 0.62%) +1ms (+ 0.08%) 1,560ms 1,606ms
Req 2 - geterr 2,221ms (± 0.29%) 2,138ms (± 0.48%) 🟩-83ms (- 3.75%) 2,110ms 2,154ms
Req 3 - references 217ms (± 0.63%) 214ms (± 1.05%) -4ms (- 1.79%) 209ms 219ms
Req 4 - navto 177ms (± 1.09%) 174ms (± 0.94%) -3ms (- 1.80%) 169ms 176ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 61ms (± 6.71%) 58ms (± 1.12%) 🟩-3ms (- 5.25%) 56ms 59ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,988ms (± 0.46%) 1,992ms (± 0.54%) +4ms (+ 0.18%) 1,967ms 2,012ms
Req 2 - geterr 747ms (± 0.58%) 749ms (± 0.48%) +2ms (+ 0.27%) 743ms 756ms
Req 3 - references 74ms (± 0.75%) 70ms (± 0.92%) 🟩-4ms (- 4.88%) 69ms 72ms
Req 4 - navto 215ms (± 1.01%) 218ms (± 0.71%) +4ms (+ 1.77%) 215ms 222ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 285ms (± 0.65%) 274ms (± 0.53%) 🟩-11ms (- 3.90%) 271ms 277ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 51913 10
Baseline main 10

Startup

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 120.15ms (± 0.63%) 118.37ms (± 0.36%) -1.77ms (- 1.47%) 116.34ms 124.30ms
tsserver-startup - node (v16.17.1, x64)
Execution time 201.95ms (± 0.48%) 198.26ms (± 0.29%) -3.68ms (- 1.82%) 195.39ms 206.70ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 194.04ms (± 0.40%) 193.34ms (± 0.39%) -0.70ms (- 0.36%) 189.86ms 203.19ms
typescript-startup - node (v16.17.1, x64)
Execution time 179.35ms (± 0.37%) 179.09ms (± 0.42%) -0.26ms (- 0.14%) 175.33ms 189.37ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 51913 10
Baseline main 10

Developer Information:

Download Benchmark

@rbuckton
Copy link
Member Author

That's quite good. Barely a change to the tsc benchmarks, but some nice improvements in the lsp benchmarks. I have a few other changes to try before taking this out of draft.

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 16, 2022

Heya @rbuckton, I've started to run the perf test suite on this PR at 95b6afd. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 372,219k (± 0.01%) 373,310k (± 0.00%) +1,090k (+ 0.29%) 373,285k 373,337k
Parse Time 3.94s (± 0.77%) 3.92s (± 1.27%) -0.02s (- 0.50%) 3.86s 3.99s
Bind Time 1.19s (± 1.12%) 1.21s (± 1.14%) +0.02s (+ 1.65%) 1.19s 1.22s
Check Time 8.51s (± 0.63%) 8.60s (± 0.93%) +0.10s (+ 1.13%) 8.54s 8.74s
Emit Time 7.49s (± 0.64%) 7.52s (± 0.78%) +0.03s (+ 0.37%) 7.44s 7.62s
Total Time 21.12s (± 0.50%) 21.24s (± 0.80%) +0.12s (+ 0.55%) 21.10s 21.57s
Compiler-Unions - node (v18.10.0, x64)
Memory used 199,038k (± 1.14%) 199,751k (± 1.19%) +713k (+ 0.36%) 198,736k 204,623k
Parse Time 1.65s (± 0.59%) 1.65s (± 1.57%) +0.00s (+ 0.07%) 1.60s 1.67s
Bind Time 0.79s (± 0.64%) 0.79s (± 0.60%) +0.00s (+ 0.07%) 0.79s 0.80s
Check Time 9.40s (± 0.68%) 9.43s (± 0.62%) +0.03s (+ 0.31%) 9.38s 9.51s
Emit Time 2.77s (± 0.93%) 2.81s (± 1.18%) +0.04s (+ 1.51%) 2.77s 2.85s
Total Time 14.60s (± 0.44%) 14.68s (± 0.59%) +0.08s (+ 0.52%) 14.56s 14.80s
Monaco - node (v18.10.0, x64)
Memory used 353,950k (± 0.00%) 354,992k (± 0.01%) +1,042k (+ 0.29%) 354,967k 355,036k
Parse Time 2.93s (± 0.97%) 2.91s (± 1.10%) -0.01s (- 0.47%) 2.87s 2.97s
Bind Time 1.03s (± 0.50%) 1.03s (± 0.66%) -0.00s (- 0.11%) 1.02s 1.04s
Check Time 7.18s (± 0.67%) 7.21s (± 0.51%) +0.03s (+ 0.37%) 7.15s 7.26s
Emit Time 4.22s (± 0.79%) 4.28s (± 0.73%) +0.06s (+ 1.39%) 4.23s 4.31s
Total Time 15.36s (± 0.64%) 15.44s (± 0.59%) +0.07s (+ 0.48%) 15.28s 15.55s
TFS - node (v18.10.0, x64)
Memory used 309,855k (± 0.01%) 310,860k (± 0.01%) +1,005k (+ 0.32%) 310,841k 310,875k
Parse Time 2.23s (± 1.06%) 2.23s (± 1.37%) -0.00s (- 0.20%) 2.17s 2.25s
Bind Time 1.15s (± 0.52%) 1.16s (± 0.86%) +0.00s (+ 0.17%) 1.14s 1.17s
Check Time 6.74s (± 0.66%) 6.80s (± 0.90%) +0.05s (+ 0.81%) 6.69s 6.86s
Emit Time 3.91s (± 0.96%) 3.89s (± 0.40%) -0.02s (- 0.47%) 3.87s 3.91s
Total Time 14.04s (± 0.53%) 14.07s (± 0.69%) +0.04s (+ 0.25%) 13.90s 14.17s
material-ui - node (v18.10.0, x64)
Memory used 485,063k (± 0.01%) 486,424k (± 0.01%) +1,361k (+ 0.28%) 486,394k 486,477k
Parse Time 3.51s (± 0.69%) 3.50s (± 0.78%) -0.01s (- 0.22%) 3.47s 3.54s
Bind Time 0.95s (± 0.72%) 0.96s (± 1.63%) +0.01s (+ 0.76%) 0.94s 0.98s
Check Time 16.84s (± 0.74%) 16.93s (± 0.96%) +0.08s (+ 0.50%) 16.76s 17.16s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.31s (± 0.59%) 21.38s (± 0.90%) +0.08s (+ 0.37%) 21.18s 21.66s
xstate - node (v18.10.0, x64)
Memory used 569,699k (± 0.03%) 569,994k (± 0.02%) +295k (+ 0.05%) 569,867k 570,139k
Parse Time 4.39s (± 0.74%) 4.40s (± 0.60%) +0.01s (+ 0.31%) 4.37s 4.44s
Bind Time 1.69s (± 0.88%) 1.69s (± 0.88%) -0.00s (- 0.02%) 1.67s 1.71s
Check Time 2.59s (± 0.94%) 2.59s (± 0.84%) +0.00s (+ 0.02%) 2.56s 2.62s
Emit Time 0.08s (± 0.44%) 0.08s (± 0.28%) +0.00s (+ 0.27%) 0.08s 0.08s
Total Time 8.75s (± 0.29%) 8.76s (± 0.60%) +0.01s (+ 0.12%) 8.68s 8.80s
Angular - node (v16.17.1, x64)
Memory used 371,548k (± 0.00%) 372,691k (± 0.01%) +1,144k (+ 0.31%) 372,630k 372,730k
Parse Time 4.11s (± 0.32%) 4.09s (± 0.77%) -0.02s (- 0.54%) 4.05s 4.15s
Bind Time 1.25s (± 0.72%) 1.26s (± 0.59%) +0.01s (+ 0.67%) 1.25s 1.27s
Check Time 9.24s (± 0.61%) 9.24s (± 0.62%) +0.00s (+ 0.02%) 9.19s 9.32s
Emit Time 7.94s (± 0.41%) 7.96s (± 0.65%) +0.02s (+ 0.20%) 7.91s 8.05s
Total Time 22.55s (± 0.38%) 22.56s (± 0.61%) +0.01s (+ 0.02%) 22.43s 22.77s
Compiler-Unions - node (v16.17.1, x64)
Memory used 199,802k (± 0.03%) 200,545k (± 0.02%) +743k (+ 0.37%) 200,489k 200,597k
Parse Time 1.80s (± 0.67%) 1.82s (± 1.02%) +0.02s (+ 1.08%) 1.79s 1.84s
Bind Time 0.84s (± 0.58%) 0.85s (± 1.11%) +0.01s (+ 0.67%) 0.83s 0.86s
Check Time 10.13s (± 0.49%) 10.23s (± 0.50%) +0.09s (+ 0.93%) 10.14s 10.29s
Emit Time 2.99s (± 1.57%) 3.00s (± 0.53%) +0.01s (+ 0.33%) 2.98s 3.02s
Total Time 15.76s (± 0.64%) 15.89s (± 0.51%) +0.13s (+ 0.80%) 15.75s 15.99s
Monaco - node (v16.17.1, x64)
Memory used 353,242k (± 0.01%) 354,292k (± 0.01%) +1,050k (+ 0.30%) 354,247k 354,338k
Parse Time 3.12s (± 1.06%) 3.14s (± 0.66%) +0.02s (+ 0.62%) 3.11s 3.16s
Bind Time 1.12s (± 0.73%) 1.11s (± 0.53%) -0.01s (- 0.60%) 1.10s 1.12s
Check Time 7.78s (± 0.36%) 7.84s (± 0.34%) +0.06s (+ 0.78%) 7.81s 7.88s
Emit Time 4.43s (± 0.44%) 4.48s (± 0.75%) +0.05s (+ 1.04%) 4.43s 4.53s
Total Time 16.46s (± 0.28%) 16.57s (± 0.37%) +0.12s (+ 0.70%) 16.48s 16.66s
TFS - node (v16.17.1, x64)
Memory used 309,193k (± 0.00%) 310,202k (± 0.00%) +1,009k (+ 0.33%) 310,185k 310,221k
Parse Time 2.58s (± 1.35%) 2.59s (± 1.90%) +0.01s (+ 0.44%) 2.51s 2.64s
Bind Time 1.06s (± 2.22%) 1.06s (± 2.65%) -0.00s (- 0.20%) 1.03s 1.10s
Check Time 7.36s (± 0.55%) 7.40s (± 0.70%) +0.05s (+ 0.64%) 7.34s 7.47s
Emit Time 4.21s (± 0.99%) 4.22s (± 0.53%) +0.01s (+ 0.16%) 4.20s 4.26s
Total Time 15.20s (± 0.70%) 15.27s (± 0.46%) +0.07s (+ 0.44%) 15.17s 15.38s
material-ui - node (v16.17.1, x64)
Memory used 484,315k (± 0.00%) 485,701k (± 0.01%) +1,387k (+ 0.29%) 485,673k 485,741k
Parse Time 3.65s (± 0.41%) 3.65s (± 0.46%) +0.00s (+ 0.11%) 3.62s 3.67s
Bind Time 1.01s (± 0.66%) 1.01s (± 0.53%) -0.01s (- 0.52%) 1.00s 1.02s
Check Time 17.87s (± 0.37%) 17.88s (± 0.65%) +0.01s (+ 0.06%) 17.77s 18.10s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.54s (± 0.35%) 22.55s (± 0.55%) +0.01s (+ 0.03%) 22.41s 22.77s
xstate - node (v16.17.1, x64)
Memory used 567,267k (± 0.01%) 567,551k (± 0.02%) +285k (+ 0.05%) 567,469k 567,741k
Parse Time 4.73s (± 0.38%) 4.74s (± 0.69%) +0.01s (+ 0.20%) 4.70s 4.78s
Bind Time 1.64s (± 0.59%) 1.66s (± 0.92%) +0.01s (+ 0.64%) 1.64s 1.68s
Check Time 2.80s (± 0.48%) 2.83s (± 0.94%) +0.03s (+ 0.93%) 2.78s 2.85s
Emit Time 0.09s (± 0.24%) 0.09s (± 0.42%) +0.00s (+ 0.34%) 0.09s 0.09s
Total Time 9.27s (± 0.44%) 9.32s (± 0.63%) +0.05s (+ 0.57%) 9.22s 9.39s
Angular - node (v14.15.1, x64)
Memory used 365,136k (± 0.01%) 366,360k (± 0.01%) +1,223k (+ 0.33%) 366,331k 366,383k
Parse Time 4.15s (± 0.85%) 4.18s (± 0.77%) +0.03s (+ 0.60%) 4.15s 4.21s
Bind Time 1.29s (± 0.79%) 1.29s (± 1.07%) -0.01s (- 0.43%) 1.27s 1.31s
Check Time 9.63s (± 0.68%) 9.65s (± 0.70%) +0.02s (+ 0.26%) 9.59s 9.76s
Emit Time 8.18s (± 0.91%) 8.25s (± 1.00%) +0.07s (+ 0.84%) 8.12s 8.36s
Total Time 23.25s (± 0.63%) 23.36s (± 0.57%) +0.11s (+ 0.48%) 23.14s 23.53s
Compiler-Unions - node (v14.15.1, x64)
Memory used 194,941k (± 0.01%) 195,687k (± 0.03%) +747k (+ 0.38%) 195,643k 195,752k
Parse Time 1.84s (± 0.33%) 1.84s (± 0.69%) +0.00s (+ 0.15%) 1.83s 1.86s
Bind Time 0.87s (± 0.61%) 0.87s (± 0.62%) -0.00s (- 0.12%) 0.86s 0.88s
Check Time 10.11s (± 0.38%) 10.12s (± 0.55%) +0.00s (+ 0.04%) 10.02s 10.19s
Emit Time 3.13s (± 0.75%) 3.13s (± 0.77%) -0.00s (- 0.07%) 3.10s 3.17s
Total Time 15.95s (± 0.27%) 15.96s (± 0.47%) +0.01s (+ 0.05%) 15.83s 16.02s
Monaco - node (v14.15.1, x64)
Memory used 348,070k (± 0.01%) 349,167k (± 0.00%) +1,098k (+ 0.32%) 349,149k 349,180k
Parse Time 3.26s (± 1.08%) 3.25s (± 1.93%) -0.01s (- 0.31%) 3.18s 3.34s
Bind Time 1.11s (± 0.63%) 1.12s (± 0.42%) +0.01s (+ 0.85%) 1.12s 1.13s
Check Time 8.12s (± 0.44%) 8.15s (± 0.66%) +0.03s (+ 0.33%) 8.08s 8.23s
Emit Time 4.69s (± 0.97%) 4.73s (± 0.89%) +0.04s (+ 0.85%) 4.69s 4.80s
Total Time 17.19s (± 0.52%) 17.25s (± 0.72%) +0.06s (+ 0.37%) 17.07s 17.42s
TFS - node (v14.15.1, x64)
Memory used 304,116k (± 0.00%) 305,091k (± 0.00%) +975k (+ 0.32%) 305,079k 305,103k
Parse Time 2.70s (± 0.82%) 2.74s (± 1.25%) +0.04s (+ 1.55%) 2.68s 2.79s
Bind Time 1.07s (± 0.30%) 1.09s (± 1.20%) +0.02s (+ 1.93%) 1.08s 1.11s
Check Time 7.68s (± 0.37%) 7.69s (± 0.62%) +0.01s (+ 0.12%) 7.63s 7.77s
Emit Time 4.54s (± 1.21%) 4.55s (± 1.33%) +0.01s (+ 0.22%) 4.49s 4.66s
Total Time 16.00s (± 0.33%) 16.07s (± 0.75%) +0.08s (+ 0.48%) 15.92s 16.27s
material-ui - node (v14.15.1, x64)
Memory used 479,773k (± 0.00%) 481,192k (± 0.00%) +1,420k (+ 0.30%) 481,177k 481,231k
Parse Time 3.87s (± 0.35%) 3.90s (± 0.43%) +0.02s (+ 0.56%) 3.88s 3.93s
Bind Time 1.05s (± 0.65%) 1.05s (± 1.18%) +0.00s (+ 0.08%) 1.02s 1.06s
Check Time 18.93s (± 0.59%) 19.06s (± 0.40%) +0.13s (+ 0.71%) 18.98s 19.17s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 23.85s (± 0.48%) 24.01s (± 0.30%) +0.15s (+ 0.65%) 23.91s 24.10s
xstate - node (v14.15.1, x64)
Memory used 555,635k (± 0.00%) 556,037k (± 0.00%) +402k (+ 0.07%) 556,003k 556,052k
Parse Time 5.09s (± 0.45%) 5.12s (± 0.96%) +0.03s (+ 0.60%) 5.04s 5.17s
Bind Time 1.57s (± 0.97%) 1.58s (± 0.21%) +0.01s (+ 0.70%) 1.58s 1.59s
Check Time 2.98s (± 0.48%) 3.00s (± 0.75%) +0.02s (+ 0.51%) 2.96s 3.02s
Emit Time 0.10s (± 0.25%) 0.10s (± 0.36%) +0.00s (+ 0.18%) 0.10s 0.10s
Total Time 9.75s (± 0.31%) 9.80s (± 0.68%) +0.05s (+ 0.48%) 9.71s 9.86s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 51913 6
Baseline main 6

TSServer

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,571ms (± 1.65%) 2,559ms (± 0.73%) -12ms (- 0.46%) 2,536ms 2,587ms
Req 2 - geterr 5,703ms (± 0.83%) 5,222ms (± 1.14%) 🟩-481ms (- 8.43%) 5,132ms 5,288ms
Req 3 - references 364ms (± 1.50%) 369ms (± 1.88%) +5ms (+ 1.43%) 358ms 377ms
Req 4 - navto 292ms (± 0.64%) 276ms (± 2.45%) 🟩-16ms (- 5.59%) 269ms 289ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 86ms (± 4.56%) 78ms (± 2.68%) 🟩-9ms (-10.13%) 74ms 79ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,757ms (± 1.48%) 2,787ms (± 0.97%) +29ms (+ 1.07%) 2,749ms 2,829ms
Req 2 - geterr 4,197ms (± 0.58%) 3,825ms (± 0.61%) 🟩-373ms (- 8.88%) 3,794ms 3,860ms
Req 3 - references 363ms (± 0.63%) 351ms (± 1.13%) 🟩-12ms (- 3.30%) 345ms 355ms
Req 4 - navto 296ms (± 0.72%) 287ms (± 1.33%) 🟩-10ms (- 3.29%) 282ms 291ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 67ms (± 1.36%) 67ms (± 1.00%) +1ms (+ 0.86%) 67ms 69ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,653ms (± 0.82%) 3,606ms (± 0.50%) -47ms (- 1.30%) 3,578ms 3,631ms
Req 2 - geterr 1,340ms (± 1.18%) 1,323ms (± 1.49%) -17ms (- 1.26%) 1,287ms 1,340ms
Req 3 - references 104ms (± 1.27%) 101ms (± 1.28%) -3ms (- 2.97%) 99ms 103ms
Req 4 - navto 357ms (± 0.48%) 355ms (± 0.77%) -2ms (- 0.52%) 351ms 359ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 436ms (± 1.27%) 416ms (± 1.95%) 🟩-20ms (- 4.63%) 406ms 428ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,807ms (± 1.07%) 2,789ms (± 0.76%) -18ms (- 0.65%) 2,766ms 2,815ms
Req 2 - geterr 6,134ms (± 1.04%) 5,615ms (± 0.66%) 🟩-519ms (- 8.46%) 5,575ms 5,676ms
Req 3 - references 368ms (± 1.08%) 367ms (± 1.52%) -1ms (- 0.18%) 359ms 376ms
Req 4 - navto 279ms (± 1.41%) 267ms (± 1.41%) 🟩-13ms (- 4.54%) 260ms 270ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 88ms (± 7.90%) 87ms (± 6.90%) -1ms (- 0.65%) 82ms 96ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,947ms (± 0.89%) 2,910ms (± 0.67%) -37ms (- 1.25%) 2,880ms 2,937ms
Req 2 - geterr 4,598ms (± 0.39%) 4,184ms (± 0.59%) 🟩-414ms (- 9.01%) 4,142ms 4,214ms
Req 3 - references 393ms (± 0.53%) 365ms (± 0.46%) 🟩-28ms (- 7.17%) 363ms 367ms
Req 4 - navto 297ms (± 0.97%) 291ms (± 1.00%) -6ms (- 2.02%) 286ms 295ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 77ms (± 1.29%) 85ms (± 7.70%) +8ms (+10.35%) 77ms 91ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,795ms (± 0.37%) 3,733ms (± 0.23%) -62ms (- 1.63%) 3,720ms 3,745ms
Req 2 - geterr 1,457ms (± 1.19%) 1,467ms (± 0.55%) +10ms (+ 0.71%) 1,453ms 1,476ms
Req 3 - references 110ms (± 1.54%) 108ms (± 0.97%) -2ms (- 1.78%) 107ms 110ms
Req 4 - navto 355ms (± 0.98%) 339ms (± 0.33%) 🟩-16ms (- 4.56%) 337ms 340ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 464ms (± 1.17%) 456ms (± 0.64%) -8ms (- 1.83%) 452ms 459ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,093ms (± 0.92%) 3,053ms (± 0.46%) -41ms (- 1.31%) 3,031ms 3,070ms
Req 2 - geterr 5,997ms (± 0.57%) 5,468ms (± 0.55%) 🟩-529ms (- 8.82%) 5,420ms 5,497ms
Req 3 - references 394ms (± 0.53%) 369ms (± 0.34%) 🟩-25ms (- 6.29%) 367ms 370ms
Req 4 - navto 290ms (± 1.02%) 295ms (± 0.39%) +4ms (+ 1.52%) 293ms 296ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 83ms (± 2.21%) 83ms (± 4.59%) -0ms (- 0.24%) 81ms 91ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,224ms (± 0.68%) 3,167ms (± 1.01%) -57ms (- 1.76%) 3,135ms 3,223ms
Req 2 - geterr 4,470ms (± 0.82%) 4,053ms (± 0.57%) 🟩-418ms (- 9.34%) 4,020ms 4,091ms
Req 3 - references 413ms (± 1.19%) 385ms (± 0.54%) 🟩-27ms (- 6.58%) 382ms 389ms
Req 4 - navto 313ms (± 2.02%) 302ms (± 0.86%) 🟩-12ms (- 3.73%) 298ms 305ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 82ms (± 5.97%) 78ms (± 0.70%) 🟩-4ms (- 4.38%) 77ms 79ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,837ms (± 0.35%) 3,756ms (± 0.98%) -82ms (- 2.13%) 3,686ms 3,794ms
Req 2 - geterr 1,479ms (± 0.76%) 1,519ms (± 0.61%) +40ms (+ 2.72%) 1,505ms 1,530ms
Req 3 - references 133ms (± 1.99%) 112ms (± 2.50%) 🟩-21ms (-15.60%) 109ms 116ms
Req 4 - navto 401ms (± 0.79%) 363ms (± 0.82%) 🟩-38ms (- 9.45%) 358ms 367ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 504ms (± 1.39%) 468ms (± 0.84%) 🟩-36ms (- 7.13%) 463ms 473ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 51913 6
Baseline main 6

Startup

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 51913 6
Baseline main 6

Developer Information:

Download Benchmark

@jakebailey
Copy link
Member

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 20, 2022

Heya @jakebailey, I've started to run the perf test suite on this PR at c6ffac9. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 372,315k (± 0.01%) 373,432k (± 0.01%) +1,117k (+ 0.30%) 373,391k 373,467k
Parse Time 3.95s (± 1.06%) 3.96s (± 0.81%) +0.01s (+ 0.25%) 3.92s 4.00s
Bind Time 1.20s (± 0.83%) 1.20s (± 1.60%) +0.00s (+ 0.00%) 1.19s 1.24s
Check Time 8.60s (± 0.38%) 8.61s (± 0.50%) +0.00s (+ 0.04%) 8.55s 8.67s
Emit Time 7.60s (± 0.60%) 7.55s (± 0.29%) -0.05s (- 0.70%) 7.52s 7.57s
Total Time 21.36s (± 0.37%) 21.33s (± 0.18%) -0.03s (- 0.15%) 21.29s 21.40s
Compiler-Unions - node (v18.10.0, x64)
Memory used 200,893k (± 1.53%) 198,784k (± 0.03%) -2,108k (- 1.05%) 198,736k 198,880k
Parse Time 1.66s (± 0.95%) 1.66s (± 1.53%) -0.01s (- 0.50%) 1.61s 1.69s
Bind Time 0.79s (± 0.62%) 0.80s (± 0.99%) +0.00s (+ 0.20%) 0.79s 0.81s
Check Time 9.46s (± 0.52%) 9.45s (± 0.50%) -0.01s (- 0.08%) 9.38s 9.52s
Emit Time 2.77s (± 1.09%) 2.77s (± 0.89%) -0.01s (- 0.22%) 2.74s 2.80s
Total Time 14.69s (± 0.42%) 14.67s (± 0.23%) -0.02s (- 0.13%) 14.63s 14.72s
Monaco - node (v18.10.0, x64)
Memory used 353,974k (± 0.01%) 355,011k (± 0.01%) +1,037k (+ 0.29%) 354,981k 355,067k
Parse Time 2.94s (± 1.44%) 2.92s (± 0.32%) -0.02s (- 0.79%) 2.91s 2.93s
Bind Time 1.04s (± 1.30%) 1.03s (± 0.80%) -0.01s (- 0.79%) 1.02s 1.04s
Check Time 7.22s (± 0.54%) 7.22s (± 0.65%) +0.00s (+ 0.03%) 7.16s 7.28s
Emit Time 4.27s (± 0.74%) 4.28s (± 1.40%) +0.01s (+ 0.32%) 4.23s 4.40s
Total Time 15.47s (± 0.75%) 15.46s (± 0.65%) -0.01s (- 0.09%) 15.34s 15.63s
TFS - node (v18.10.0, x64)
Memory used 309,854k (± 0.01%) 310,877k (± 0.00%) +1,023k (+ 0.33%) 310,855k 310,896k
Parse Time 2.24s (± 1.27%) 2.25s (± 0.47%) +0.01s (+ 0.24%) 2.24s 2.27s
Bind Time 1.16s (± 0.72%) 1.15s (± 0.77%) -0.00s (- 0.12%) 1.14s 1.17s
Check Time 6.81s (± 0.24%) 6.80s (± 0.67%) -0.00s (- 0.05%) 6.73s 6.84s
Emit Time 3.93s (± 0.83%) 3.91s (± 0.66%) -0.02s (- 0.38%) 3.89s 3.96s
Total Time 14.13s (± 0.49%) 14.12s (± 0.39%) -0.01s (- 0.09%) 14.02s 14.18s
material-ui - node (v18.10.0, x64)
Memory used 485,040k (± 0.01%) 486,442k (± 0.01%) +1,402k (+ 0.29%) 486,377k 486,512k
Parse Time 3.55s (± 0.97%) 3.51s (± 0.45%) -0.04s (- 1.14%) 3.49s 3.53s
Bind Time 0.96s (± 0.61%) 0.96s (± 1.52%) -0.00s (- 0.41%) 0.93s 0.98s
Check Time 16.92s (± 0.26%) 16.86s (± 0.57%) -0.06s (- 0.37%) 16.72s 16.96s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.43s (± 0.32%) 21.32s (± 0.56%) -0.11s (- 0.51%) 21.14s 21.45s
xstate - node (v18.10.0, x64)
Memory used 569,641k (± 0.01%) 569,960k (± 0.02%) +319k (+ 0.06%) 569,817k 570,066k
Parse Time 4.44s (± 0.66%) 4.42s (± 0.88%) -0.02s (- 0.47%) 4.36s 4.47s
Bind Time 1.70s (± 1.12%) 1.69s (± 1.22%) -0.00s (- 0.23%) 1.67s 1.72s
Check Time 2.61s (± 0.35%) 2.58s (± 0.82%) -0.02s (- 0.85%) 2.56s 2.61s
Emit Time 0.08s (± 0.24%) 0.08s (± 0.11%) +0.00s (+ 0.17%) 0.08s 0.08s
Total Time 8.82s (± 0.26%) 8.78s (± 0.56%) -0.05s (- 0.53%) 8.72s 8.84s
Angular - node (v16.17.1, x64)
Memory used 371,685k (± 0.01%) 372,793k (± 0.01%) +1,108k (+ 0.30%) 372,725k 372,827k
Parse Time 4.14s (± 0.24%) 4.11s (± 0.34%) -0.02s (- 0.58%) 4.10s 4.14s
Bind Time 1.27s (± 0.71%) 1.27s (± 0.39%) +0.00s (+ 0.23%) 1.27s 1.28s
Check Time 9.30s (± 0.43%) 9.31s (± 0.46%) +0.01s (+ 0.15%) 9.24s 9.35s
Emit Time 8.01s (± 0.57%) 8.00s (± 0.50%) -0.00s (- 0.04%) 7.94s 8.05s
Total Time 22.71s (± 0.30%) 22.70s (± 0.29%) -0.01s (- 0.05%) 22.60s 22.79s
Compiler-Unions - node (v16.17.1, x64)
Memory used 200,905k (± 0.88%) 200,321k (± 0.10%) -584k (- 0.29%) 200,053k 200,528k
Parse Time 1.81s (± 0.60%) 1.82s (± 0.91%) +0.02s (+ 0.99%) 1.81s 1.85s
Bind Time 0.85s (± 0.57%) 0.84s (± 0.80%) -0.00s (- 0.32%) 0.83s 0.85s
Check Time 10.21s (± 0.99%) 10.12s (± 0.69%) -0.09s (- 0.88%) 10.02s 10.20s
Emit Time 2.99s (± 0.74%) 3.17s (± 6.22%) +0.18s (+ 5.90%) 2.96s 3.40s
Total Time 15.86s (± 0.59%) 15.96s (± 1.47%) +0.10s (+ 0.63%) 15.60s 16.29s
Monaco - node (v16.17.1, x64)
Memory used 353,252k (± 0.01%) 354,308k (± 0.01%) +1,056k (+ 0.30%) 354,273k 354,355k
Parse Time 3.15s (± 0.97%) 3.14s (± 0.41%) -0.01s (- 0.36%) 3.12s 3.15s
Bind Time 1.12s (± 0.71%) 1.11s (± 1.25%) -0.01s (- 0.97%) 1.10s 1.13s
Check Time 7.85s (± 0.49%) 7.84s (± 0.35%) -0.02s (- 0.23%) 7.80s 7.88s
Emit Time 4.51s (± 1.07%) 4.49s (± 0.89%) -0.02s (- 0.52%) 4.44s 4.55s
Total Time 16.64s (± 0.60%) 16.58s (± 0.27%) -0.07s (- 0.39%) 16.50s 16.63s
TFS - node (v16.17.1, x64)
Memory used 309,204k (± 0.00%) 310,216k (± 0.01%) +1,012k (+ 0.33%) 310,191k 310,240k
Parse Time 2.61s (± 1.26%) 2.61s (± 0.59%) -0.00s (- 0.19%) 2.58s 2.62s
Bind Time 1.06s (± 1.83%) 1.06s (± 1.59%) +0.00s (+ 0.47%) 1.04s 1.08s
Check Time 7.42s (± 0.66%) 7.42s (± 0.31%) -0.00s (- 0.00%) 7.38s 7.44s
Emit Time 4.21s (± 0.87%) 4.22s (± 0.46%) +0.01s (+ 0.16%) 4.19s 4.24s
Total Time 15.29s (± 0.56%) 15.30s (± 0.13%) +0.01s (+ 0.05%) 15.29s 15.34s
material-ui - node (v16.17.1, x64)
Memory used 484,323k (± 0.01%) 485,717k (± 0.00%) +1,395k (+ 0.29%) 485,701k 485,734k
Parse Time 3.66s (± 0.42%) 3.68s (± 0.25%) +0.02s (+ 0.51%) 3.67s 3.69s
Bind Time 1.01s (± 0.79%) 1.01s (± 0.72%) +0.00s (+ 0.16%) 1.00s 1.02s
Check Time 17.96s (± 1.92%) 17.90s (± 0.59%) -0.06s (- 0.34%) 17.75s 18.04s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.63s (± 1.60%) 22.58s (± 0.49%) -0.05s (- 0.20%) 22.43s 22.73s
xstate - node (v16.17.1, x64)
Memory used 567,262k (± 0.02%) 567,523k (± 0.01%) +261k (+ 0.05%) 567,479k 567,579k
Parse Time 4.76s (± 0.45%) 4.73s (± 0.62%) -0.03s (- 0.56%) 4.69s 4.78s
Bind Time 1.67s (± 1.63%) 1.65s (± 0.32%) -0.02s (- 1.03%) 1.64s 1.66s
Check Time 2.84s (± 0.61%) 2.83s (± 0.47%) -0.01s (- 0.33%) 2.80s 2.84s
Emit Time 0.09s (± 4.67%) 0.09s (± 0.21%) +0.00s (+ 1.85%) 0.09s 0.09s
Total Time 9.35s (± 0.43%) 9.30s (± 0.40%) -0.04s (- 0.48%) 9.26s 9.36s
Angular - node (v14.15.1, x64)
Memory used 365,246k (± 0.00%) 366,455k (± 0.01%) +1,210k (+ 0.33%) 366,416k 366,479k
Parse Time 4.16s (± 0.58%) 4.17s (± 0.44%) +0.01s (+ 0.30%) 4.15s 4.19s
Bind Time 1.30s (± 0.35%) 1.30s (± 0.38%) -0.00s (- 0.10%) 1.29s 1.31s
Check Time 9.67s (± 0.64%) 9.62s (± 0.34%) -0.05s (- 0.48%) 9.57s 9.65s
Emit Time 8.21s (± 0.53%) 8.23s (± 0.55%) +0.02s (+ 0.22%) 8.17s 8.31s
Total Time 23.35s (± 0.49%) 23.34s (± 0.29%) -0.02s (- 0.08%) 23.29s 23.46s
Compiler-Unions - node (v14.15.1, x64)
Memory used 194,954k (± 0.02%) 195,679k (± 0.03%) +724k (+ 0.37%) 195,638k 195,772k
Parse Time 1.86s (± 0.95%) 1.85s (± 0.62%) -0.02s (- 0.92%) 1.83s 1.87s
Bind Time 0.88s (± 0.81%) 0.87s (± 0.55%) -0.01s (- 0.60%) 0.87s 0.88s
Check Time 10.16s (± 0.64%) 10.16s (± 0.71%) +0.00s (+ 0.02%) 10.07s 10.25s
Emit Time 3.14s (± 1.11%) 3.14s (± 1.06%) -0.00s (- 0.03%) 3.10s 3.18s
Total Time 16.04s (± 0.59%) 16.02s (± 0.54%) -0.02s (- 0.11%) 15.90s 16.15s
Monaco - node (v14.15.1, x64)
Memory used 348,052k (± 0.01%) 349,164k (± 0.01%) +1,112k (+ 0.32%) 349,135k 349,189k
Parse Time 3.25s (± 0.88%) 3.24s (± 0.96%) -0.01s (- 0.39%) 3.20s 3.29s
Bind Time 1.12s (± 0.61%) 1.13s (± 0.94%) +0.01s (+ 0.66%) 1.12s 1.14s
Check Time 8.20s (± 0.34%) 8.15s (± 0.43%) -0.05s (- 0.66%) 8.10s 8.20s
Emit Time 4.75s (± 0.34%) 4.76s (± 0.62%) +0.01s (+ 0.17%) 4.71s 4.79s
Total Time 17.33s (± 0.35%) 17.28s (± 0.31%) -0.05s (- 0.31%) 17.22s 17.35s
TFS - node (v14.15.1, x64)
Memory used 304,118k (± 0.01%) 305,093k (± 0.00%) +976k (+ 0.32%) 305,087k 305,101k
Parse Time 2.72s (± 0.78%) 2.74s (± 0.89%) +0.02s (+ 0.71%) 2.70s 2.76s
Bind Time 1.08s (± 0.26%) 1.09s (± 1.09%) +0.01s (+ 1.33%) 1.08s 1.11s
Check Time 7.74s (± 0.66%) 7.72s (± 0.57%) -0.02s (- 0.27%) 7.67s 7.76s
Emit Time 4.56s (± 0.87%) 4.58s (± 0.72%) +0.03s (+ 0.57%) 4.56s 4.65s
Total Time 16.10s (± 0.44%) 16.13s (± 0.32%) +0.03s (+ 0.21%) 16.07s 16.23s
material-ui - node (v14.15.1, x64)
Memory used 479,794k (± 0.00%) 481,202k (± 0.01%) +1,408k (+ 0.29%) 481,166k 481,242k
Parse Time 3.93s (± 0.98%) 3.89s (± 0.36%) -0.04s (- 1.00%) 3.87s 3.91s
Bind Time 1.05s (± 0.49%) 1.05s (± 0.89%) -0.01s (- 0.54%) 1.04s 1.07s
Check Time 19.13s (± 0.48%) 18.92s (± 0.69%) -0.22s (- 1.13%) 18.66s 19.02s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 24.11s (± 0.31%) 23.85s (± 0.57%) -0.26s (- 1.07%) 23.58s 23.97s
xstate - node (v14.15.1, x64)
Memory used 555,627k (± 0.00%) 556,018k (± 0.01%) +391k (+ 0.07%) 555,983k 556,054k
Parse Time 5.15s (± 0.80%) 5.15s (± 0.66%) -0.00s (- 0.09%) 5.11s 5.19s
Bind Time 1.59s (± 0.74%) 1.59s (± 0.62%) -0.00s (- 0.08%) 1.57s 1.60s
Check Time 3.01s (± 0.42%) 2.98s (± 0.71%) -0.03s (- 0.86%) 2.94s 3.00s
Emit Time 0.10s (± 0.10%) 0.10s (± 0.13%) +0.00s (+ 0.13%) 0.10s 0.10s
Total Time 9.85s (± 0.38%) 9.82s (± 0.44%) -0.04s (- 0.37%) 9.75s 9.86s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 51913 6
Baseline main 6

TSServer

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,545ms (± 1.87%) 2,534ms (± 1.15%) -11ms (- 0.45%) 2,496ms 2,574ms
Req 2 - geterr 5,676ms (± 0.62%) 5,172ms (± 1.23%) 🟩-504ms (- 8.88%) 5,077ms 5,235ms
Req 3 - references 359ms (± 1.62%) 364ms (± 3.09%) +5ms (+ 1.42%) 345ms 377ms
Req 4 - navto 293ms (± 2.13%) 275ms (± 2.23%) 🟩-18ms (- 6.13%) 270ms 287ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 80ms (± 9.21%) 74ms (± 3.65%) 🟩-6ms (- 7.22%) 70ms 77ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,738ms (± 1.14%) 2,709ms (± 0.47%) -29ms (- 1.06%) 2,696ms 2,730ms
Req 2 - geterr 4,173ms (± 0.80%) 3,737ms (± 0.57%) 🟩-435ms (-10.43%) 3,714ms 3,773ms
Req 3 - references 360ms (± 1.45%) 346ms (± 0.96%) 🟩-13ms (- 3.72%) 343ms 352ms
Req 4 - navto 293ms (± 0.39%) 281ms (± 2.01%) 🟩-12ms (- 3.99%) 276ms 289ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 66ms (± 2.40%) 67ms (± 2.48%) +1ms (+ 0.87%) 65ms 70ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,623ms (± 0.78%) 3,537ms (± 0.50%) -86ms (- 2.38%) 3,518ms 3,565ms
Req 2 - geterr 1,316ms (± 1.20%) 1,294ms (± 0.98%) -22ms (- 1.68%) 1,273ms 1,306ms
Req 3 - references 105ms (± 2.73%) 102ms (± 0.92%) 🟩-4ms (- 3.72%) 101ms 103ms
Req 4 - navto 364ms (± 2.17%) 347ms (± 0.52%) 🟩-17ms (- 4.61%) 345ms 350ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 434ms (± 1.30%) 417ms (± 1.97%) 🟩-17ms (- 3.86%) 403ms 426ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,778ms (± 0.94%) 2,746ms (± 0.84%) -32ms (- 1.15%) 2,701ms 2,764ms
Req 2 - geterr 6,116ms (± 0.35%) 5,498ms (± 0.59%) 🟩-618ms (-10.10%) 5,443ms 5,544ms
Req 3 - references 366ms (± 0.73%) 363ms (± 0.54%) -4ms (- 1.04%) 360ms 365ms
Req 4 - navto 279ms (± 0.93%) 262ms (± 1.37%) 🟩-17ms (- 6.14%) 257ms 268ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 84ms (± 7.71%) 88ms (± 6.92%) +5ms (+ 5.38%) 81ms 95ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,918ms (± 1.02%) 2,856ms (± 0.56%) -62ms (- 2.13%) 2,831ms 2,875ms
Req 2 - geterr 4,517ms (± 0.76%) 4,082ms (± 0.49%) 🟩-435ms (- 9.64%) 4,064ms 4,116ms
Req 3 - references 387ms (± 0.37%) 355ms (± 0.62%) 🟩-32ms (- 8.19%) 351ms 357ms
Req 4 - navto 295ms (± 1.56%) 281ms (± 0.68%) 🟩-14ms (- 4.83%) 279ms 284ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 75ms (± 4.09%) 83ms (± 7.25%) +8ms (+11.09%) 75ms 89ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,758ms (± 0.25%) 3,663ms (± 0.44%) -95ms (- 2.52%) 3,643ms 3,682ms
Req 2 - geterr 1,445ms (± 2.23%) 1,434ms (± 0.34%) -11ms (- 0.77%) 1,428ms 1,439ms
Req 3 - references 108ms (± 1.46%) 104ms (± 2.23%) 🟩-5ms (- 4.20%) 100ms 107ms
Req 4 - navto 350ms (± 0.71%) 334ms (± 0.43%) 🟩-16ms (- 4.69%) 332ms 336ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 454ms (± 1.40%) 442ms (± 1.03%) -12ms (- 2.68%) 437ms 448ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,060ms (± 0.87%) 3,001ms (± 0.47%) -59ms (- 1.93%) 2,986ms 3,026ms
Req 2 - geterr 5,942ms (± 0.33%) 5,385ms (± 0.61%) 🟩-557ms (- 9.37%) 5,339ms 5,426ms
Req 3 - references 391ms (± 0.25%) 364ms (± 0.69%) 🟩-27ms (- 6.79%) 361ms 368ms
Req 4 - navto 289ms (± 0.81%) 290ms (± 0.39%) +1ms (+ 0.22%) 288ms 291ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 83ms (± 1.97%) 80ms (± 0.54%) 🟩-3ms (- 3.53%) 80ms 81ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,205ms (± 0.78%) 3,083ms (± 0.77%) 🟩-122ms (- 3.80%) 3,057ms 3,123ms
Req 2 - geterr 4,433ms (± 0.68%) 3,944ms (± 0.67%) 🟩-490ms (-11.05%) 3,905ms 3,982ms
Req 3 - references 408ms (± 1.23%) 379ms (± 0.75%) 🟩-29ms (- 6.99%) 376ms 383ms
Req 4 - navto 313ms (± 0.80%) 297ms (± 0.18%) 🟩-16ms (- 4.98%) 297ms 298ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 80ms (± 4.47%) 76ms (± 0.72%) 🟩-4ms (- 4.46%) 75ms 77ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,800ms (± 0.55%) 3,676ms (± 0.26%) 🟩-124ms (- 3.25%) 3,665ms 3,685ms
Req 2 - geterr 1,459ms (± 0.26%) 1,497ms (± 0.24%) +38ms (+ 2.59%) 1,491ms 1,501ms
Req 3 - references 132ms (± 1.66%) 111ms (± 2.56%) 🟩-21ms (-15.96%) 108ms 116ms
Req 4 - navto 396ms (± 0.57%) 357ms (± 0.58%) 🟩-40ms (- 9.97%) 354ms 360ms
Req 5 - completionInfo count 3,154 (± 0.00%) 3,154 (± 0.00%) 0 ( 0.00%) 3,154 3,154
Req 5 - completionInfo 490ms (± 3.00%) 464ms (± 1.00%) 🟩-26ms (- 5.34%) 459ms 471ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 51913 6
Baseline main 6

Startup

Comparison Report - main..51913
Metric main 51913 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 138.35ms (± 0.21%) 138.61ms (± 0.25%) +0.26ms (+ 0.19%) 137.27ms 143.26ms
tsserver-startup - node (v16.17.1, x64)
Execution time 222.49ms (± 0.27%) 222.86ms (± 0.22%) +0.37ms (+ 0.17%) 220.69ms 229.04ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 223.69ms (± 0.20%) 225.90ms (± 0.38%) +2.21ms (+ 0.99%) 223.03ms 231.39ms
typescript-startup - node (v16.17.1, x64)
Execution time 206.36ms (± 0.19%) 208.32ms (± 0.25%) +1.96ms (+ 0.95%) 206.64ms 213.25ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 51913 6
Baseline main 6

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

Looks like you're introducing a change to the public API surface area. If this includes breaking changes, please document them on our wiki's API Breaking Changes page.

Also, please make sure @DanielRosenwasser and @RyanCavanaugh are aware of the changes, just as a heads up.

@rbuckton rbuckton force-pushed the no-objectAllocator branch from e539966 to 9f19e4c Compare April 5, 2024 14:32
@typescript-bot
Copy link
Collaborator

@rbuckton
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 296,993k (± 0.01%) 298,102k (± 0.01%) +1,109k (+ 0.37%) 298,069k 298,131k p=0.005 n=6
Parse Time 3.26s (± 0.36%) 3.26s (± 0.57%) ~ 3.24s 3.29s p=0.739 n=6
Bind Time 0.98s (± 0.52%) 0.98s (± 1.05%) ~ 0.97s 1.00s p=0.928 n=6
Check Time 9.79s (± 0.51%) 9.80s (± 0.49%) ~ 9.72s 9.85s p=0.872 n=6
Emit Time 8.42s (± 0.48%) 8.46s (± 0.36%) ~ 8.42s 8.49s p=0.077 n=6
Total Time 22.45s (± 0.35%) 22.50s (± 0.27%) ~ 22.39s 22.55s p=0.228 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 192,996k (± 0.98%) 194,301k (± 1.02%) ~ 192,380k 196,161k p=0.065 n=6
Parse Time 2.02s (± 1.74%) 2.05s (± 0.48%) ~ 2.04s 2.07s p=0.072 n=6
Bind Time 1.07s (± 1.18%) 1.07s (± 1.41%) ~ 1.04s 1.08s p=0.737 n=6
Check Time 14.02s (± 0.43%) 14.10s (± 0.28%) ~ 14.03s 14.15s p=0.092 n=6
Emit Time 3.84s (± 0.83%) 3.89s (± 0.39%) +0.05s (+ 1.26%) 3.87s 3.91s p=0.035 n=6
Total Time 20.95s (± 0.33%) 21.10s (± 0.24%) +0.15s (+ 0.74%) 21.01s 21.15s p=0.010 n=6
Monaco - node (v18.15.0, x64)
Memory used 348,866k (± 0.01%) 349,976k (± 0.00%) +1,110k (+ 0.32%) 349,951k 349,990k p=0.005 n=6
Parse Time 3.07s (± 1.36%) 3.07s (± 1.00%) ~ 3.03s 3.11s p=0.686 n=6
Bind Time 1.07s (± 0.00%) 1.05s (± 0.49%) -0.02s (- 1.56%) 1.05s 1.06s p=0.002 n=6
Check Time 8.31s (± 0.58%) 8.34s (± 0.20%) ~ 8.32s 8.36s p=0.257 n=6
Emit Time 4.85s (± 0.50%) 4.85s (± 0.34%) ~ 4.82s 4.87s p=1.000 n=6
Total Time 17.30s (± 0.39%) 17.32s (± 0.26%) ~ 17.24s 17.37s p=0.873 n=6
TFS - node (v18.15.0, x64)
Memory used 302,985k (± 0.01%) 303,994k (± 0.01%) +1,009k (+ 0.33%) 303,977k 304,050k p=0.005 n=6
Parse Time 2.02s (± 0.96%) 2.03s (± 1.30%) ~ 1.99s 2.07s p=0.684 n=6
Bind Time 0.98s (± 1.12%) 0.98s (± 0.53%) ~ 0.97s 0.98s p=0.784 n=6
Check Time 6.45s (± 0.40%) 6.44s (± 0.48%) ~ 6.40s 6.47s p=0.746 n=6
Emit Time 3.59s (± 0.63%) 3.61s (± 0.41%) ~ 3.59s 3.63s p=0.063 n=6
Total Time 13.04s (± 0.36%) 13.06s (± 0.28%) ~ 12.99s 13.10s p=0.687 n=6
material-ui - node (v18.15.0, x64)
Memory used 511,651k (± 0.01%) 513,172k (± 0.01%) +1,520k (+ 0.30%) 513,123k 513,201k p=0.005 n=6
Parse Time 4.03s (± 0.43%) 4.03s (± 0.56%) ~ 4.01s 4.06s p=0.684 n=6
Bind Time 1.48s (± 0.70%) 1.45s (± 1.05%) -0.03s (- 2.14%) 1.43s 1.47s p=0.009 n=6
Check Time 25.29s (± 0.32%) 25.31s (± 0.61%) ~ 25.12s 25.54s p=0.873 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 30.79s (± 0.19%) 30.79s (± 0.50%) ~ 30.61s 31.00s p=0.936 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,748,740k (± 0.00%) 1,753,622k (± 0.00%) +4,883k (+ 0.28%) 1,753,597k 1,753,679k p=0.005 n=6
Parse Time 8.12s (± 0.42%) 8.17s (± 0.65%) ~ 8.13s 8.27s p=0.065 n=6
Bind Time 2.74s (± 0.36%) 2.65s (± 0.66%) 🟩-0.08s (- 3.10%) 2.63s 2.68s p=0.005 n=6
Check Time 66.89s (± 0.63%) 66.69s (± 0.24%) ~ 66.52s 66.94s p=0.471 n=6
Emit Time 0.16s (± 4.99%) 0.16s (± 2.52%) ~ 0.16s 0.17s p=1.000 n=6
Total Time 77.91s (± 0.53%) 77.68s (± 0.24%) ~ 77.49s 77.95s p=0.297 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,331,216k (± 2.56%) 2,327,039k (± 0.03%) ~ 2,325,662k 2,327,443k p=0.066 n=6
Parse Time 7.36s (± 0.89%) 7.40s (± 0.94%) ~ 7.28s 7.45s p=0.520 n=6
Bind Time 2.73s (± 0.43%) 2.75s (± 0.92%) ~ 2.72s 2.79s p=0.169 n=6
Check Time 49.42s (± 0.72%) 49.49s (± 0.71%) ~ 49.03s 49.91s p=0.688 n=6
Emit Time 3.90s (± 1.65%) 3.70s (± 1.62%) 🟩-0.20s (- 5.13%) 3.62s 3.79s p=0.005 n=6
Total Time 63.43s (± 0.50%) 63.35s (± 0.69%) ~ 62.85s 63.92s p=0.689 n=6
self-build-src-public-api - node (v18.15.0, x64)
Memory used 2,381,239k (± 0.03%) 2,469,995k (± 5.87%) +88,756k (+ 3.73%) 2,410,282k 2,766,180k p=0.005 n=6
Parse Time 5.14s (± 1.09%) 5.05s (± 0.69%) -0.09s (- 1.81%) 5.01s 5.09s p=0.020 n=6
Bind Time 1.73s (± 1.00%) 1.64s (± 0.97%) 🟩-0.09s (- 5.01%) 1.62s 1.66s p=0.005 n=6
Check Time 34.01s (± 0.14%) 34.28s (± 0.53%) ~ 33.92s 34.42s p=0.066 n=6
Emit Time 2.64s (± 1.92%) 2.62s (± 1.14%) ~ 2.57s 2.66s p=0.298 n=6
Total Time 43.53s (± 0.23%) 43.61s (± 0.44%) ~ 43.23s 43.75s p=0.093 n=6
self-compiler - node (v18.15.0, x64)
Memory used 419,087k (± 0.01%) 428,945k (± 0.01%) +9,858k (+ 2.35%) 428,911k 428,986k p=0.005 n=6
Parse Time 3.39s (± 2.03%) 3.40s (± 0.81%) ~ 3.36s 3.44s p=0.624 n=6
Bind Time 1.34s (± 4.15%) 1.30s (± 0.40%) -0.04s (- 2.62%) 1.30s 1.31s p=0.036 n=6
Check Time 18.05s (± 0.22%) 18.43s (± 0.46%) +0.38s (+ 2.11%) 18.36s 18.60s p=0.005 n=6
Emit Time 1.36s (± 1.61%) 1.33s (± 1.55%) ~ 1.31s 1.36s p=0.076 n=6
Total Time 24.13s (± 0.16%) 24.46s (± 0.30%) +0.33s (+ 1.37%) 24.42s 24.61s p=0.005 n=6
vscode - node (v18.15.0, x64)
Memory used 2,913,825k (± 0.00%) 2,926,290k (± 0.00%) +12,465k (+ 0.43%) 2,926,264k 2,926,310k p=0.005 n=6
Parse Time 11.23s (± 0.18%) 11.26s (± 0.17%) ~ 11.23s 11.28s p=0.086 n=6
Bind Time 3.40s (± 0.24%) 3.53s (± 1.84%) +0.13s (+ 3.97%) 3.40s 3.57s p=0.012 n=6
Check Time 62.69s (± 0.48%) 62.32s (± 0.29%) -0.37s (- 0.58%) 62.05s 62.56s p=0.030 n=6
Emit Time 16.50s (± 0.59%) 16.47s (± 0.52%) ~ 16.37s 16.57s p=0.514 n=6
Total Time 93.81s (± 0.34%) 93.57s (± 0.20%) ~ 93.37s 93.83s p=0.230 n=6
webpack - node (v18.15.0, x64)
Memory used 409,522k (± 0.01%) 411,307k (± 0.02%) +1,786k (+ 0.44%) 411,146k 411,369k p=0.005 n=6
Parse Time 4.85s (± 0.93%) 4.82s (± 1.09%) ~ 4.77s 4.90s p=0.296 n=6
Bind Time 2.01s (± 0.58%) 2.03s (± 0.72%) ~ 2.01s 2.04s p=0.059 n=6
Check Time 21.06s (± 0.37%) 20.96s (± 0.30%) ~ 20.89s 21.08s p=0.064 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 27.93s (± 0.36%) 27.82s (± 0.30%) ~ 27.71s 27.93s p=0.093 n=6
xstate - node (v18.15.0, x64)
Memory used 671,967k (± 0.01%) 672,366k (± 0.01%) +399k (+ 0.06%) 672,311k 672,475k p=0.005 n=6
Parse Time 4.13s (± 0.40%) 4.15s (± 2.39%) ~ 4.07s 4.34s p=0.572 n=6
Bind Time 1.88s (± 1.23%) 1.92s (± 3.16%) ~ 1.87s 2.03s p=0.258 n=6
Check Time 3.46s (± 0.90%) 3.42s (± 0.40%) ~ 3.41s 3.44s p=0.061 n=6
Emit Time 0.03s (±14.39%) 0.03s (± 0.00%) ~ 0.03s 0.03s p=0.405 n=6
Total Time 9.50s (± 0.56%) 9.53s (± 1.67%) ~ 9.39s 9.84s p=0.936 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - node (v18.15.0, x64)
  • Monaco - node (v18.15.0, x64)
  • TFS - node (v18.15.0, x64)
  • material-ui - 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)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate - 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,505ms (± 0.78%) 3,530ms (± 1.12%) +25ms (+ 0.70%) 3,456ms 3,572ms p=0.045 n=6
Req 2 - geterr 7,687ms (± 1.16%) 7,590ms (± 1.49%) -97ms (- 1.26%) 7,511ms 7,810ms p=0.045 n=6
Req 3 - references 427ms (± 0.89%) 424ms (± 0.55%) ~ 420ms 427ms p=0.145 n=6
Req 4 - navto 338ms (± 0.85%) 333ms (± 0.91%) -5ms (- 1.43%) 328ms 337ms p=0.028 n=6
Req 5 - completionInfo count 1,357 (± 0.00%) 1,357 (± 0.00%) ~ 1,357 1,357 p=1.000 n=6
Req 5 - completionInfo 115ms (± 3.79%) 136ms (± 1.11%) 🔻+21ms (+18.14%) 133ms 137ms p=0.005 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,508ms (± 0.76%) 2,482ms (± 0.48%) -25ms (- 1.01%) 2,469ms 2,500ms p=0.037 n=6
Req 2 - geterr 3,887ms (± 1.76%) 3,864ms (± 1.82%) ~ 3,809ms 3,956ms p=0.173 n=6
Req 3 - references 305ms (± 1.90%) 298ms (± 0.94%) -7ms (- 2.24%) 295ms 302ms p=0.044 n=6
Req 4 - navto 227ms (± 0.62%) 228ms (± 0.48%) ~ 227ms 230ms p=0.245 n=6
Req 5 - completionInfo count 1,519 (± 0.00%) 1,519 (± 0.00%) ~ 1,519 1,519 p=1.000 n=6
Req 5 - completionInfo 82ms (± 3.47%) 82ms (± 3.53%) ~ 77ms 84ms p=0.789 n=6
xstateTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,927ms (± 0.48%) 3,957ms (± 0.54%) +30ms (+ 0.77%) 3,926ms 3,984ms p=0.030 n=6
Req 2 - geterr 2,198ms (± 0.60%) 2,202ms (± 1.17%) ~ 2,174ms 2,238ms p=1.000 n=6
Req 3 - references 183ms (± 1.94%) 204ms (± 2.81%) 🔻+21ms (+11.18%) 197ms 213ms p=0.005 n=6
Req 4 - navto 529ms (± 1.75%) 528ms (± 2.22%) ~ 510ms 547ms p=1.000 n=6
Req 5 - completionInfo count 2,079 (± 0.00%) 2,079 (± 0.00%) ~ 2,079 2,079 p=1.000 n=6
Req 5 - completionInfo 451ms (± 0.61%) 443ms (± 1.86%) ~ 433ms 456ms p=0.060 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)
  • xstateTSServer - 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 223.23ms (± 0.18%) 223.70ms (± 0.19%) +0.47ms (+ 0.21%) 221.32ms 230.09ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 342.60ms (± 0.29%) 342.00ms (± 0.30%) -0.60ms (- 0.18%) 334.35ms 348.03ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 223.58ms (± 0.15%) 223.16ms (± 0.15%) -0.42ms (- 0.19%) 221.75ms 228.02ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 223.23ms (± 0.17%) 222.90ms (± 0.15%) -0.34ms (- 0.15%) 221.34ms 228.20ms 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

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 16, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 296,989k (± 0.01%) 298,099k (± 0.01%) +1,111k (+ 0.37%) 298,075k 298,123k p=0.005 n=6
Parse Time 2.69s (± 0.33%) 2.70s (± 0.23%) ~ 2.69s 2.71s p=0.070 n=6
Bind Time 0.82s (± 0.50%) 0.82s (± 0.50%) ~ 0.82s 0.83s p=1.000 n=6
Check Time 8.32s (± 0.36%) 8.33s (± 0.33%) ~ 8.28s 8.36s p=0.517 n=6
Emit Time 7.06s (± 0.27%) 7.09s (± 0.41%) ~ 7.06s 7.13s p=0.075 n=6
Total Time 18.89s (± 0.28%) 18.94s (± 0.28%) ~ 18.87s 19.01s p=0.149 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 192,965k (± 0.97%) 193,098k (± 0.77%) ~ 192,452k 196,134k p=0.230 n=6
Parse Time 2.01s (± 0.63%) 2.06s (± 0.75%) +0.05s (+ 2.49%) 2.05s 2.09s p=0.004 n=6
Bind Time 1.07s (± 1.24%) 1.07s (± 0.84%) ~ 1.06s 1.08s p=0.932 n=6
Check Time 14.05s (± 0.32%) 14.09s (± 0.29%) ~ 14.06s 14.17s p=0.146 n=6
Emit Time 3.88s (± 0.56%) 3.88s (± 0.35%) ~ 3.86s 3.90s p=0.368 n=6
Total Time 21.00s (± 0.29%) 21.11s (± 0.21%) +0.11s (+ 0.52%) 21.05s 21.16s p=0.012 n=6
Monaco - node (v18.15.0, x64)
Memory used 348,869k (± 0.01%) 349,977k (± 0.01%) +1,109k (+ 0.32%) 349,951k 350,001k p=0.005 n=6
Parse Time 3.84s (± 1.08%) 3.80s (± 0.96%) ~ 3.76s 3.85s p=0.107 n=6
Bind Time 1.32s (± 0.62%) 1.31s (± 0.75%) -0.02s (- 1.13%) 1.30s 1.32s p=0.031 n=6
Check Time 10.29s (± 0.29%) 10.27s (± 0.13%) ~ 10.25s 10.28s p=0.084 n=6
Emit Time 5.99s (± 0.51%) 6.00s (± 0.31%) ~ 5.97s 6.02s p=0.328 n=6
Total Time 21.44s (± 0.36%) 21.38s (± 0.14%) ~ 21.35s 21.42s p=0.227 n=6
TFS - node (v18.15.0, x64)
Memory used 303,002k (± 0.01%) 303,985k (± 0.00%) +983k (+ 0.32%) 303,977k 303,992k p=0.005 n=6
Parse Time 2.45s (± 0.72%) 2.47s (± 0.80%) ~ 2.44s 2.50s p=0.120 n=6
Bind Time 1.19s (± 1.23%) 1.16s (± 0.44%) -0.03s (- 2.38%) 1.16s 1.17s p=0.007 n=6
Check Time 7.60s (± 0.28%) 7.60s (± 0.35%) ~ 7.55s 7.63s p=0.871 n=6
Emit Time 4.28s (± 1.02%) 4.27s (± 0.58%) ~ 4.24s 4.31s p=0.573 n=6
Total Time 15.51s (± 0.43%) 15.50s (± 0.33%) ~ 15.42s 15.57s p=0.872 n=6
material-ui - node (v18.15.0, x64)
Memory used 511,605k (± 0.01%) 513,189k (± 0.01%) +1,584k (+ 0.31%) 513,126k 513,275k p=0.005 n=6
Parse Time 3.25s (± 0.54%) 3.28s (± 0.74%) +0.03s (+ 0.97%) 3.26s 3.33s p=0.028 n=6
Bind Time 1.19s (± 0.98%) 1.15s (± 3.96%) 🟩-0.04s (- 3.23%) 1.06s 1.18s p=0.023 n=6
Check Time 20.43s (± 0.33%) 20.50s (± 0.34%) ~ 20.40s 20.57s p=0.148 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 24.88s (± 0.27%) 24.94s (± 0.32%) ~ 24.85s 25.04s p=0.335 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,749,534k (± 0.00%) 1,754,484k (± 0.00%) +4,950k (+ 0.28%) 1,754,390k 1,754,543k p=0.005 n=6
Parse Time 10.00s (± 0.41%) 10.00s (± 0.64%) ~ 9.94s 10.10s p=0.686 n=6
Bind Time 3.35s (± 0.31%) 3.27s (± 0.84%) -0.08s (- 2.29%) 3.24s 3.32s p=0.004 n=6
Check Time 82.01s (± 0.48%) 81.91s (± 0.43%) ~ 81.51s 82.36s p=0.873 n=6
Emit Time 0.20s (± 5.47%) 0.20s (± 5.07%) ~ 0.19s 0.22s p=0.546 n=6
Total Time 95.56s (± 0.42%) 95.38s (± 0.37%) ~ 95.04s 95.85s p=0.575 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,306,929k (± 0.04%) 2,326,086k (± 0.03%) +19,157k (+ 0.83%) 2,325,250k 2,327,232k p=0.005 n=6
Parse Time 7.39s (± 0.69%) 7.35s (± 0.84%) ~ 7.28s 7.45s p=0.298 n=6
Bind Time 2.74s (± 0.43%) 2.73s (± 0.59%) ~ 2.70s 2.74s p=0.288 n=6
Check Time 49.30s (± 0.73%) 49.35s (± 0.63%) ~ 48.98s 49.91s p=0.575 n=6
Emit Time 3.97s (± 3.15%) 3.84s (± 2.29%) ~ 3.76s 4.00s p=0.066 n=6
Total Time 63.40s (± 0.62%) 63.29s (± 0.48%) ~ 62.93s 63.80s p=0.689 n=6
self-build-src-public-api - node (v18.15.0, x64)
Memory used 2,381,150k (± 0.03%) 2,825,562k (± 5.13%) 🔻+444,412k (+18.66%) 2,765,373k 3,121,611k p=0.005 n=6
Parse Time 6.18s (± 0.95%) 6.15s (± 1.18%) ~ 6.03s 6.25s p=0.378 n=6
Bind Time 2.07s (± 0.94%) 1.93s (± 1.54%) 🟩-0.14s (- 6.84%) 1.89s 1.98s p=0.005 n=6
Check Time 40.14s (± 0.14%) 40.02s (± 1.09%) ~ 39.76s 40.90s p=0.066 n=6
Emit Time 3.27s (± 6.41%) 3.01s (± 3.02%) 🟩-0.26s (- 7.85%) 2.87s 3.14s p=0.020 n=6
Total Time 51.67s (± 0.53%) 51.12s (± 0.69%) -0.55s (- 1.06%) 50.86s 51.81s p=0.031 n=6
self-compiler - node (v18.15.0, x64)
Memory used 419,102k (± 0.03%) 428,926k (± 0.00%) +9,824k (+ 2.34%) 428,911k 428,937k p=0.005 n=6
Parse Time 2.79s (± 2.02%) 2.82s (± 0.66%) ~ 2.79s 2.84s p=0.567 n=6
Bind Time 1.10s (± 2.66%) 1.09s (± 0.47%) ~ 1.08s 1.09s p=0.198 n=6
Check Time 15.30s (± 0.37%) 15.65s (± 0.40%) +0.35s (+ 2.28%) 15.59s 15.77s p=0.005 n=6
Emit Time 1.15s (± 2.17%) 1.13s (± 0.72%) ~ 1.12s 1.14s p=0.070 n=6
Total Time 20.35s (± 0.40%) 20.69s (± 0.28%) +0.34s (+ 1.68%) 20.63s 20.79s p=0.005 n=6
vscode - node (v18.15.0, x64)
Memory used 2,914,798k (± 0.00%) 2,927,326k (± 0.01%) +12,529k (+ 0.43%) 2,927,141k 2,927,621k p=0.005 n=6
Parse Time 13.42s (± 0.43%) 13.44s (± 0.57%) ~ 13.36s 13.53s p=0.871 n=6
Bind Time 4.20s (± 2.22%) 4.10s (± 1.85%) ~ 4.07s 4.26s p=0.070 n=6
Check Time 72.60s (± 0.31%) 72.39s (± 0.69%) ~ 71.87s 73.27s p=0.173 n=6
Emit Time 19.54s (± 0.95%) 20.16s (± 7.38%) ~ 19.28s 23.07s p=0.810 n=6
Total Time 109.77s (± 0.31%) 110.10s (± 1.28%) ~ 108.95s 112.45s p=0.470 n=6
webpack - node (v18.15.0, x64)
Memory used 409,387k (± 0.01%) 411,164k (± 0.02%) +1,778k (+ 0.43%) 411,080k 411,286k p=0.005 n=6
Parse Time 3.29s (± 0.74%) 3.27s (± 1.07%) ~ 3.22s 3.31s p=0.746 n=6
Bind Time 1.38s (± 0.71%) 1.39s (± 0.76%) ~ 1.37s 1.40s p=0.673 n=6
Check Time 14.35s (± 0.15%) 14.36s (± 0.23%) ~ 14.31s 14.41s p=0.686 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 19.02s (± 0.19%) 19.01s (± 0.19%) ~ 18.94s 19.04s p=0.808 n=6
xstate - node (v18.15.0, x64)
Memory used 672,001k (± 0.01%) 672,477k (± 0.02%) +477k (+ 0.07%) 672,316k 672,652k p=0.005 n=6
Parse Time 5.07s (± 0.24%) 5.08s (± 0.42%) ~ 5.05s 5.11s p=0.520 n=6
Bind Time 2.31s (± 0.18%) 2.31s (± 0.45%) ~ 2.30s 2.33s p=0.390 n=6
Check Time 4.31s (± 0.99%) 4.30s (± 1.24%) ~ 4.25s 4.38s p=1.000 n=6
Emit Time 0.03s (±12.88%) 0.03s (± 0.00%) ~ 0.03s 0.03s p=0.405 n=6
Total Time 11.73s (± 0.43%) 11.73s (± 0.55%) ~ 11.64s 11.81s p=1.000 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - node (v18.15.0, x64)
  • Monaco - node (v18.15.0, x64)
  • TFS - node (v18.15.0, x64)
  • material-ui - 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)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate - 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,343ms (± 0.94%) 2,372ms (± 0.84%) +29ms (+ 1.25%) 2,337ms 2,388ms p=0.045 n=6
Req 2 - geterr 5,150ms (± 1.88%) 5,122ms (± 0.80%) ~ 5,059ms 5,171ms p=0.810 n=6
Req 3 - references 288ms (± 2.30%) 284ms (± 0.52%) ~ 282ms 286ms p=0.685 n=6
Req 4 - navto 226ms (± 0.90%) 223ms (± 0.77%) ~ 220ms 225ms p=0.061 n=6
Req 5 - completionInfo count 1,357 (± 0.00%) 1,357 (± 0.00%) ~ 1,357 1,357 p=1.000 n=6
Req 5 - completionInfo 84ms (± 8.53%) 89ms (± 6.23%) ~ 78ms 92ms p=0.413 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,495ms (± 1.09%) 2,499ms (± 0.80%) ~ 2,467ms 2,517ms p=0.521 n=6
Req 2 - geterr 3,875ms (± 1.80%) 3,833ms (± 1.55%) -43ms (- 1.10%) 3,798ms 3,953ms p=0.031 n=6
Req 3 - references 304ms (± 1.58%) 298ms (± 0.62%) -6ms (- 2.08%) 296ms 301ms p=0.036 n=6
Req 4 - navto 228ms (± 1.06%) 227ms (± 0.36%) ~ 226ms 228ms p=1.000 n=6
Req 5 - completionInfo count 1,519 (± 0.00%) 1,519 (± 0.00%) ~ 1,519 1,519 p=1.000 n=6
Req 5 - completionInfo 81ms (± 6.05%) 79ms (± 4.69%) ~ 73ms 84ms p=0.459 n=6
xstateTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,177ms (± 0.29%) 3,976ms (± 0.68%) 🔻+799ms (+25.15%) 3,935ms 4,010ms p=0.005 n=6
Req 2 - geterr 1,969ms (±12.04%) 2,214ms (± 0.76%) 🔻+245ms (+12.46%) 2,194ms 2,238ms p=0.016 n=6
Req 3 - references 181ms (± 7.67%) 202ms (± 2.36%) 🔻+21ms (+11.73%) 197ms 210ms p=0.006 n=6
Req 4 - navto 531ms (± 1.02%) 523ms (± 0.81%) -8ms (- 1.48%) 519ms 531ms p=0.030 n=6
Req 5 - completionInfo count 2,079 (± 0.00%) 2,079 (± 0.00%) ~ 2,079 2,079 p=1.000 n=6
Req 5 - completionInfo 447ms (± 1.70%) 440ms (± 1.31%) ~ 433ms 448ms p=0.092 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)
  • xstateTSServer - 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 223.01ms (± 0.16%) 223.48ms (± 0.22%) +0.48ms (+ 0.21%) 221.58ms 231.42ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 227.92ms (± 0.14%) 227.66ms (± 0.14%) -0.27ms (- 0.12%) 226.39ms 232.60ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 224.27ms (± 0.17%) 223.91ms (± 0.15%) -0.36ms (- 0.16%) 222.64ms 229.95ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 223.00ms (± 0.15%) 222.75ms (± 0.15%) -0.25ms (- 0.11%) 221.31ms 229.34ms 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

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 17, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 297,025k (± 0.01%) 298,044k (± 0.00%) +1,019k (+ 0.34%) 298,024k 298,058k p=0.005 n=6
Parse Time 4.04s (± 0.21%) 4.00s (± 0.56%) -0.03s (- 0.74%) 3.97s 4.03s p=0.020 n=6
Bind Time 1.21s (± 0.45%) 1.21s (± 0.52%) ~ 1.20s 1.22s p=0.201 n=6
Check Time 12.10s (± 0.26%) 12.10s (± 0.14%) ~ 12.08s 12.13s p=0.870 n=6
Emit Time 10.48s (± 0.23%) 10.56s (± 1.41%) ~ 10.46s 10.85s p=0.421 n=6
Total Time 27.83s (± 0.17%) 27.87s (± 0.53%) ~ 27.75s 28.15s p=0.872 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 193,000k (± 0.95%) 192,425k (± 0.08%) ~ 192,113k 192,544k p=0.378 n=6
Parse Time 2.03s (± 0.25%) 2.03s (± 2.11%) ~ 1.97s 2.06s p=0.366 n=6
Bind Time 1.07s (± 1.13%) 1.07s (± 1.24%) ~ 1.06s 1.09s p=0.931 n=6
Check Time 14.08s (± 0.51%) 14.04s (± 0.21%) ~ 14.00s 14.08s p=0.686 n=6
Emit Time 3.87s (± 0.91%) 3.92s (± 3.93%) ~ 3.81s 4.23s p=0.873 n=6
Total Time 21.04s (± 0.37%) 21.06s (± 0.68%) ~ 20.90s 21.33s p=1.000 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,751,065k (± 0.00%) 1,756,047k (± 0.00%) +4,983k (+ 0.28%) 1,756,009k 1,756,092k p=0.005 n=6
Parse Time 9.92s (± 0.29%) 9.96s (± 0.31%) +0.04s (+ 0.45%) 9.94s 10.02s p=0.030 n=6
Bind Time 3.32s (± 0.78%) 3.33s (± 0.36%) ~ 3.31s 3.34s p=0.217 n=6
Check Time 81.78s (± 0.45%) 82.06s (± 0.66%) ~ 81.47s 82.97s p=0.471 n=6
Emit Time 0.20s (± 2.06%) 0.20s (± 0.00%) ~ 0.20s 0.20s p=0.405 n=6
Total Time 95.22s (± 0.40%) 95.55s (± 0.56%) ~ 94.96s 96.46s p=0.378 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,308,089k (± 0.05%) 2,327,124k (± 0.02%) +19,035k (+ 0.82%) 2,326,417k 2,327,630k p=0.005 n=6
Parse Time 6.05s (± 0.68%) 6.06s (± 1.36%) ~ 5.96s 6.15s p=0.689 n=6
Bind Time 2.23s (± 0.46%) 2.19s (± 1.18%) -0.04s (- 1.72%) 2.16s 2.23s p=0.008 n=6
Check Time 39.95s (± 0.69%) 39.91s (± 0.17%) ~ 39.80s 40.00s p=0.936 n=6
Emit Time 3.16s (± 2.95%) 3.14s (± 2.17%) ~ 3.08s 3.27s p=0.378 n=6
Total Time 51.43s (± 0.58%) 51.34s (± 0.17%) ~ 51.22s 51.45s p=0.298 n=6
self-build-src-public-api - node (v18.15.0, x64)
Memory used 2,382,763k (± 0.03%) 2,590,422k (± 7.52%) 🔻+207,659k (+ 8.72%) 2,412,087k 2,769,017k p=0.005 n=6
Parse Time 6.20s (± 0.94%) 6.19s (± 1.31%) ~ 6.10s 6.31s p=0.630 n=6
Bind Time 2.08s (± 2.21%) 1.98s (± 0.81%) 🟩-0.09s (- 4.57%) 1.95s 1.99s p=0.005 n=6
Check Time 40.13s (± 0.33%) 40.21s (± 0.64%) ~ 39.93s 40.52s p=0.873 n=6
Emit Time 3.24s (± 4.42%) 3.05s (± 2.83%) 🟩-0.19s (- 5.76%) 2.93s 3.15s p=0.037 n=6
Total Time 51.65s (± 0.44%) 51.45s (± 0.46%) ~ 51.18s 51.73s p=0.173 n=6
self-compiler - node (v18.15.0, x64)
Memory used 419,460k (± 0.01%) 429,273k (± 0.00%) +9,813k (+ 2.34%) 429,260k 429,294k p=0.005 n=6
Parse Time 4.21s (± 0.32%) 4.20s (± 0.66%) ~ 4.15s 4.23s p=0.682 n=6
Bind Time 1.58s (± 2.04%) 1.60s (± 0.51%) ~ 1.59s 1.61s p=0.250 n=6
Check Time 22.23s (± 0.43%) 22.88s (± 0.26%) +0.65s (+ 2.92%) 22.80s 22.93s p=0.005 n=6
Emit Time 1.73s (± 0.60%) 1.58s (± 1.38%) 🟩-0.15s (- 8.78%) 1.55s 1.61s p=0.005 n=6
Total Time 29.73s (± 0.30%) 30.25s (± 0.27%) +0.52s (+ 1.75%) 30.13s 30.36s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Memory used 368,983k (± 0.02%) 370,604k (± 0.02%) +1,621k (+ 0.44%) 370,533k 370,676k p=0.005 n=6
Parse Time 2.95s (± 0.79%) 2.95s (± 0.75%) ~ 2.92s 2.98s p=1.000 n=6
Bind Time 1.58s (± 0.62%) 1.58s (± 0.74%) ~ 1.57s 1.60s p=1.000 n=6
Check Time 15.69s (± 0.36%) 15.66s (± 0.17%) ~ 15.62s 15.69s p=0.295 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.22s (± 0.22%) 20.19s (± 0.25%) ~ 20.12s 20.25s p=0.378 n=6
vscode - node (v18.15.0, x64)
Memory used 2,915,492k (± 0.01%) 2,928,157k (± 0.00%) +12,665k (+ 0.43%) 2,928,119k 2,928,179k p=0.005 n=6
Parse Time 16.46s (± 0.32%) 16.44s (± 0.16%) ~ 16.39s 16.47s p=0.517 n=6
Bind Time 4.91s (± 0.33%) 4.92s (± 0.40%) ~ 4.89s 4.94s p=0.145 n=6
Check Time 87.39s (± 0.29%) 87.92s (± 0.59%) +0.53s (+ 0.60%) 87.37s 88.80s p=0.037 n=6
Emit Time 24.12s (± 5.07%) 23.52s (± 0.66%) ~ 23.32s 23.75s p=0.199 n=6
Total Time 132.88s (± 1.06%) 132.80s (± 0.48%) ~ 132.18s 133.87s p=0.471 n=6
webpack - node (v18.15.0, x64)
Memory used 409,497k (± 0.02%) 411,311k (± 0.03%) +1,814k (+ 0.44%) 411,203k 411,478k p=0.005 n=6
Parse Time 4.82s (± 0.78%) 4.82s (± 0.72%) ~ 4.77s 4.86s p=0.809 n=6
Bind Time 2.01s (± 0.70%) 2.02s (± 0.66%) ~ 2.00s 2.04s p=0.366 n=6
Check Time 20.99s (± 0.49%) 20.91s (± 0.23%) ~ 20.85s 20.97s p=0.127 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 27.83s (± 0.31%) 27.75s (± 0.24%) ~ 27.65s 27.84s p=0.127 n=6
xstate-main - node (v18.15.0, x64)
Memory used 458,915k (± 0.01%) 460,721k (± 0.01%) +1,806k (+ 0.39%) 460,657k 460,771k p=0.005 n=6
Parse Time 2.68s (± 0.75%) 2.67s (± 0.97%) ~ 2.64s 2.71s p=0.255 n=6
Bind Time 0.98s (± 0.42%) 0.98s (± 0.42%) ~ 0.98s 0.99s p=0.218 n=6
Check Time 15.38s (± 0.21%) 15.30s (± 0.23%) -0.08s (- 0.54%) 15.26s 15.33s p=0.009 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 19.04s (± 0.23%) 18.95s (± 0.24%) -0.09s (- 0.48%) 18.90s 19.02s p=0.016 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - 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,500ms (± 0.36%) 3,478ms (± 1.01%) ~ 3,429ms 3,518ms p=0.378 n=6
Req 2 - geterr 7,583ms (± 0.48%) 7,694ms (± 1.81%) ~ 7,566ms 7,891ms p=0.378 n=6
Req 3 - references 429ms (± 2.10%) 419ms (± 0.79%) -10ms (- 2.41%) 415ms 425ms p=0.012 n=6
Req 4 - navto 341ms (± 0.88%) 334ms (± 0.23%) -7ms (- 2.01%) 333ms 335ms p=0.005 n=6
Req 5 - completionInfo count 1,357 (± 0.00%) 1,357 (± 0.00%) ~ 1,357 1,357 p=1.000 n=6
Req 5 - completionInfo 115ms (± 3.39%) 134ms (± 0.77%) 🔻+19ms (+16.23%) 132ms 135ms p=0.005 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,998ms (± 3.94%) 2,959ms (± 0.64%) ~ 2,937ms 2,988ms p=1.000 n=6
Req 2 - geterr 4,807ms (± 9.11%) 4,902ms (±11.80%) ~ 4,521ms 5,652ms p=0.229 n=6
Req 3 - references 382ms (± 9.56%) 371ms (± 4.19%) ~ 354ms 386ms p=0.748 n=6
Req 4 - navto 302ms (±10.64%) 289ms (± 7.25%) ~ 278ms 331ms p=0.374 n=6
Req 5 - completionInfo count 1,519 (± 0.00%) 1,519 (± 0.00%) ~ 1,519 1,519 p=1.000 n=6
Req 5 - completionInfo 108ms (±16.87%) 101ms (± 0.51%) ~ 100ms 101ms p=0.560 n=6
xstateTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,653ms (± 0.21%) 2,663ms (± 0.13%) +10ms (+ 0.38%) 2,659ms 2,669ms p=0.008 n=6
Req 2 - geterr 1,482ms (± 0.65%) 1,483ms (± 0.86%) ~ 1,466ms 1,498ms p=1.000 n=6
Req 3 - references 139ms (± 8.84%) 147ms (± 6.16%) ~ 140ms 159ms p=0.377 n=6
Req 4 - navto 348ms (± 0.22%) 348ms (± 0.34%) ~ 347ms 350ms p=0.933 n=6
Req 5 - completionInfo count 2,079 (± 0.00%) 2,079 (± 0.00%) ~ 2,079 2,079 p=1.000 n=6
Req 5 - completionInfo 298ms (± 0.89%) 293ms (± 0.40%) -5ms (- 1.51%) 292ms 295ms p=0.009 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)
  • xstateTSServer - 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 184.90ms (± 0.15%) 185.65ms (± 0.19%) +0.75ms (+ 0.41%) 183.66ms 190.67ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 342.87ms (± 0.30%) 342.49ms (± 0.29%) -0.38ms (- 0.11%) 334.12ms 346.95ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 224.79ms (± 0.82%) 224.16ms (± 0.15%) -0.63ms (- 0.28%) 222.90ms 226.94ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 331.80ms (± 0.29%) 331.48ms (± 0.29%) -0.32ms (- 0.10%) 322.97ms 340.88ms 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

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 17, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 297,027k (± 0.00%) 298,790k (± 0.01%) +1,763k (+ 0.59%) 298,772k 298,826k p=0.005 n=6
Parse Time 4.06s (± 0.46%) 4.05s (± 0.64%) ~ 4.01s 4.08s p=1.000 n=6
Bind Time 1.21s (± 0.45%) 1.21s (± 0.67%) ~ 1.20s 1.22s p=0.859 n=6
Check Time 12.15s (± 0.42%) 12.11s (± 0.38%) ~ 12.07s 12.20s p=0.170 n=6
Emit Time 10.52s (± 0.36%) 10.51s (± 0.35%) ~ 10.46s 10.56s p=0.372 n=6
Total Time 27.95s (± 0.19%) 27.88s (± 0.32%) ~ 27.82s 28.05s p=0.127 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 193,030k (± 0.98%) 193,407k (± 0.76%) ~ 192,705k 196,401k p=0.229 n=6
Parse Time 2.02s (± 2.26%) 2.04s (± 1.01%) ~ 2.02s 2.07s p=0.413 n=6
Bind Time 1.07s (± 0.76%) 1.07s (± 0.84%) ~ 1.06s 1.08s p=0.550 n=6
Check Time 14.03s (± 0.59%) 14.07s (± 0.23%) ~ 14.02s 14.11s p=0.226 n=6
Emit Time 3.85s (± 1.20%) 3.88s (± 1.22%) ~ 3.83s 3.97s p=0.571 n=6
Total Time 20.97s (± 0.31%) 21.07s (± 0.31%) +0.10s (+ 0.47%) 20.98s 21.16s p=0.030 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,751,136k (± 0.00%) 1,757,583k (± 0.00%) +6,446k (+ 0.37%) 1,757,488k 1,757,717k p=0.005 n=6
Parse Time 8.03s (± 0.49%) 8.06s (± 0.63%) ~ 7.99s 8.13s p=0.196 n=6
Bind Time 2.71s (± 0.40%) 2.69s (± 0.30%) -0.02s (- 0.62%) 2.68s 2.70s p=0.027 n=6
Check Time 67.04s (± 0.33%) 66.83s (± 0.44%) ~ 66.53s 67.35s p=0.173 n=6
Emit Time 0.16s (± 4.99%) 0.16s (± 2.52%) ~ 0.16s 0.17s p=1.000 n=6
Total Time 77.94s (± 0.32%) 77.74s (± 0.39%) ~ 77.51s 78.31s p=0.199 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,307,391k (± 0.05%) 2,388,514k (± 6.08%) +81,124k (+ 3.52%) 2,328,561k 2,685,074k p=0.005 n=6
Parse Time 7.40s (± 0.81%) 7.45s (± 0.73%) ~ 7.36s 7.50s p=0.199 n=6
Bind Time 2.72s (± 1.05%) 2.69s (± 0.53%) -0.03s (- 1.22%) 2.67s 2.71s p=0.010 n=6
Check Time 49.14s (± 0.69%) 49.00s (± 0.72%) ~ 48.61s 49.61s p=0.689 n=6
Emit Time 3.94s (± 2.79%) 3.82s (± 2.82%) ~ 3.62s 3.94s p=0.128 n=6
Total Time 63.21s (± 0.44%) 62.94s (± 0.53%) ~ 62.60s 63.47s p=0.173 n=6
self-build-src-public-api - node (v18.15.0, x64)
Memory used 2,381,274k (± 0.03%) 2,413,560k (± 0.04%) +32,287k (+ 1.36%) 2,412,379k 2,414,701k p=0.005 n=6
Parse Time 6.20s (± 0.78%) 6.13s (± 1.11%) ~ 6.05s 6.23s p=0.054 n=6
Bind Time 2.06s (± 1.34%) 1.97s (± 1.10%) 🟩-0.09s (- 4.61%) 1.94s 1.99s p=0.005 n=6
Check Time 40.37s (± 0.34%) 40.48s (± 0.32%) ~ 40.28s 40.67s p=0.173 n=6
Emit Time 3.15s (± 3.09%) 3.03s (± 2.02%) 🟩-0.13s (- 4.01%) 2.94s 3.13s p=0.020 n=6
Total Time 51.81s (± 0.25%) 51.61s (± 0.35%) ~ 51.34s 51.88s p=0.066 n=6
self-compiler - node (v18.15.0, x64)
Memory used 419,413k (± 0.01%) 430,005k (± 0.01%) +10,592k (+ 2.53%) 429,945k 430,073k p=0.005 n=6
Parse Time 2.79s (± 0.59%) 2.74s (± 2.79%) ~ 2.64s 2.82s p=0.418 n=6
Bind Time 1.08s (± 2.08%) 1.11s (± 5.22%) ~ 1.05s 1.20s p=0.571 n=6
Check Time 15.29s (± 0.53%) 15.65s (± 0.34%) +0.36s (+ 2.37%) 15.57s 15.71s p=0.005 n=6
Emit Time 1.14s (± 0.96%) 1.12s (± 0.67%) -0.02s (- 1.90%) 1.11s 1.13s p=0.013 n=6
Total Time 20.31s (± 0.35%) 20.62s (± 0.29%) +0.31s (+ 1.53%) 20.53s 20.68s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Memory used 368,934k (± 0.01%) 371,326k (± 0.03%) +2,393k (+ 0.65%) 371,212k 371,576k p=0.005 n=6
Parse Time 2.94s (± 0.35%) 2.98s (± 0.72%) +0.04s (+ 1.36%) 2.95s 3.01s p=0.006 n=6
Bind Time 1.58s (± 1.33%) 1.58s (± 1.03%) ~ 1.56s 1.61s p=0.933 n=6
Check Time 15.69s (± 0.28%) 15.69s (± 0.39%) ~ 15.60s 15.76s p=1.000 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.21s (± 0.16%) 20.25s (± 0.25%) ~ 20.18s 20.30s p=0.195 n=6
vscode - node (v18.15.0, x64)
Memory used 2,915,813k (± 0.00%) 2,934,160k (± 0.00%) +18,347k (+ 0.63%) 2,933,892k 2,934,291k p=0.005 n=6
Parse Time 11.25s (± 0.12%) 11.32s (± 0.25%) +0.07s (+ 0.67%) 11.28s 11.36s p=0.005 n=6
Bind Time 3.41s (± 0.24%) 3.44s (± 2.55%) ~ 3.38s 3.56s p=0.373 n=6
Check Time 62.62s (± 0.67%) 62.76s (± 0.33%) ~ 62.48s 63.02s p=0.471 n=6
Emit Time 16.55s (± 0.82%) 18.24s (±10.11%) ~ 16.37s 20.06s p=0.128 n=6
Total Time 93.82s (± 0.52%) 95.77s (± 1.93%) ~ 93.99s 97.67s p=0.066 n=6
webpack - node (v18.15.0, x64)
Memory used 409,389k (± 0.01%) 411,990k (± 0.01%) +2,601k (+ 0.64%) 411,940k 412,058k p=0.005 n=6
Parse Time 3.23s (± 1.23%) 3.23s (± 1.15%) ~ 3.19s 3.28s p=0.684 n=6
Bind Time 1.38s (± 0.76%) 1.38s (± 0.59%) ~ 1.38s 1.40s p=0.180 n=6
Check Time 14.40s (± 0.39%) 14.38s (± 0.27%) ~ 14.31s 14.42s p=0.570 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 19.01s (± 0.36%) 18.98s (± 0.31%) ~ 18.89s 19.03s p=0.567 n=6
xstate-main - node (v18.15.0, x64)
Memory used 458,988k (± 0.01%) 461,482k (± 0.01%) +2,495k (+ 0.54%) 461,451k 461,525k p=0.005 n=6
Parse Time 3.99s (± 0.49%) 3.99s (± 0.53%) ~ 3.96s 4.02s p=0.627 n=6
Bind Time 1.48s (± 1.01%) 1.45s (± 0.58%) -0.04s (- 2.58%) 1.44s 1.46s p=0.004 n=6
Check Time 22.29s (± 0.66%) 22.38s (± 0.36%) ~ 22.28s 22.49s p=0.378 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 27.76s (± 0.46%) 27.81s (± 0.30%) ~ 27.73s 27.93s p=0.520 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - 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,995ms (± 9.37%) 2,856ms (± 0.19%) ~ 2,849ms 2,862ms p=0.873 n=6
Req 2 - geterr 6,465ms (± 8.16%) 6,592ms (± 9.81%) ~ 6,120ms 7,473ms p=0.748 n=6
Req 3 - references 385ms (±11.01%) 382ms (±11.72%) ~ 337ms 424ms p=0.520 n=6
Req 4 - navto 305ms (±10.89%) 311ms (± 9.48%) ~ 274ms 341ms p=1.000 n=6
Req 5 - completionInfo count 1,357 (± 0.00%) 1,357 (± 0.00%) ~ 1,357 1,357 p=1.000 n=6
Req 5 - completionInfo 118ms (± 9.04%) 127ms (± 9.82%) ~ 116ms 142ms p=0.091 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,666ms (± 0.78%) 3,662ms (± 0.45%) ~ 3,642ms 3,690ms p=0.936 n=6
Req 2 - geterr 5,829ms (± 1.87%) 5,638ms (± 0.51%) 🟩-191ms (- 3.27%) 5,585ms 5,663ms p=0.005 n=6
Req 3 - references 448ms (± 1.90%) 440ms (± 0.41%) -8ms (- 1.71%) 437ms 442ms p=0.030 n=6
Req 4 - navto 338ms (± 0.89%) 339ms (± 1.02%) ~ 337ms 346ms p=0.622 n=6
Req 5 - completionInfo count 1,519 (± 0.00%) 1,519 (± 0.00%) ~ 1,519 1,519 p=1.000 n=6
Req 5 - completionInfo 113ms (± 7.48%) 124ms (± 0.99%) ~ 121ms 124ms p=0.081 n=6
xstateTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,282ms (± 6.57%) 3,771ms (± 8.25%) ~ 3,171ms 3,968ms p=0.093 n=6
Req 2 - geterr 1,900ms (±11.93%) 2,048ms (±11.04%) ~ 1,752ms 2,207ms p=0.199 n=6
Req 3 - references 179ms (± 6.92%) 194ms (±12.38%) ~ 146ms 211ms p=0.065 n=6
Req 4 - navto 528ms (± 1.81%) 503ms (± 8.27%) ~ 419ms 528ms p=0.226 n=6
Req 5 - completionInfo count 2,079 (± 0.00%) 2,079 (± 0.00%) ~ 2,079 2,079 p=1.000 n=6
Req 5 - completionInfo 454ms (± 1.15%) 423ms (± 8.82%) 🟩-31ms (- 6.73%) 350ms 456ms p=0.029 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)
  • xstateTSServer - 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 154.46ms (± 0.19%) 154.81ms (± 0.16%) +0.35ms (+ 0.23%) 153.79ms 158.71ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 228.74ms (± 0.15%) 228.83ms (± 0.18%) +0.10ms (+ 0.04%) 227.35ms 235.67ms p=0.026 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 333.24ms (± 0.20%) 332.89ms (± 0.28%) ~ 324.18ms 341.50ms p=0.097 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 330.15ms (± 0.29%) 330.14ms (± 0.30%) ~ 322.09ms 333.49ms p=0.390 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

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 18, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 297,038k (± 0.01%) 298,791k (± 0.01%) +1,753k (+ 0.59%) 298,754k 298,820k p=0.005 n=6
Parse Time 4.03s (± 0.29%) 4.04s (± 0.76%) ~ 4.00s 4.08s p=0.418 n=6
Bind Time 1.22s (± 0.73%) 1.22s (± 0.67%) ~ 1.21s 1.23s p=0.550 n=6
Check Time 12.10s (± 0.27%) 12.12s (± 0.39%) ~ 12.04s 12.17s p=0.747 n=6
Emit Time 10.49s (± 0.42%) 10.50s (± 0.27%) ~ 10.45s 10.53s p=0.414 n=6
Total Time 27.85s (± 0.08%) 27.87s (± 0.25%) ~ 27.79s 27.98s p=0.627 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 193,601k (± 0.99%) 192,723k (± 0.02%) ~ 192,673k 192,760k p=1.000 n=6
Parse Time 1.64s (± 1.02%) 1.65s (± 1.29%) ~ 1.61s 1.67s p=0.138 n=6
Bind Time 0.87s (± 1.34%) 0.87s (± 0.63%) ~ 0.86s 0.87s p=0.342 n=6
Check Time 11.31s (± 0.45%) 11.33s (± 0.40%) ~ 11.28s 11.39s p=0.571 n=6
Emit Time 3.14s (± 0.66%) 3.14s (± 0.62%) ~ 3.12s 3.17s p=0.807 n=6
Total Time 16.97s (± 0.37%) 16.99s (± 0.43%) ~ 16.92s 17.07s p=0.810 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,751,114k (± 0.00%) 1,757,569k (± 0.00%) +6,455k (+ 0.37%) 1,757,509k 1,757,621k p=0.005 n=6
Parse Time 8.02s (± 0.64%) 8.04s (± 0.48%) ~ 7.96s 8.07s p=0.415 n=6
Bind Time 2.70s (± 0.41%) 2.70s (± 0.60%) ~ 2.68s 2.72s p=0.680 n=6
Check Time 66.55s (± 0.55%) 66.59s (± 0.41%) ~ 66.08s 66.85s p=0.630 n=6
Emit Time 0.16s (± 0.00%) 0.16s (± 2.52%) ~ 0.16s 0.17s p=0.405 n=6
Total Time 77.42s (± 0.43%) 77.48s (± 0.31%) ~ 77.03s 77.65s p=0.470 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,306,838k (± 0.04%) 2,447,979k (±11.86%) 🔻+141,141k (+ 6.12%) 2,328,828k 3,041,086k p=0.005 n=6
Parse Time 7.46s (± 0.60%) 7.40s (± 1.25%) ~ 7.33s 7.58s p=0.065 n=6
Bind Time 2.74s (± 0.73%) 2.70s (± 1.92%) ~ 2.61s 2.77s p=0.090 n=6
Check Time 49.26s (± 0.41%) 49.23s (± 0.80%) ~ 48.72s 49.93s p=0.810 n=6
Emit Time 3.96s (± 4.78%) 3.82s (± 1.76%) ~ 3.71s 3.92s p=0.093 n=6
Total Time 63.42s (± 0.43%) 63.16s (± 0.74%) ~ 62.51s 63.94s p=0.298 n=6
self-build-src-public-api - node (v18.15.0, x64)
Memory used 2,381,242k (± 0.03%) 2,414,137k (± 0.04%) +32,895k (+ 1.38%) 2,413,310k 2,415,659k p=0.005 n=6
Parse Time 7.68s (± 0.99%) 7.59s (± 1.28%) ~ 7.46s 7.69s p=0.149 n=6
Bind Time 2.55s (± 4.51%) 2.43s (± 0.55%) 🟩-0.12s (- 4.77%) 2.41s 2.44s p=0.005 n=6
Check Time 49.83s (± 0.46%) 49.92s (± 0.38%) ~ 49.69s 50.23s p=0.470 n=6
Emit Time 3.88s (± 1.52%) 3.76s (± 3.21%) ~ 3.62s 3.90s p=0.065 n=6
Total Time 63.96s (± 0.21%) 63.71s (± 0.44%) ~ 63.21s 63.97s p=0.093 n=6
self-compiler - node (v18.15.0, x64)
Memory used 419,409k (± 0.01%) 430,134k (± 0.01%) +10,725k (+ 2.56%) 430,104k 430,186k p=0.005 n=6
Parse Time 3.38s (± 0.31%) 3.40s (± 0.42%) ~ 3.38s 3.42s p=0.086 n=6
Bind Time 1.31s (± 1.87%) 1.28s (± 0.80%) ~ 1.27s 1.30s p=0.062 n=6
Check Time 18.06s (± 0.36%) 18.48s (± 0.20%) +0.42s (+ 2.33%) 18.43s 18.53s p=0.005 n=6
Emit Time 1.36s (± 0.77%) 1.33s (± 1.20%) -0.02s (- 1.72%) 1.31s 1.35s p=0.027 n=6
Total Time 24.11s (± 0.39%) 24.50s (± 0.20%) +0.39s (+ 1.61%) 24.44s 24.55s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Memory used 368,953k (± 0.02%) 371,291k (± 0.02%) +2,337k (+ 0.63%) 371,210k 371,388k p=0.005 n=6
Parse Time 2.94s (± 0.76%) 2.96s (± 1.31%) ~ 2.90s 3.01s p=0.462 n=6
Bind Time 1.58s (± 1.67%) 1.58s (± 1.18%) ~ 1.56s 1.61s p=0.870 n=6
Check Time 15.66s (± 0.23%) 15.72s (± 0.27%) +0.06s (+ 0.38%) 15.67s 15.77s p=0.024 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.18s (± 0.19%) 20.26s (± 0.19%) +0.08s (+ 0.40%) 20.21s 20.33s p=0.013 n=6
vscode - node (v18.15.0, x64)
Memory used 2,915,829k (± 0.00%) 2,934,107k (± 0.00%) +18,278k (+ 0.63%) 2,933,982k 2,934,225k p=0.005 n=6
Parse Time 16.48s (± 0.52%) 16.56s (± 0.17%) ~ 16.51s 16.59s p=0.064 n=6
Bind Time 4.90s (± 0.44%) 4.90s (± 0.29%) ~ 4.88s 4.92s p=1.000 n=6
Check Time 87.77s (± 0.47%) 87.96s (± 0.41%) ~ 87.57s 88.38s p=0.423 n=6
Emit Time 23.71s (± 0.48%) 25.38s (± 8.51%) ~ 23.60s 28.16s p=0.298 n=6
Total Time 132.86s (± 0.40%) 134.80s (± 1.63%) ~ 132.83s 138.00s p=0.066 n=6
webpack - node (v18.15.0, x64)
Memory used 409,451k (± 0.03%) 412,075k (± 0.01%) +2,625k (+ 0.64%) 412,038k 412,124k p=0.005 n=6
Parse Time 3.92s (± 1.06%) 3.93s (± 0.30%) ~ 3.92s 3.95s p=0.935 n=6
Bind Time 1.66s (± 1.34%) 1.66s (± 0.63%) ~ 1.64s 1.67s p=0.871 n=6
Check Time 16.95s (± 0.35%) 16.93s (± 0.40%) ~ 16.83s 17.00s p=0.810 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.53s (± 0.42%) 22.53s (± 0.35%) ~ 22.43s 22.61s p=0.748 n=6
xstate-main - node (v18.15.0, x64)
Memory used 458,932k (± 0.01%) 461,496k (± 0.01%) +2,565k (+ 0.56%) 461,431k 461,600k p=0.005 n=6
Parse Time 2.69s (± 0.99%) 2.69s (± 0.73%) ~ 2.66s 2.71s p=1.000 n=6
Bind Time 0.99s (± 0.41%) 0.97s (± 0.00%) -0.02s (- 1.85%) 0.97s 0.97s p=0.002 n=6
Check Time 15.32s (± 0.20%) 15.34s (± 0.25%) ~ 15.28s 15.38s p=0.226 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 19.00s (± 0.21%) 19.00s (± 0.25%) ~ 18.91s 19.05s p=0.747 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - 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,341ms (± 0.92%) 2,343ms (± 0.84%) ~ 2,326ms 2,379ms p=0.872 n=6
Req 2 - geterr 5,168ms (± 2.47%) 5,165ms (± 1.34%) ~ 5,104ms 5,273ms p=0.936 n=6
Req 3 - references 285ms (± 0.62%) 282ms (± 0.37%) -2ms (- 0.76%) 281ms 284ms p=0.048 n=6
Req 4 - navto 228ms (± 0.96%) 223ms (± 1.71%) -5ms (- 2.12%) 219ms 229ms p=0.041 n=6
Req 5 - completionInfo count 1,357 (± 0.00%) 1,357 (± 0.00%) ~ 1,357 1,357 p=1.000 n=6
Req 5 - completionInfo 81ms (± 7.76%) 92ms (± 5.50%) 🔻+12ms (+14.49%) 82ms 95ms p=0.009 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,480ms (± 0.99%) 2,487ms (± 1.18%) ~ 2,458ms 2,538ms p=0.873 n=6
Req 2 - geterr 3,956ms (± 1.42%) 3,805ms (± 0.19%) 🟩-151ms (- 3.81%) 3,791ms 3,811ms p=0.005 n=6
Req 3 - references 300ms (± 1.64%) 296ms (± 0.25%) -4ms (- 1.39%) 295ms 297ms p=0.006 n=6
Req 4 - navto 227ms (± 0.39%) 227ms (± 0.00%) ~ 227ms 227ms p=1.000 n=6
Req 5 - completionInfo count 1,519 (± 0.00%) 1,519 (± 0.00%) ~ 1,519 1,519 p=1.000 n=6
Req 5 - completionInfo 77ms (± 5.48%) 84ms (± 0.49%) 🔻+7ms (+ 9.11%) 83ms 84ms p=0.016 n=6
xstateTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,658ms (± 0.25%) 2,663ms (± 0.17%) ~ 2,659ms 2,671ms p=0.327 n=6
Req 2 - geterr 1,476ms (± 0.64%) 1,483ms (± 0.39%) ~ 1,474ms 1,491ms p=0.172 n=6
Req 3 - references 133ms (± 4.89%) 146ms (± 8.85%) ~ 124ms 159ms p=0.072 n=6
Req 4 - navto 348ms (± 0.26%) 349ms (± 0.72%) ~ 344ms 351ms p=0.367 n=6
Req 5 - completionInfo count 2,079 (± 0.00%) 2,079 (± 0.00%) ~ 2,079 2,079 p=1.000 n=6
Req 5 - completionInfo 297ms (± 0.66%) 295ms (± 0.90%) ~ 292ms 298ms p=0.190 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)
  • xstateTSServer - 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 155.69ms (± 0.18%) 155.92ms (± 0.15%) +0.24ms (+ 0.15%) 154.91ms 161.31ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 228.83ms (± 0.15%) 228.58ms (± 0.15%) -0.25ms (- 0.11%) 227.23ms 234.22ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 223.66ms (± 0.14%) 223.75ms (± 0.18%) +0.09ms (+ 0.04%) 222.19ms 229.53ms p=0.010 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 223.55ms (± 0.15%) 223.42ms (± 0.16%) -0.13ms (- 0.06%) 221.62ms 229.39ms p=0.003 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

@@ -503,15 +522,16 @@ export namespace Debug {
return formatEnum(facts, (ts as any).TypeFacts, /*isFlags*/ true);
}

const debugDescriptionSymbol = Symbol.for("debug.description");
Copy link
Member

Choose a reason for hiding this comment

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

This is super cool; I didn't realize this got added!

this.checker = checker;
}

getFlags(): TypeFlags {
Copy link
Member

Choose a reason for hiding this comment

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

I do wonder if we need to add some sort of lint rule for ourselves to prevent us from needlessly using the methods in the compiler, but I'm not sure how efficient that would be.

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 had a mechanism to handle that in an earlier commit. I could bring it back if we think it's necessary:

/**
* Resolves to a type only when the 'services' project is loaded. Otherwise, results in `never`.
* @internal
*/
export type ServicesOnlyType<T, Fallback = never> = ServicesForwardRefs extends { __services: true } ? T : Fallback;
/**
* Resolves a forward-reference to a type declared in the 'services' project.
* If 'services' is not present, results in `never`.
* @internal
*/
export type ServicesForwardRef<K extends string> = ServicesForwardRefs extends { [P in K]: infer T } ? T : never;
/**
* Resolves a forward-reference to an array of a type declared in the 'services' project.
* If 'services' is not present, results in `never`.
* @internal
*/
export type ServicesForwardRefArray<K extends string> = ServicesOnlyType<ServicesForwardRef<K>[]>;
/**
* A registry of forward references declared in the 'services' project.
* @internal
*/
export interface ServicesForwardRefs {

Copy link
Member

Choose a reason for hiding this comment

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

I feel like it might be worth it just to prevent accidental usage, since these are defined on the actual Type interface too. But it's a little goofy to complain when they are now definitely actually declared in the compiler project? (Some stuff is shimmed out and throws, though...)

Comment on lines -8308 to -8310
export function addObjectAllocatorPatcher(fn: (objectAllocator: ObjectAllocator) => void) {
objectAllocatorPatchers.push(fn);
fn(objectAllocator);
Copy link
Member

Choose a reason for hiding this comment

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

What mechanism are we going to use in the future to tack stuff onto our objects for deprecations? Just throwing things onto the prototype? (That certainly sounds cleaner, though I just removed the one example...)

Copy link
Member Author

Choose a reason for hiding this comment

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

Patching the prototype seems to cause memory usage to skyrocket. I'd maybe do what I'm doing with SymbolObjectInternals, such that using the method throws in TSC, but the deprecation code could patch that object with a version that works (with warnings).

Copy link
Member

Choose a reason for hiding this comment

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

Makes sense; just didn't want to accidentally close the door and I did remove the one test we had for that perf which made it harder for you. 🙁

@@ -487,7 +494,8 @@ export function addNodeFactoryPatcher(fn: (factory: NodeFactory) => void) {
*
* @internal
*/
export function createNodeFactory(flags: NodeFactoryFlags, baseFactory: BaseNodeFactory): NodeFactory {
export function createNodeFactory(flags: NodeFactoryFlags): NodeFactory {
const markSynthetic = (flags & NodeFactoryFlags.MarkSynthetic) === NodeFactoryFlags.MarkSynthetic;
Copy link
Member

Choose a reason for hiding this comment

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

Nice!

@rbuckton
Copy link
Member Author

I still have a bit more investigating to do into the memory overhead in self-build-src-public-api, but this is close enough to turn it into an actual PR.

@rbuckton rbuckton marked this pull request as ready for review April 18, 2024 16:15
@jakebailey
Copy link
Member

this is close enough to turn it into an actual PR.

The title is still [WIP]; just making sure that I should definitely review this 😄

@@ -78,10 +78,11 @@ import {
SnippetKind,
SortedReadonlyArray,
stableSort,
Symbol,
type Symbol,
Copy link
Member

Choose a reason for hiding this comment

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

I was going to suggest flipping this change back (since it's not needed), but I guess the cat's out of the bag anyway now that we correctly organize imports (or just use dprint to do it quickly), and direct imports are probably fine too 😄

this.checker = checker;
}

getFlags(): TypeFlags {
Copy link
Member

Choose a reason for hiding this comment

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

I feel like it might be worth it just to prevent accidental usage, since these are defined on the actual Type interface too. But it's a little goofy to complain when they are now definitely actually declared in the compiler project? (Some stuff is shimmed out and throws, though...)

Comment on lines +933 to +934
/** @internal */ original?: Node | undefined; // The original node if this is an updated node.
/** @internal */ emitNode?: EmitNode | undefined; // Associated EmitNode (initialized by transforms)
Copy link
Member

Choose a reason for hiding this comment

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

Is this intended to be like original: Node | undefined? We don't use exactOptionalPropertyTypes (yet?), so this change is a noop.

@@ -5846,6 +5909,45 @@ export const enum SymbolFlags {
LateBindingContainer = Class | Interface | TypeLiteral | ObjectLiteral | Function,
}

export interface SymbolDisplayPart {
Copy link
Member

Choose a reason for hiding this comment

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

Sort of a bummer to have to have these here, but I don't see a way around that. Why oh why did we introduce the methods... 😄

Comment on lines -8308 to -8310
export function addObjectAllocatorPatcher(fn: (objectAllocator: ObjectAllocator) => void) {
objectAllocatorPatchers.push(fn);
fn(objectAllocator);
Copy link
Member

Choose a reason for hiding this comment

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

Makes sense; just didn't want to accidentally close the door and I did remove the one test we had for that perf which made it harder for you. 🙁

/** @internal */
export function formatStringFromArgs(text: string, args: DiagnosticArguments): string {
return text.replace(/{(\d+)}/g, (_match, index: string) => "" + Debug.checkDefined(args[+index]));
export function formatStringFromArgs(text: string, args: ArrayLike<string | number>, baseIndex = 0): string {
Copy link
Member

Choose a reason for hiding this comment

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

What required this to change signature? (I can't find it in the diff.)

Comment on lines +1 to +5
import {
SymbolObject,
} from "../compiler/objectConstructors";
import { SignatureObjectInternals } from "../compiler/signatureObjectInternals";
import { SymbolObjectInternals } from "../compiler/symbolObjectInternals";
Copy link
Member

Choose a reason for hiding this comment

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

Should we just do this via the namespaces? Half worried about the output ordering here but clearly it works so, it's probably fine. My other PR to sort imports more strictly is now moot because we dropped the plugin, so I can't enforce it anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants