Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Remove some properties fromIdentifier#52170

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
rbuckton merged 13 commits intomainfromid-cleanup
Jan 12, 2023
Merged

Remove some properties fromIdentifier#52170

rbuckton merged 13 commits intomainfromid-cleanup
Jan 12, 2023

Conversation

rbuckton
Copy link
Contributor

This is a WIP investigation into memory utilization after moving a number of properties off ofIdentifier.

This has some overlap with#51497

@typescript-bottypescript-bot added Author: Team For Uncommitted BugPR for untriaged, rejected, closed or missing bug labelsJan 9, 2023
@rbuckton
Copy link
ContributorAuthor

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commentedJan 9, 2023
edited
Loading

Heya@rbuckton, I've started to run the perf test suite on this PR atd60b06d. You can monitor the buildhere.

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..52170
Metricmain52170DeltaBestWorst
Angular - node (v18.10.0, x64)
Memory used372,632k (± 0.01%)361,366k (± 0.01%)🟩-11,266k (- 3.02%)361,289k361,425k
Parse Time3.95s (± 0.78%)3.97s (± 0.68%)+0.02s (+ 0.53%)3.92s4.00s
Bind Time1.20s (± 0.64%)1.20s (± 0.41%)+0.00s (+ 0.21%)1.20s1.21s
Check Time8.63s (± 0.29%)8.60s (± 0.48%)-0.03s (- 0.38%)8.55s8.66s
Emit Time7.55s (± 0.31%)7.55s (± 1.05%)-0.00s (- 0.07%)7.46s7.66s
Total Time21.34s (± 0.16%)21.32s (± 0.47%)-0.02s (- 0.08%)21.14s21.46s
Compiler-Unions - node (v18.10.0, x64)
Memory used202,176k (± 1.46%)192,914k (± 1.25%)🟩-9,261k (- 4.58%)191,648k197,809k
Parse Time1.65s (± 1.35%)1.64s (± 0.75%)-0.02s (- 1.00%)1.62s1.65s
Bind Time0.79s (± 0.69%)0.79s (± 0.79%)+0.00s (+ 0.32%)0.79s0.80s
Check Time9.49s (± 0.70%)9.51s (± 0.81%)+0.02s (+ 0.22%)9.38s9.61s
Emit Time2.76s (± 1.28%)2.88s (± 5.31%)+0.12s (+ 4.17%)2.74s3.11s
Total Time14.70s (± 0.56%)14.82s (± 1.13%)+0.12s (+ 0.83%)14.61s15.05s
Monaco - node (v18.10.0, x64)
Memory used354,122k (± 0.00%)345,627k (± 0.01%)-8,495k (- 2.40%)345,593k345,661k
Parse Time2.95s (± 1.05%)2.91s (± 0.66%)-0.03s (- 1.17%)2.89s2.94s
Bind Time1.04s (± 1.03%)1.05s (± 0.64%)+0.02s (+ 1.50%)1.04s1.06s
Check Time7.25s (± 0.86%)7.24s (± 0.97%)-0.01s (- 0.15%)7.17s7.35s
Emit Time4.31s (± 0.64%)4.28s (± 0.81%)-0.03s (- 0.73%)4.23s4.34s
Total Time15.54s (± 0.64%)15.49s (± 0.72%)-0.06s (- 0.37%)15.36s15.68s
TFS - node (v18.10.0, x64)
Memory used310,025k (± 0.01%)300,345k (± 0.01%)🟩-9,681k (- 3.12%)300,323k300,374k
Parse Time2.24s (± 0.96%)2.23s (± 1.55%)-0.01s (- 0.63%)2.18s2.27s
Bind Time1.16s (± 0.73%)1.18s (± 0.59%)+0.02s (+ 1.90%)1.17s1.19s
Check Time6.81s (± 0.35%)6.81s (± 0.56%)+0.00s (+ 0.01%)6.79s6.89s
Emit Time3.94s (± 0.98%)3.94s (± 0.76%)+0.00s (+ 0.07%)3.89s3.98s
Total Time14.15s (± 0.48%)14.16s (± 0.58%)+0.01s (+ 0.08%)14.11s14.32s
material-ui - node (v18.10.0, x64)
Memory used485,265k (± 0.02%)476,324k (± 0.01%)-8,941k (- 1.84%)476,271k476,357k
Parse Time3.53s (± 0.64%)3.50s (± 0.41%)-0.03s (- 0.79%)3.49s3.53s
Bind Time0.96s (± 0.59%)0.96s (± 1.07%)-0.00s (- 0.48%)0.95s0.97s
Check Time16.93s (± 0.76%)16.81s (± 0.31%)-0.12s (- 0.68%)16.75s16.89s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time21.42s (± 0.64%)21.27s (± 0.23%)-0.15s (- 0.71%)21.22s21.35s
xstate - node (v18.10.0, x64)
Memory used570,301k (± 0.03%)546,130k (± 0.02%)🟩-24,171k (- 4.24%)546,007k546,291k
Parse Time4.41s (± 0.91%)4.40s (± 0.30%)-0.01s (- 0.33%)4.38s4.42s
Bind Time1.70s (± 0.65%)1.71s (± 0.41%)+0.01s (+ 0.65%)1.70s1.72s
Check Time2.61s (± 0.77%)2.61s (± 0.73%)+0.00s (+ 0.16%)2.59s2.65s
Emit Time0.08s (± 0.15%)0.08s (± 4.89%)+0.00s (+ 2.05%)0.08s0.09s
Total Time8.80s (± 0.40%)8.80s (± 0.32%)-0.00s (- 0.05%)8.78s8.85s
Angular - node (v16.17.1, x64)
Memory used372,015k (± 0.01%)360,759k (± 0.01%)🟩-11,257k (- 3.03%)360,724k360,808k
Parse Time4.14s (± 0.33%)4.16s (± 0.49%)+0.03s (+ 0.61%)4.14s4.20s
Bind Time1.27s (± 1.30%)1.27s (± 0.42%)+0.00s (+ 0.23%)1.27s1.28s
Check Time9.32s (± 0.38%)9.29s (± 0.43%)-0.03s (- 0.37%)9.23s9.33s
Emit Time8.00s (± 0.17%)7.95s (± 0.85%)-0.04s (- 0.55%)7.87s8.07s
Total Time22.73s (± 0.15%)22.67s (± 0.41%)-0.05s (- 0.23%)22.58s22.83s
Compiler-Unions - node (v16.17.1, x64)
Memory used200,448k (± 0.68%)193,705k (± 0.02%)🟩-6,743k (- 3.36%)193,658k193,778k
Parse Time1.80s (± 1.74%)1.80s (± 1.14%)+0.00s (+ 0.20%)1.77s1.84s
Bind Time0.84s (± 0.69%)0.85s (± 0.75%)+0.00s (+ 0.42%)0.84s0.85s
Check Time10.08s (± 1.23%)10.15s (± 0.87%)+0.07s (+ 0.69%)10.08s10.32s
Emit Time3.10s (± 6.32%)3.11s (± 4.73%)+0.01s (+ 0.37%)2.99s3.39s
Total Time15.82s (± 1.66%)15.91s (± 0.99%)+0.09s (+ 0.58%)15.77s16.21s
Monaco - node (v16.17.1, x64)
Memory used353,395k (± 0.01%)345,038k (± 0.01%)-8,357k (- 2.36%)345,001k345,102k
Parse Time3.16s (± 0.65%)3.10s (± 1.29%)-0.06s (- 1.89%)3.07s3.18s
Bind Time1.12s (± 0.93%)1.10s (± 0.35%)-0.01s (- 1.34%)1.10s1.11s
Check Time7.84s (± 0.24%)7.88s (± 0.37%)+0.04s (+ 0.55%)7.85s7.94s
Emit Time4.46s (± 0.70%)4.49s (± 0.17%)+0.03s (+ 0.67%)4.48s4.50s
Total Time16.58s (± 0.07%)16.58s (± 0.25%)-0.00s (- 0.01%)16.53s16.64s
TFS - node (v16.17.1, x64)
Memory used309,380k (± 0.00%)299,680k (± 0.01%)🟩-9,700k (- 3.14%)299,638k299,720k
Parse Time2.62s (± 0.57%)2.41s (± 1.52%)🟩-0.21s (- 7.84%)2.37s2.46s
Bind Time1.06s (± 1.99%)1.27s (± 1.14%)+0.21s (+20.29%)1.24s1.28s
Check Time7.42s (± 0.58%)7.42s (± 0.32%)-0.00s (- 0.01%)7.40s7.46s
Emit Time4.22s (± 0.43%)4.20s (± 0.58%)-0.02s (- 0.36%)4.18s4.24s
Total Time15.31s (± 0.44%)15.30s (± 0.32%)-0.01s (- 0.05%)15.25s15.36s
material-ui - node (v16.17.1, x64)
Memory used484,528k (± 0.01%)475,665k (± 0.01%)-8,863k (- 1.83%)475,634k475,729k
Parse Time3.67s (± 0.24%)3.66s (± 0.34%)-0.02s (- 0.53%)3.64s3.67s
Bind Time1.01s (± 0.66%)1.01s (± 1.16%)+0.00s (+ 0.30%)1.00s1.03s
Check Time17.90s (± 0.43%)17.89s (± 0.27%)-0.01s (- 0.04%)17.83s17.95s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time22.58s (± 0.38%)22.56s (± 0.27%)-0.02s (- 0.10%)22.48s22.62s
xstate - node (v16.17.1, x64)
Memory used567,842k (± 0.02%)543,756k (± 0.03%)🟩-24,086k (- 4.24%)543,668k544,079k
Parse Time4.74s (± 0.51%)4.59s (± 0.61%)🟩-0.16s (- 3.29%)4.56s4.62s
Bind Time1.65s (± 0.69%)1.80s (± 0.62%)+0.16s (+ 9.40%)1.79s1.82s
Check Time2.84s (± 0.38%)2.84s (± 0.45%)-0.01s (- 0.18%)2.82s2.85s
Emit Time0.09s (± 4.49%)0.09s (± 0.21%)-0.00s (- 1.88%)0.09s0.09s
Total Time9.32s (± 0.22%)9.32s (± 0.34%)-0.00s (- 0.03%)9.28s9.36s
Angular - node (v14.15.1, x64)
Memory used365,675k (± 0.00%)354,444k (± 0.01%)🟩-11,232k (- 3.07%)354,418k354,465k
Parse Time4.16s (± 0.62%)4.17s (± 0.25%)+0.01s (+ 0.24%)4.15s4.18s
Bind Time1.30s (± 0.78%)1.28s (± 0.49%)-0.02s (- 1.22%)1.27s1.29s
Check Time9.70s (± 0.51%)9.67s (± 0.36%)-0.03s (- 0.27%)9.61s9.72s
Emit Time8.20s (± 0.89%)8.20s (± 0.63%)+0.01s (+ 0.06%)8.13s8.28s
Total Time23.35s (± 0.29%)23.32s (± 0.32%)-0.03s (- 0.11%)23.20s23.41s
Compiler-Unions - node (v14.15.1, x64)
Memory used195,167k (± 0.02%)189,507k (± 0.71%)-5,659k (- 2.90%)188,929k192,273k
Parse Time1.86s (± 0.58%)1.83s (± 0.71%)-0.03s (- 1.58%)1.81s1.85s
Bind Time0.88s (± 0.74%)0.88s (± 0.22%)+0.00s (+ 0.03%)0.87s0.88s
Check Time10.13s (± 0.66%)10.26s (± 0.67%)+0.12s (+ 1.23%)10.20s10.38s
Emit Time3.14s (± 1.05%)3.17s (± 0.89%)+0.03s (+ 1.09%)3.11s3.19s
Total Time16.01s (± 0.51%)16.14s (± 0.52%)+0.13s (+ 0.82%)16.03s16.28s
Monaco - node (v14.15.1, x64)
Memory used348,264k (± 0.01%)339,800k (± 0.01%)-8,464k (- 2.43%)339,752k339,838k
Parse Time3.25s (± 0.99%)3.24s (± 1.56%)-0.01s (- 0.38%)3.16s3.29s
Bind Time1.11s (± 0.40%)1.14s (± 0.74%)+0.03s (+ 2.28%)1.13s1.15s
Check Time8.15s (± 0.47%)8.17s (± 0.34%)+0.02s (+ 0.28%)8.14s8.21s
Emit Time4.71s (± 0.90%)4.76s (± 0.24%)+0.06s (+ 1.20%)4.74s4.77s
Total Time17.21s (± 0.33%)17.31s (± 0.42%)+0.10s (+ 0.56%)17.18s17.39s
TFS - node (v14.15.1, x64)
Memory used304,278k (± 0.00%)294,581k (± 0.01%)🟩-9,696k (- 3.19%)294,542k294,611k
Parse Time2.70s (± 0.80%)2.70s (± 0.88%)+0.00s (+ 0.14%)2.66s2.72s
Bind Time1.08s (± 1.05%)1.11s (± 0.58%)+0.03s (+ 2.35%)1.10s1.12s
Check Time7.72s (± 0.54%)7.73s (± 0.50%)+0.01s (+ 0.13%)7.66s7.78s
Emit Time4.61s (± 1.45%)4.58s (± 0.59%)-0.03s (- 0.60%)4.56s4.63s
Total Time16.10s (± 0.66%)16.12s (± 0.34%)+0.02s (+ 0.11%)16.04s16.19s
material-ui - node (v14.15.1, x64)
Memory used479,982k (± 0.01%)471,123k (± 0.00%)-8,860k (- 1.85%)471,100k471,158k
Parse Time3.90s (± 0.59%)3.87s (± 0.40%)-0.03s (- 0.65%)3.85s3.89s
Bind Time1.04s (± 0.52%)1.03s (± 0.97%)-0.01s (- 0.89%)1.02s1.05s
Check Time18.94s (± 0.46%)18.87s (± 0.77%)-0.07s (- 0.36%)18.66s19.06s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time23.89s (± 0.39%)23.78s (± 0.63%)-0.11s (- 0.45%)23.56s23.94s
xstate - node (v14.15.1, x64)
Memory used556,231k (± 0.00%)531,973k (± 0.01%)🟩-24,258k (- 4.36%)531,926k532,013k
Parse Time5.11s (± 0.81%)4.97s (± 0.47%)-0.13s (- 2.60%)4.94s5.00s
Bind Time1.59s (± 0.35%)1.70s (± 0.72%)+0.11s (+ 6.61%)1.68s1.71s
Check Time2.98s (± 0.84%)2.99s (± 0.60%)+0.00s (+ 0.13%)2.95s3.00s
Emit Time0.10s (± 0.13%)0.10s (± 5.05%)+0.00s (+ 3.47%)0.10s0.11s
Total Time9.77s (± 0.60%)9.76s (± 0.37%)-0.02s (- 0.17%)9.71s9.80s
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)
BenchmarkNameIterations
Current521706
Baselinemain6

TSServer

Comparison Report - main..52170
Metricmain52170DeltaBestWorst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,577ms (± 0.59%)2,513ms (± 5.63%)-64ms (- 2.49%)2,229ms2,612ms
Req 2 - geterr5,424ms (± 1.05%)5,286ms (± 5.46%)-138ms (- 2.54%)4,712ms5,476ms
Req 3 - references374ms (± 2.29%)368ms (± 4.82%)-7ms (- 1.79%)334ms386ms
Req 4 - navto289ms (± 2.02%)283ms (± 5.30%)-6ms (- 2.02%)255ms294ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo301ms (± 3.37%)129ms (±74.75%)🟩-172ms (-57.02%)64ms277ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,763ms (± 1.26%)2,691ms (± 1.50%)-72ms (- 2.62%)2,649ms2,749ms
Req 2 - geterr3,974ms (± 0.75%)3,983ms (± 0.86%)+9ms (+ 0.23%)3,947ms4,042ms
Req 3 - references361ms (± 0.90%)377ms (± 0.69%)+16ms (+ 4.37%)372ms380ms
Req 4 - navto289ms (± 1.14%)286ms (± 0.59%)-3ms (- 1.14%)284ms288ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo68ms (± 5.09%)84ms (± 0.40%)+16ms (+22.98%)83ms84ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen3,384ms (± 0.54%)3,346ms (± 0.46%)-38ms (- 1.11%)3,322ms3,365ms
Req 2 - geterr1,524ms (± 1.59%)1,384ms (± 0.84%)🟩-140ms (- 9.20%)1,361ms1,393ms
Req 3 - references103ms (± 3.28%)248ms (± 2.25%)🔻+145ms (+140.48%)242ms258ms
Req 4 - navto359ms (± 1.23%)360ms (± 0.88%)+1ms (+ 0.26%)357ms364ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo432ms (± 0.94%)443ms (± 1.45%)+12ms (+ 2.73%)438ms455ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,784ms (± 0.26%)2,685ms (± 4.92%)🟩-100ms (- 3.59%)2,415ms2,751ms
Req 2 - geterr6,000ms (± 0.57%)5,656ms (± 5.12%)🟩-345ms (- 5.75%)5,069ms5,842ms
Req 3 - references363ms (± 0.46%)365ms (± 5.54%)+2ms (+ 0.54%)324ms376ms
Req 4 - navto283ms (± 1.32%)267ms (± 5.37%)🟩-16ms (- 5.70%)238ms275ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo93ms (± 3.89%)226ms (±49.11%)🔻+133ms (+143.81%)77ms300ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,931ms (± 1.20%)2,883ms (± 0.51%)-48ms (- 1.63%)2,866ms2,907ms
Req 2 - geterr4,317ms (± 0.40%)4,330ms (± 0.62%)+13ms (+ 0.30%)4,285ms4,362ms
Req 3 - references378ms (± 0.31%)388ms (± 0.81%)+10ms (+ 2.51%)382ms392ms
Req 4 - navto300ms (± 0.83%)294ms (± 0.72%)-7ms (- 2.16%)291ms297ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo238ms (±54.24%)79ms (± 1.07%)🟩-159ms (-66.68%)78ms81ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen3,751ms (± 0.33%)3,435ms (± 0.49%)🟩-316ms (- 8.43%)3,417ms3,454ms
Req 2 - geterr1,460ms (± 1.25%)1,535ms (± 1.95%)+75ms (+ 5.11%)1,490ms1,570ms
Req 3 - references111ms (± 2.00%)268ms (± 7.48%)🔻+157ms (+141.90%)241ms282ms
Req 4 - navto344ms (± 0.28%)332ms (± 0.21%)🟩-12ms (- 3.46%)331ms333ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo472ms (± 0.85%)483ms (± 1.39%)+11ms (+ 2.34%)475ms491ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen2,888ms (± 0.57%)2,863ms (± 0.70%)-25ms (- 0.87%)2,833ms2,886ms
Req 2 - geterr6,151ms (± 1.09%)6,205ms (± 0.66%)+54ms (+ 0.88%)6,155ms6,245ms
Req 3 - references379ms (± 0.76%)387ms (± 0.75%)+8ms (+ 2.11%)384ms391ms
Req 4 - navto291ms (± 0.63%)287ms (± 1.24%)-4ms (- 1.47%)283ms291ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo88ms (± 3.85%)89ms (± 6.76%)+1ms (+ 0.74%)77ms92ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen3,028ms (± 1.03%)3,015ms (± 0.91%)-13ms (- 0.43%)2,980ms3,041ms
Req 2 - geterr4,573ms (± 0.70%)4,597ms (± 0.72%)+24ms (+ 0.53%)4,556ms4,648ms
Req 3 - references404ms (± 1.16%)416ms (± 0.69%)+12ms (+ 2.90%)412ms419ms
Req 4 - navto307ms (± 1.15%)308ms (± 0.75%)+1ms (+ 0.29%)305ms311ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo83ms (± 9.33%)79ms (± 1.04%)🟩-5ms (- 5.76%)78ms80ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen3,853ms (± 0.69%)3,809ms (± 0.48%)-44ms (- 1.14%)3,789ms3,834ms
Req 2 - geterr1,470ms (± 0.93%)1,466ms (± 0.64%)-3ms (- 0.24%)1,455ms1,480ms
Req 3 - references128ms (± 1.92%)130ms (± 2.18%)+2ms (+ 1.44%)126ms133ms
Req 4 - navto396ms (± 0.81%)390ms (± 0.73%)-5ms (- 1.32%)385ms394ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo495ms (± 1.66%)505ms (± 0.79%)+10ms (+ 2.01%)500ms511ms
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)
BenchmarkNameIterations
Current521706
Baselinemain6

Startup

Comparison Report - main..52170
Metricmain52170DeltaBestWorst
tsc-startup - node (v16.17.1, x64)
Execution time139.65ms (± 0.39%)139.21ms (± 0.22%)-0.44ms (- 0.31%)138.16ms142.22ms
tsserver-startup - node (v16.17.1, x64)
Execution time229.74ms (± 0.25%)230.85ms (± 0.23%)+1.11ms (+ 0.48%)228.82ms239.29ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time232.41ms (± 0.18%)233.16ms (± 0.18%)+0.74ms (+ 0.32%)231.89ms241.11ms
typescript-startup - node (v16.17.1, x64)
Execution time214.01ms (± 0.18%)215.15ms (± 0.24%)+1.14ms (+ 0.53%)213.40ms221.88ms
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)
BenchmarkNameIterations
Current521706
Baselinemain6

Developer Information:

Download Benchmark

@rbuckton
Copy link
ContributorAuthor

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commentedJan 10, 2023
edited
Loading

Heya@rbuckton, I've started to run the perf test suite on this PR at45ebecf. You can monitor the buildhere.

@rbuckton
Copy link
ContributorAuthor

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commentedJan 11, 2023
edited
Loading

Heya@rbuckton, I've started to run the perf test suite on this PR at45ebecf. You can monitor the buildhere.

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..52170
Metricmain52170DeltaBestWorst
Angular - node (v18.10.0, x64)
Memory used372,365k (± 0.01%)361,151k (± 0.01%)🟩-11,214k (- 3.01%)361,105k361,190k
Parse Time3.93s (± 1.70%)3.93s (± 0.64%)-0.01s (- 0.23%)3.89s3.95s
Bind Time1.20s (± 1.13%)1.21s (± 0.59%)+0.01s (+ 0.63%)1.20s1.22s
Check Time8.66s (± 0.40%)8.73s (± 0.33%)+0.06s (+ 0.74%)8.70s8.77s
Emit Time7.52s (± 0.35%)7.50s (± 0.74%)-0.02s (- 0.28%)7.45s7.59s
Total Time21.32s (± 0.48%)21.36s (± 0.27%)+0.04s (+ 0.19%)21.27s21.45s
Compiler-Unions - node (v18.10.0, x64)
Memory used200,328k (± 1.49%)193,929k (± 1.54%)🟩-6,400k (- 3.19%)191,783k197,839k
Parse Time1.65s (± 1.38%)1.65s (± 0.55%)+0.00s (+ 0.17%)1.64s1.67s
Bind Time0.79s (± 0.52%)0.80s (± 1.27%)+0.01s (+ 0.92%)0.78s0.81s
Check Time9.52s (± 0.47%)9.52s (± 0.47%)+0.00s (+ 0.02%)9.46s9.60s
Emit Time2.78s (± 0.99%)2.87s (± 6.22%)+0.09s (+ 3.27%)2.72s3.13s
Total Time14.74s (± 0.37%)14.83s (± 1.19%)+0.10s (+ 0.66%)14.64s15.06s
Monaco - node (v18.10.0, x64)
Memory used354,135k (± 0.01%)345,719k (± 0.01%)-8,416k (- 2.38%)345,677k345,740k
Parse Time2.94s (± 0.67%)2.92s (± 0.52%)-0.02s (- 0.75%)2.90s2.94s
Bind Time1.04s (± 1.09%)1.05s (± 0.39%)+0.01s (+ 1.22%)1.05s1.06s
Check Time7.23s (± 0.58%)7.25s (± 0.81%)+0.02s (+ 0.21%)7.16s7.32s
Emit Time4.31s (± 0.90%)4.31s (± 0.75%)+0.00s (+ 0.02%)4.27s4.35s
Total Time15.53s (± 0.57%)15.53s (± 0.56%)+0.01s (+ 0.06%)15.39s15.65s
TFS - node (v18.10.0, x64)
Memory used310,213k (± 0.01%)300,511k (± 0.00%)🟩-9,702k (- 3.13%)300,498k300,529k
Parse Time2.28s (± 1.70%)2.26s (± 0.71%)-0.03s (- 1.20%)2.24s2.27s
Bind Time1.16s (± 1.44%)1.18s (± 0.62%)+0.02s (+ 1.53%)1.18s1.19s
Check Time6.81s (± 0.49%)6.81s (± 0.42%)-0.00s (- 0.01%)6.78s6.86s
Emit Time3.92s (± 0.40%)3.93s (± 0.43%)+0.02s (+ 0.39%)3.91s3.95s
Total Time14.18s (± 0.55%)14.18s (± 0.26%)-0.00s (- 0.02%)14.13s14.22s
material-ui - node (v18.10.0, x64)
Memory used485,231k (± 0.01%)476,300k (± 0.01%)-8,932k (- 1.84%)476,235k476,402k
Parse Time3.53s (± 0.43%)3.52s (± 0.22%)-0.01s (- 0.19%)3.51s3.53s
Bind Time0.96s (± 0.82%)0.98s (± 0.41%)+0.02s (+ 1.73%)0.98s0.99s
Check Time16.94s (± 0.86%)16.88s (± 0.54%)-0.06s (- 0.37%)16.74s17.01s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time21.43s (± 0.69%)21.38s (± 0.46%)-0.05s (- 0.25%)21.22s21.50s
xstate - node (v18.10.0, x64)
Memory used570,282k (± 0.01%)546,231k (± 0.03%)🟩-24,051k (- 4.22%)546,105k546,540k
Parse Time4.44s (± 0.53%)4.38s (± 0.39%)-0.06s (- 1.30%)4.35s4.40s
Bind Time1.70s (± 1.04%)1.71s (± 1.14%)+0.01s (+ 0.72%)1.69s1.74s
Check Time2.60s (± 1.01%)2.70s (± 1.12%)+0.10s (+ 3.76%)2.67s2.73s
Emit Time0.08s (± 0.21%)0.08s (± 0.24%)-0.00s (- 0.07%)0.08s0.08s
Total Time8.82s (± 0.38%)8.88s (± 0.34%)+0.05s (+ 0.59%)8.85s8.92s
Angular - node (v16.17.1, x64)
Memory used371,720k (± 0.01%)360,528k (± 0.01%)🟩-11,192k (- 3.01%)360,472k360,606k
Parse Time4.13s (± 0.42%)4.14s (± 0.33%)+0.01s (+ 0.20%)4.11s4.15s
Bind Time1.26s (± 0.27%)1.28s (± 1.14%)+0.02s (+ 1.38%)1.26s1.30s
Check Time9.31s (± 0.54%)9.42s (± 0.26%)+0.11s (+ 1.23%)9.38s9.45s
Emit Time7.96s (± 0.42%)7.94s (± 0.44%)-0.03s (- 0.32%)7.88s7.97s
Total Time22.67s (± 0.35%)22.78s (± 0.23%)+0.11s (+ 0.50%)22.72s22.83s
Compiler-Unions - node (v16.17.1, x64)
Memory used200,510k (± 0.65%)193,846k (± 0.05%)🟩-6,664k (- 3.32%)193,712k193,966k
Parse Time1.81s (± 0.48%)1.81s (± 0.63%)-0.01s (- 0.28%)1.79s1.83s
Bind Time0.85s (± 0.90%)0.85s (± 0.71%)+0.00s (+ 0.10%)0.84s0.86s
Check Time10.08s (± 0.34%)10.28s (± 0.29%)+0.20s (+ 1.99%)10.25s10.32s
Emit Time3.02s (± 3.44%)3.05s (± 1.15%)+0.02s (+ 0.72%)2.98s3.08s
Total Time15.76s (± 0.58%)15.98s (± 0.38%)+0.22s (+ 1.42%)15.90s16.05s
Monaco - node (v16.17.1, x64)
Memory used353,473k (± 0.01%)345,092k (± 0.00%)-8,381k (- 2.37%)345,074k345,102k
Parse Time3.16s (± 0.43%)3.11s (± 1.04%)-0.05s (- 1.61%)3.07s3.15s
Bind Time1.11s (± 1.59%)1.11s (± 0.91%)-0.00s (- 0.04%)1.10s1.13s
Check Time7.85s (± 0.14%)7.88s (± 0.24%)+0.03s (+ 0.43%)7.85s7.90s
Emit Time4.47s (± 0.93%)4.52s (± 0.31%)+0.05s (+ 1.16%)4.50s4.54s
Total Time16.59s (± 0.26%)16.62s (± 0.19%)+0.03s (+ 0.20%)16.59s16.67s
TFS - node (v16.17.1, x64)
Memory used309,555k (± 0.00%)299,886k (± 0.01%)🟩-9,668k (- 3.12%)299,856k299,908k
Parse Time2.67s (± 1.67%)2.43s (± 1.36%)🟩-0.24s (- 9.09%)2.37s2.45s
Bind Time1.05s (± 1.43%)1.27s (± 1.30%)+0.22s (+21.15%)1.25s1.29s
Check Time7.41s (± 0.46%)7.40s (± 0.34%)-0.00s (- 0.07%)7.37s7.44s
Emit Time4.23s (± 0.23%)4.24s (± 0.75%)+0.01s (+ 0.33%)4.20s4.28s
Total Time15.35s (± 0.33%)15.34s (± 0.44%)-0.01s (- 0.06%)15.23s15.44s
material-ui - node (v16.17.1, x64)
Memory used484,500k (± 0.00%)475,647k (± 0.00%)-8,853k (- 1.83%)475,633k475,670k
Parse Time3.68s (± 0.47%)3.66s (± 0.26%)-0.03s (- 0.71%)3.65s3.67s
Bind Time1.01s (± 0.88%)1.02s (± 0.20%)+0.00s (+ 0.46%)1.01s1.02s
Check Time17.91s (± 0.33%)17.88s (± 0.53%)-0.03s (- 0.18%)17.72s17.96s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time22.61s (± 0.30%)22.55s (± 0.43%)-0.06s (- 0.25%)22.38s22.64s
xstate - node (v16.17.1, x64)
Memory used567,905k (± 0.01%)543,943k (± 0.02%)🟩-23,962k (- 4.22%)543,788k544,071k
Parse Time4.77s (± 0.62%)4.55s (± 0.29%)🟩-0.22s (- 4.55%)4.54s4.57s
Bind Time1.65s (± 0.79%)1.79s (± 0.39%)+0.14s (+ 8.43%)1.79s1.80s
Check Time2.83s (± 0.32%)2.92s (± 0.29%)+0.09s (+ 3.14%)2.91s2.93s
Emit Time0.08s (± 6.32%)0.08s (± 6.41%)+0.00s (+ 1.79%)0.08s0.09s
Total Time9.35s (± 0.45%)9.36s (± 0.26%)+0.01s (+ 0.16%)9.33s9.39s
Angular - node (v14.15.1, x64)
Memory used365,414k (± 0.01%)354,205k (± 0.00%)🟩-11,209k (- 3.07%)354,190k354,225k
Parse Time4.16s (± 0.52%)4.16s (± 0.74%)+0.00s (+ 0.09%)4.13s4.20s
Bind Time1.30s (± 0.34%)1.30s (± 0.42%)-0.00s (- 0.29%)1.29s1.30s
Check Time9.66s (± 0.37%)9.73s (± 0.51%)+0.07s (+ 0.72%)9.69s9.82s
Emit Time8.22s (± 0.28%)8.27s (± 0.83%)+0.05s (+ 0.57%)8.20s8.38s
Total Time23.34s (± 0.19%)23.46s (± 0.45%)+0.12s (+ 0.50%)23.38s23.63s
Compiler-Unions - node (v14.15.1, x64)
Memory used195,777k (± 0.70%)189,515k (± 0.69%)🟩-6,262k (- 3.20%)188,942k192,191k
Parse Time1.85s (± 0.64%)1.83s (± 0.56%)-0.02s (- 1.18%)1.82s1.85s
Bind Time0.88s (± 0.87%)0.88s (± 0.46%)+0.00s (+ 0.09%)0.87s0.88s
Check Time10.12s (± 0.66%)10.32s (± 0.76%)+0.20s (+ 1.95%)10.21s10.43s
Emit Time3.14s (± 1.35%)3.15s (± 1.40%)+0.01s (+ 0.38%)3.11s3.22s
Total Time15.99s (± 0.59%)16.17s (± 0.76%)+0.19s (+ 1.16%)16.05s16.36s
Monaco - node (v14.15.1, x64)
Memory used348,291k (± 0.01%)339,847k (± 0.01%)-8,444k (- 2.42%)339,814k339,874k
Parse Time3.25s (± 0.89%)3.26s (± 0.90%)+0.01s (+ 0.24%)3.22s3.29s
Bind Time1.12s (± 0.36%)1.13s (± 0.42%)+0.02s (+ 1.72%)1.13s1.14s
Check Time8.17s (± 0.58%)8.14s (± 0.49%)-0.03s (- 0.35%)8.09s8.19s
Emit Time4.71s (± 1.59%)4.75s (± 0.44%)+0.05s (+ 0.99%)4.73s4.79s
Total Time17.25s (± 0.52%)17.29s (± 0.31%)+0.05s (+ 0.27%)17.24s17.37s
TFS - node (v14.15.1, x64)
Memory used304,463k (± 0.00%)294,781k (± 0.01%)🟩-9,682k (- 3.18%)294,742k294,812k
Parse Time2.74s (± 1.34%)2.69s (± 1.17%)-0.05s (- 1.71%)2.64s2.73s
Bind Time1.09s (± 0.71%)1.11s (± 1.07%)+0.02s (+ 1.39%)1.10s1.13s
Check Time7.73s (± 0.47%)7.72s (± 0.40%)-0.01s (- 0.13%)7.69s7.76s
Emit Time4.61s (± 0.68%)4.60s (± 0.84%)-0.02s (- 0.39%)4.56s4.67s
Total Time16.18s (± 0.45%)16.12s (± 0.26%)-0.06s (- 0.36%)16.07s16.19s
material-ui - node (v14.15.1, x64)
Memory used479,971k (± 0.00%)471,132k (± 0.00%)-8,839k (- 1.84%)471,105k471,161k
Parse Time3.91s (± 0.79%)3.84s (± 0.45%)-0.07s (- 1.79%)3.81s3.86s
Bind Time1.05s (± 0.55%)1.03s (± 0.53%)-0.02s (- 1.55%)1.02s1.04s
Check Time18.99s (± 0.70%)18.83s (± 0.61%)-0.16s (- 0.82%)18.69s19.00s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time23.95s (± 0.48%)23.71s (± 0.49%)-0.24s (- 1.01%)23.58s23.88s
xstate - node (v14.15.1, x64)
Memory used556,303k (± 0.00%)532,042k (± 0.00%)🟩-24,261k (- 4.36%)532,022k532,055k
Parse Time5.11s (± 0.38%)4.97s (± 0.30%)-0.14s (- 2.83%)4.95s4.99s
Bind Time1.59s (± 0.64%)1.65s (± 0.47%)+0.06s (+ 3.84%)1.64s1.66s
Check Time2.98s (± 0.60%)3.07s (± 0.75%)+0.09s (+ 2.93%)3.04s3.09s
Emit Time0.10s (± 0.16%)0.10s (± 0.10%)-0.00s (- 0.13%)0.10s0.10s
Total Time9.78s (± 0.17%)9.78s (± 0.25%)+0.00s (+ 0.04%)9.76s9.83s
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)
BenchmarkNameIterations
Current521706
Baselinemain6

TSServer

Comparison Report - main..52170
Metricmain52170DeltaBestWorst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,539ms (± 1.45%)2,487ms (± 5.97%)-52ms (- 2.03%)2,186ms2,573ms
Req 2 - geterr5,358ms (± 0.78%)5,264ms (± 5.66%)-94ms (- 1.75%)4,661ms5,458ms
Req 3 - references373ms (± 1.14%)373ms (± 5.63%)-1ms (- 0.14%)331ms385ms
Req 4 - navto280ms (± 0.70%)279ms (± 6.70%)-0ms (- 0.07%)242ms291ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo310ms (± 2.31%)101ms (±82.11%)🟩-209ms (-67.52%)64ms269ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,766ms (± 1.22%)2,670ms (± 2.00%)🟩-96ms (- 3.47%)2,581ms2,729ms
Req 2 - geterr3,957ms (± 0.54%)3,978ms (± 0.47%)+21ms (+ 0.53%)3,960ms4,010ms
Req 3 - references360ms (± 1.19%)374ms (± 0.48%)+14ms (+ 3.95%)371ms376ms
Req 4 - navto296ms (± 0.76%)290ms (± 0.59%)-6ms (- 1.99%)288ms293ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo66ms (± 1.43%)83ms (± 2.48%)+17ms (+24.99%)79ms84ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen3,392ms (± 0.39%)3,349ms (± 0.63%)-43ms (- 1.26%)3,311ms3,370ms
Req 2 - geterr1,534ms (± 1.06%)1,392ms (± 1.07%)🟩-142ms (- 9.29%)1,372ms1,410ms
Req 3 - references105ms (± 3.17%)248ms (± 1.39%)🔻+143ms (+136.79%)242ms251ms
Req 4 - navto359ms (± 0.98%)359ms (± 0.74%)-0ms (- 0.04%)354ms361ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo428ms (± 1.78%)444ms (± 2.38%)+16ms (+ 3.69%)426ms459ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,776ms (± 0.68%)2,746ms (± 0.52%)-31ms (- 1.11%)2,719ms2,759ms
Req 2 - geterr5,896ms (± 2.02%)5,782ms (± 0.93%)-114ms (- 1.93%)5,724ms5,877ms
Req 3 - references362ms (± 0.62%)375ms (± 0.42%)+13ms (+ 3.71%)373ms378ms
Req 4 - navto281ms (± 1.94%)272ms (± 0.52%)🟩-9ms (- 3.16%)271ms275ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo164ms (±72.41%)299ms (± 1.17%)🔻+134ms (+81.83%)293ms303ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,923ms (± 0.65%)2,855ms (± 0.57%)-67ms (- 2.31%)2,842ms2,884ms
Req 2 - geterr4,284ms (± 0.77%)4,288ms (± 0.46%)+5ms (+ 0.11%)4,257ms4,307ms
Req 3 - references376ms (± 0.65%)389ms (± 0.56%)+13ms (+ 3.43%)386ms392ms
Req 4 - navto304ms (± 0.47%)298ms (± 0.60%)-5ms (- 1.78%)297ms301ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo313ms (± 0.82%)79ms (± 1.43%)🟩-234ms (-74.65%)78ms81ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen3,768ms (± 0.54%)3,469ms (± 0.52%)🟩-299ms (- 7.93%)3,457ms3,503ms
Req 2 - geterr1,465ms (± 1.20%)1,710ms (± 1.17%)+245ms (+16.75%)1,683ms1,735ms
Req 3 - references111ms (± 0.86%)109ms (± 1.44%)-1ms (- 1.18%)107ms111ms
Req 4 - navto346ms (± 1.57%)341ms (± 2.01%)-5ms (- 1.46%)335ms354ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo478ms (± 1.99%)478ms (± 1.93%)+0ms (+ 0.10%)468ms490ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen2,729ms (± 8.26%)2,845ms (± 0.41%)+116ms (+ 4.26%)2,826ms2,858ms
Req 2 - geterr5,823ms (± 8.36%)6,202ms (± 0.94%)+379ms (+ 6.51%)6,139ms6,309ms
Req 3 - references358ms (± 8.32%)388ms (± 1.44%)+30ms (+ 8.44%)382ms397ms
Req 4 - navto276ms (± 7.84%)287ms (± 0.69%)+11ms (+ 3.97%)283ms289ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo159ms (±69.64%)83ms (± 9.80%)🟩-76ms (-47.85%)75ms91ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen2,764ms (±21.67%)3,008ms (± 1.09%)+244ms (+ 8.84%)2,984ms3,071ms
Req 2 - geterr4,188ms (±21.64%)4,589ms (± 0.66%)+401ms (+ 9.58%)4,554ms4,634ms
Req 3 - references371ms (±21.86%)410ms (± 1.05%)+39ms (+10.61%)404ms415ms
Req 4 - navto282ms (±22.15%)306ms (± 0.86%)+23ms (+ 8.24%)302ms309ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo73ms (±17.85%)78ms (± 0.73%)+5ms (+ 7.28%)77ms79ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen3,866ms (± 0.43%)3,795ms (± 0.65%)-71ms (- 1.84%)3,752ms3,822ms
Req 2 - geterr1,459ms (± 0.55%)1,478ms (± 0.74%)+18ms (+ 1.26%)1,463ms1,486ms
Req 3 - references127ms (± 2.06%)131ms (± 0.57%)+4ms (+ 3.26%)129ms131ms
Req 4 - navto396ms (± 0.87%)399ms (± 1.84%)+3ms (+ 0.69%)387ms408ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo498ms (± 1.39%)497ms (± 1.05%)-1ms (- 0.13%)492ms505ms
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)
BenchmarkNameIterations
Current521706
Baselinemain6

Startup

Comparison Report - main..52170
Metricmain52170DeltaBestWorst
tsc-startup - node (v16.17.1, x64)
Execution time139.17ms (± 0.18%)139.65ms (± 0.22%)+0.48ms (+ 0.35%)138.45ms144.85ms
tsserver-startup - node (v16.17.1, x64)
Execution time230.84ms (± 0.16%)232.05ms (± 0.18%)+1.21ms (+ 0.52%)230.74ms239.63ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time233.23ms (± 0.22%)233.84ms (± 0.19%)+0.61ms (+ 0.26%)232.45ms241.11ms
typescript-startup - node (v16.17.1, x64)
Execution time214.84ms (± 0.17%)215.73ms (± 0.21%)+0.89ms (+ 0.41%)214.10ms219.59ms
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)
BenchmarkNameIterations
Current521706
Baselinemain6

Developer Information:

Download Benchmark

@rbucktonrbuckton marked this pull request as ready for reviewJanuary 11, 2023 23:02
@rbuckton
Copy link
ContributorAuthor

@DanielRosenwasser, this is missing a few changes from#51497. Let me know if you want me to merge those changes in or if what I put together is acceptable.

@rbuckton
Copy link
ContributorAuthor

rbuckton commentedJan 11, 2023
edited
Loading

I'm not entirely sure why some of the tsserver benchmarks are so wildly different. I'll need to look into why thereferences test for xstate and thecompletioninfo test for Compiler-Unions had such a regression, given that this change improves performance in a number of other tsserver tests.

We are measuring in ms in these cases. Given the scale I'm not sure how sensitive these tests are to minor changes.

* If the text of an Identifier matches a keyword (including contextual and TypeScript-specific keywords), returns the
* SyntaxKind for the matching keyword.
*/
export function idKeyword(node: Identifier) {

Choose a reason for hiding this comment

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

I would prefer we call thisidentifierToKeywordKind or something like that.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Sure. I just named it that way to matchidText so that they would be sorted together in completions. The FP-like design of the compiler generally lends itself to using common prefixes to group related functionality together.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

I may just use a more general name likeidentifierToToken, since we don't necessarily validate identifier text, nor do we check that the result is limited to only keyword tokens.

@DanielRosenwasser
Copy link
Member

Could you summarize on which changes from#51497 are missing here? From a glance it seems like you have them all and more, but I'm not sure.

Comment on lines +3457 to +3458
//The entity is part of a JSDoc-style generic. We will usethegap between `typeName` and
// `typeArguments` to report it as a grammar error in the checker.

Choose a reason for hiding this comment

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

Why can't we just report it here?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

If we report it here, it goes intoparseDiagnostics, and that turns off a bunch of other checking in checker.ts. In general I'd prefer if we moved a lot of the grammar checks to parser.ts so that we can free up space on a number of nodes, but that might impact incremental parse. I've opted to push off any grammar-check related changes to a separate investigation.

Comment on lines 1688 to 1691
/** @deprecated Use `idKeyword(identifier)` instead. */
readonly originalKeywordKind?: SyntaxKind; // Original syntaxKind which get set so that we can report an error later
/** @deprecated Use `identifier.flags & NodeFlags.IdentifierIsInJSDocNamespace` instead. */
readonly isInJSDocNamespace?: boolean; // if the node is a member in a JSDoc namespace.
Copy link
Member

Choose a reason for hiding this comment

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

Should these be moved todeprecatedCompat and not used within our codebase?

sandersn reacted with thumbs up emoji
Comment on lines 7338 to 7350
Object.defineProperties(Identifier.prototype, {
originalKeywordKind: {
get(this: Identifier) {
return stringToToken(this.escapedText as string);
}
},
isInJSDocNamespace: {
get(this: Identifier) {
// NOTE: Returns `true` or `undefined` to match previous possible values.
return this.flags & NodeFlags.IdentifierIsInJSDocNamespace ? true : undefined;
}
}
});
Copy link
Member

Choose a reason for hiding this comment

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

Should this be here in this project versus deprecatedCompat?

@@ -1008,7 +1016,6 @@ export type ForEachChildNodes =
/** @internal */
export type VisitEachChildNodes =
Copy link
Member

Choose a reason for hiding this comment

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

could we just replace this type withHasChildren now?

DanielRosenwasser reacted with thumbs up emoji
Copy link
Member

Choose a reason for hiding this comment

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

This was resolved without comment; do we still need this type? (I don't care either way, I was just interested in the rationale to leave it.)

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Oops, removed the reference, forgot to remove the type.

jakebailey reacted with thumbs up emoji
Copy link
Member

@sandersnsandersn left a comment

Choose a reason for hiding this comment

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

Looks good. Only question I have is where to put the deprecated originalKeywordKind and isInJSDocNamespace properties.

@rbuckton
Copy link
ContributorAuthor

Looks good. Only question I have is where to put the deprecated originalKeywordKind and isInJSDocNamespace properties.

They're defined indeprecatedCompat, though I can probably move the field definitions there as well.

@rbuckton
Copy link
ContributorAuthor

Could you summarize on which changes from#51497 are missing here? From a glance it seems like you have them all and more, but I'm not sure.

In your PR you droppedisIdentifierANonContextualKeyword from compiler/utilities.ts, which I haven't yet done here. I'll have to look more closely to determine if there's anything else.

Copy link
Member

@jakebaileyjakebailey left a comment

Choose a reason for hiding this comment

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

LGTM with comments.

Do we need to re-perf-test just to make sure that the leftover duplicate prototype modification in the compiler project doesn't matter?

I'm not entirely sure why some of the tsserver benchmarks are so wildly different. I'll need to look into why the references test for xstate and the completioninfo test for Compiler-Unions had such a regression, given that this change improves performance in a number of other tsserver tests.

I'm looking into this one; I think this is new after my tuning changes. The bi-modal-ness of the data to me seems to imply that tsserver is somehow managing to do some work on the wrong processor even though that should be impossible.

@@ -1008,7 +1016,6 @@ export type ForEachChildNodes =
/** @internal */
export type VisitEachChildNodes =
Copy link
Member

Choose a reason for hiding this comment

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

This was resolved without comment; do we still need this type? (I don't care either way, I was just interested in the rationale to leave it.)

@jakebailey
Copy link
Member

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commentedJan 12, 2023
edited
Loading

Heya@jakebailey, I've started to run the perf test suite on this PR at85e5453. You can monitor the buildhere.

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..52170
Metricmain52170DeltaBestWorst
Angular - node (v18.10.0, x64)
Memory used372,387k (± 0.01%)361,134k (± 0.01%)🟩-11,252k (- 3.02%)361,086k361,179k
Parse Time3.94s (± 0.52%)3.95s (± 0.80%)+0.01s (+ 0.18%)3.90s3.98s
Bind Time1.20s (± 0.55%)1.20s (± 0.50%)+0.01s (+ 0.52%)1.20s1.21s
Check Time8.64s (± 0.85%)8.73s (± 0.67%)+0.09s (+ 1.02%)8.68s8.84s
Emit Time7.57s (± 0.76%)7.49s (± 0.67%)-0.08s (- 1.07%)7.43s7.57s
Total Time21.35s (± 0.66%)21.38s (± 0.47%)+0.02s (+ 0.11%)21.24s21.54s
Compiler-Unions - node (v18.10.0, x64)
Memory used202,185k (± 1.43%)194,948k (± 1.62%)🟩-7,237k (- 3.58%)191,866k197,969k
Parse Time1.64s (± 1.29%)1.65s (± 0.50%)+0.01s (+ 0.53%)1.64s1.66s
Bind Time0.79s (± 0.62%)0.80s (± 0.39%)+0.01s (+ 1.50%)0.80s0.81s
Check Time9.48s (± 0.98%)9.57s (± 0.83%)+0.09s (+ 0.93%)9.49s9.71s
Emit Time2.76s (± 0.97%)2.87s (± 5.23%)+0.10s (+ 3.72%)2.74s3.06s
Total Time14.68s (± 0.88%)14.88s (± 1.05%)+0.21s (+ 1.41%)14.71s15.12s
Monaco - node (v18.10.0, x64)
Memory used354,152k (± 0.01%)345,688k (± 0.01%)-8,464k (- 2.39%)345,658k345,722k
Parse Time2.93s (± 0.89%)2.90s (± 0.84%)-0.03s (- 0.98%)2.85s2.92s
Bind Time1.05s (± 0.67%)1.06s (± 0.47%)+0.01s (+ 0.89%)1.05s1.06s
Check Time7.22s (± 0.50%)7.24s (± 0.39%)+0.02s (+ 0.26%)7.20s7.28s
Emit Time4.28s (± 0.39%)4.28s (± 0.27%)-0.00s (- 0.02%)4.27s4.30s
Total Time15.48s (± 0.32%)15.48s (± 0.20%)-0.01s (- 0.04%)15.43s15.51s
TFS - node (v18.10.0, x64)
Memory used310,195k (± 0.01%)300,535k (± 0.01%)🟩-9,660k (- 3.11%)300,504k300,576k
Parse Time2.26s (± 0.92%)2.24s (± 1.04%)-0.02s (- 1.04%)2.21s2.28s
Bind Time1.15s (± 1.61%)1.18s (± 0.89%)+0.03s (+ 2.66%)1.17s1.20s
Check Time6.85s (± 0.77%)6.82s (± 0.45%)-0.03s (- 0.44%)6.79s6.88s
Emit Time3.93s (± 0.37%)3.94s (± 0.86%)+0.01s (+ 0.32%)3.90s3.98s
Total Time14.19s (± 0.55%)14.18s (± 0.24%)-0.01s (- 0.05%)14.12s14.22s
material-ui - node (v18.10.0, x64)
Memory used485,277k (± 0.02%)476,356k (± 0.02%)-8,921k (- 1.84%)476,277k476,514k
Parse Time3.53s (± 0.34%)3.52s (± 0.52%)-0.01s (- 0.31%)3.49s3.54s
Bind Time0.97s (± 0.67%)0.97s (± 0.53%)+0.01s (+ 0.85%)0.97s0.98s
Check Time16.96s (± 0.37%)16.92s (± 0.40%)-0.03s (- 0.20%)16.84s17.02s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time21.45s (± 0.27%)21.41s (± 0.39%)-0.04s (- 0.17%)21.30s21.54s
xstate - node (v18.10.0, x64)
Memory used570,353k (± 0.02%)546,170k (± 0.00%)🟩-24,182k (- 4.24%)546,146k546,209k
Parse Time4.44s (± 0.76%)4.37s (± 0.62%)-0.07s (- 1.61%)4.32s4.40s
Bind Time1.70s (± 0.47%)1.70s (± 1.17%)-0.00s (- 0.26%)1.67s1.72s
Check Time2.60s (± 0.51%)2.71s (± 0.97%)+0.11s (+ 4.37%)2.68s2.75s
Emit Time0.08s (± 0.18%)0.08s (± 0.15%)+0.00s (+ 0.03%)0.08s0.08s
Total Time8.83s (± 0.40%)8.86s (± 0.55%)+0.03s (+ 0.33%)8.80s8.95s
Angular - node (v16.17.1, x64)
Memory used371,763k (± 0.01%)360,550k (± 0.01%)🟩-11,213k (- 3.02%)360,511k360,597k
Parse Time4.11s (± 0.58%)4.14s (± 0.51%)+0.04s (+ 0.87%)4.12s4.18s
Bind Time1.26s (± 0.61%)1.27s (± 0.46%)+0.01s (+ 1.03%)1.26s1.28s
Check Time9.31s (± 0.72%)9.43s (± 0.17%)+0.12s (+ 1.30%)9.40s9.45s
Emit Time7.99s (± 0.45%)7.96s (± 0.42%)-0.03s (- 0.38%)7.92s8.00s
Total Time22.66s (± 0.29%)22.80s (± 0.13%)+0.14s (+ 0.61%)22.77s22.85s
Compiler-Unions - node (v16.17.1, x64)
Memory used200,547k (± 0.66%)194,937k (± 0.90%)-5,610k (- 2.80%)193,625k197,222k
Parse Time1.81s (± 0.50%)1.79s (± 1.35%)-0.02s (- 0.96%)1.75s1.82s
Bind Time0.84s (± 0.67%)0.85s (± 0.14%)+0.00s (+ 0.35%)0.85s0.85s
Check Time10.10s (± 0.66%)10.29s (± 0.50%)+0.19s (+ 1.86%)10.22s10.35s
Emit Time2.97s (± 0.99%)3.07s (± 3.98%)+0.10s (+ 3.54%)3.00s3.32s
Total Time15.72s (± 0.49%)16.00s (± 0.87%)+0.28s (+ 1.79%)15.83s16.24s
Monaco - node (v16.17.1, x64)
Memory used353,472k (± 0.01%)345,099k (± 0.01%)-8,373k (- 2.37%)345,058k345,130k
Parse Time3.17s (± 1.10%)3.08s (± 0.41%)-0.08s (- 2.68%)3.07s3.10s
Bind Time1.12s (± 1.48%)1.12s (± 0.28%)-0.00s (- 0.00%)1.11s1.12s
Check Time7.85s (± 0.25%)7.85s (± 0.30%)+0.00s (+ 0.02%)7.82s7.89s
Emit Time4.50s (± 0.91%)4.52s (± 0.62%)+0.02s (+ 0.37%)4.48s4.56s
Total Time16.63s (± 0.46%)16.56s (± 0.22%)-0.06s (- 0.38%)16.51s16.61s
TFS - node (v16.17.1, x64)
Memory used309,554k (± 0.01%)299,894k (± 0.00%)🟩-9,659k (- 3.12%)299,874k299,913k
Parse Time2.62s (± 3.19%)2.43s (± 0.97%)🟩-0.19s (- 7.20%)2.40s2.46s
Bind Time1.08s (± 8.18%)1.26s (± 0.96%)+0.18s (+16.57%)1.23s1.27s
Check Time7.41s (± 0.41%)7.41s (± 0.56%)+0.00s (+ 0.05%)7.38s7.49s
Emit Time4.24s (± 0.40%)4.24s (± 0.52%)+0.00s (+ 0.02%)4.20s4.27s
Total Time15.34s (± 0.44%)15.34s (± 0.54%)+0.00s (+ 0.00%)15.27s15.49s
material-ui - node (v16.17.1, x64)
Memory used484,515k (± 0.01%)475,649k (± 0.00%)-8,866k (- 1.83%)475,621k475,676k
Parse Time3.67s (± 0.23%)3.66s (± 0.36%)-0.02s (- 0.43%)3.64s3.68s
Bind Time1.01s (± 0.62%)1.02s (± 0.31%)+0.00s (+ 0.42%)1.02s1.02s
Check Time17.98s (± 0.34%)17.92s (± 0.58%)-0.07s (- 0.38%)17.81s18.11s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time22.67s (± 0.30%)22.59s (± 0.47%)-0.08s (- 0.36%)22.47s22.78s
xstate - node (v16.17.1, x64)
Memory used567,962k (± 0.01%)543,891k (± 0.03%)🟩-24,071k (- 4.24%)543,793k544,244k
Parse Time4.76s (± 0.29%)4.55s (± 0.21%)🟩-0.21s (- 4.43%)4.54s4.56s
Bind Time1.65s (± 0.35%)1.79s (± 0.52%)+0.14s (+ 8.73%)1.78s1.80s
Check Time2.84s (± 0.46%)2.92s (± 0.44%)+0.08s (+ 2.95%)2.91s2.94s
Emit Time0.09s (± 5.93%)0.08s (± 4.98%)🟩-0.01s (- 5.80%)0.08s0.09s
Total Time9.34s (± 0.20%)9.35s (± 0.18%)+0.01s (+ 0.13%)9.33s9.38s
Angular - node (v14.15.1, x64)
Memory used365,420k (± 0.00%)354,211k (± 0.00%)🟩-11,209k (- 3.07%)354,204k354,228k
Parse Time4.15s (± 0.32%)4.17s (± 0.54%)+0.02s (+ 0.50%)4.13s4.20s
Bind Time1.30s (± 0.51%)1.29s (± 0.49%)-0.01s (- 1.05%)1.28s1.29s
Check Time9.67s (± 0.35%)9.72s (± 0.27%)+0.05s (+ 0.53%)9.69s9.76s
Emit Time8.23s (± 0.60%)8.22s (± 0.34%)-0.01s (- 0.14%)8.18s8.26s
Total Time23.35s (± 0.34%)23.39s (± 0.21%)+0.05s (+ 0.20%)23.32s23.45s
Compiler-Unions - node (v14.15.1, x64)
Memory used195,761k (± 0.70%)189,550k (± 0.69%)🟩-6,212k (- 3.17%)188,987k192,220k
Parse Time1.86s (± 0.61%)1.83s (± 0.84%)-0.03s (- 1.73%)1.81s1.85s
Bind Time0.87s (± 0.99%)0.87s (± 0.66%)+0.00s (+ 0.16%)0.87s0.88s
Check Time10.12s (± 0.71%)10.28s (± 0.65%)+0.16s (+ 1.56%)10.19s10.38s
Emit Time3.13s (± 1.17%)3.16s (± 0.56%)+0.04s (+ 1.13%)3.14s3.19s
Total Time15.99s (± 0.54%)16.15s (± 0.51%)+0.16s (+ 1.02%)16.07s16.30s
Monaco - node (v14.15.1, x64)
Memory used348,299k (± 0.00%)339,859k (± 0.01%)-8,440k (- 2.42%)339,837k339,894k
Parse Time3.27s (± 0.98%)3.23s (± 1.05%)-0.04s (- 1.18%)3.18s3.28s
Bind Time1.13s (± 1.34%)1.13s (± 0.82%)+0.00s (+ 0.23%)1.13s1.15s
Check Time8.14s (± 0.47%)8.20s (± 0.24%)+0.06s (+ 0.77%)8.16s8.22s
Emit Time4.74s (± 0.89%)4.77s (± 0.39%)+0.03s (+ 0.60%)4.73s4.78s
Total Time17.28s (± 0.24%)17.33s (± 0.36%)+0.05s (+ 0.30%)17.23s17.41s
TFS - node (v14.15.1, x64)
Memory used304,471k (± 0.01%)294,773k (± 0.00%)🟩-9,698k (- 3.19%)294,763k294,787k
Parse Time2.74s (± 1.42%)2.70s (± 1.22%)-0.04s (- 1.52%)2.65s2.73s
Bind Time1.10s (± 0.61%)1.10s (± 0.71%)+0.01s (+ 0.54%)1.09s1.11s
Check Time7.74s (± 0.76%)7.70s (± 0.65%)-0.04s (- 0.56%)7.63s7.79s
Emit Time4.59s (± 1.42%)4.57s (± 0.76%)-0.02s (- 0.46%)4.54s4.63s
Total Time16.17s (± 0.72%)16.07s (± 0.46%)-0.10s (- 0.61%)15.99s16.19s
material-ui - node (v14.15.1, x64)
Memory used479,973k (± 0.00%)471,132k (± 0.00%)-8,840k (- 1.84%)471,113k471,154k
Parse Time3.89s (± 0.69%)3.81s (± 0.33%)-0.08s (- 2.14%)3.80s3.83s
Bind Time1.05s (± 0.80%)1.03s (± 0.50%)-0.02s (- 2.02%)1.02s1.04s
Check Time19.01s (± 0.85%)18.87s (± 0.37%)-0.14s (- 0.74%)18.76s18.96s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time23.96s (± 0.67%)23.71s (± 0.27%)-0.25s (- 1.03%)23.61s23.79s
xstate - node (v14.15.1, x64)
Memory used556,344k (± 0.00%)532,040k (± 0.00%)🟩-24,304k (- 4.37%)532,019k532,075k
Parse Time5.16s (± 0.76%)4.99s (± 0.48%)🟩-0.17s (- 3.28%)4.96s5.02s
Bind Time1.59s (± 0.31%)1.65s (± 0.64%)+0.06s (+ 3.97%)1.64s1.67s
Check Time3.00s (± 0.78%)3.07s (± 0.35%)+0.08s (+ 2.59%)3.06s3.09s
Emit Time0.10s (± 0.15%)0.10s (± 0.10%)+0.00s (+ 0.10%)0.10s0.10s
Total Time9.84s (± 0.44%)9.82s (± 0.29%)-0.03s (- 0.26%)9.78s9.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)
BenchmarkNameIterations
Current521706
Baselinemain6

TSServer

Comparison Report - main..52170
Metricmain52170DeltaBestWorst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,561ms (± 0.56%)2,476ms (± 5.82%)🟩-86ms (- 3.34%)2,191ms2,607ms
Req 2 - geterr5,362ms (± 0.59%)5,301ms (± 5.55%)-61ms (- 1.14%)4,707ms5,508ms
Req 3 - references373ms (± 1.48%)368ms (± 5.47%)-4ms (- 1.14%)328ms383ms
Req 4 - navto281ms (± 1.59%)280ms (± 6.77%)-1ms (- 0.24%)243ms294ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo304ms (± 2.03%)164ms (±66.67%)🟩-140ms (-45.93%)62ms280ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,317ms (±30.42%)2,664ms (± 1.04%)+347ms (+15.00%)2,630ms2,705ms
Req 2 - geterr3,332ms (±30.48%)3,962ms (± 0.34%)+629ms (+18.89%)3,941ms3,980ms
Req 3 - references303ms (±30.94%)376ms (± 0.64%)+73ms (+24.15%)372ms379ms
Req 4 - navto248ms (±29.96%)289ms (± 0.41%)+41ms (+16.67%)287ms291ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo58ms (±32.29%)82ms (± 2.46%)🔻+24ms (+41.92%)78ms83ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen3,379ms (± 0.31%)3,374ms (± 0.54%)-5ms (- 0.16%)3,347ms3,394ms
Req 2 - geterr1,544ms (± 1.10%)1,395ms (± 0.81%)🟩-149ms (- 9.67%)1,381ms1,409ms
Req 3 - references103ms (± 2.78%)250ms (± 0.67%)🔻+146ms (+142.06%)246ms251ms
Req 4 - navto358ms (± 1.19%)359ms (± 0.52%)+1ms (+ 0.41%)357ms362ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo430ms (± 1.64%)441ms (± 2.02%)+11ms (+ 2.61%)427ms453ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,721ms (± 6.10%)2,750ms (± 0.55%)+29ms (+ 1.08%)2,728ms2,774ms
Req 2 - geterr5,796ms (± 6.17%)5,784ms (± 0.58%)-12ms (- 0.20%)5,735ms5,820ms
Req 3 - references354ms (± 6.75%)375ms (± 0.50%)+21ms (+ 5.86%)372ms377ms
Req 4 - navto274ms (± 6.21%)272ms (± 0.17%)-1ms (- 0.53%)271ms273ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo86ms (± 7.46%)301ms (± 1.60%)🔻+215ms (+249.60%)296ms306ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,927ms (± 0.58%)2,864ms (± 0.40%)-63ms (- 2.14%)2,852ms2,885ms
Req 2 - geterr4,308ms (± 0.32%)4,317ms (± 0.58%)+9ms (+ 0.20%)4,280ms4,342ms
Req 3 - references376ms (± 0.39%)388ms (± 0.80%)+12ms (+ 3.15%)382ms391ms
Req 4 - navto305ms (± 0.34%)299ms (± 0.64%)-6ms (- 2.03%)297ms302ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo275ms (±35.32%)79ms (± 1.35%)🟩-196ms (-71.13%)77ms81ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen3,769ms (± 0.33%)3,473ms (± 0.67%)🟩-295ms (- 7.83%)3,451ms3,512ms
Req 2 - geterr1,453ms (± 1.34%)1,603ms (± 6.20%)+150ms (+10.32%)1,491ms1,701ms
Req 3 - references107ms (± 2.83%)195ms (±47.50%)🔻+87ms (+81.37%)108ms282ms
Req 4 - navto344ms (± 0.58%)338ms (± 1.62%)-5ms (- 1.57%)332ms343ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo469ms (± 2.07%)485ms (± 0.91%)+16ms (+ 3.45%)481ms493ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen2,815ms (± 6.22%)2,849ms (± 0.73%)+34ms (+ 1.21%)2,816ms2,872ms
Req 2 - geterr6,021ms (± 6.10%)6,203ms (± 0.40%)+182ms (+ 3.02%)6,162ms6,231ms
Req 3 - references370ms (± 6.31%)388ms (± 1.03%)+19ms (+ 5.03%)382ms393ms
Req 4 - navto286ms (± 6.24%)287ms (± 0.85%)+0ms (+ 0.09%)283ms290ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo122ms (±62.31%)83ms (± 9.68%)🟩-39ms (-31.86%)75ms91ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen3,007ms (± 0.45%)3,008ms (± 1.14%)+1ms (+ 0.03%)2,987ms3,075ms
Req 2 - geterr4,576ms (± 0.61%)4,608ms (± 0.95%)+32ms (+ 0.71%)4,577ms4,696ms
Req 3 - references401ms (± 0.82%)415ms (± 1.12%)+14ms (+ 3.50%)410ms423ms
Req 4 - navto307ms (± 1.08%)306ms (± 1.44%)-1ms (- 0.28%)301ms314ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo81ms (± 8.91%)83ms (± 9.39%)+2ms (+ 3.03%)78ms98ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen3,870ms (± 0.54%)3,811ms (± 0.42%)-59ms (- 1.53%)3,792ms3,834ms
Req 2 - geterr1,466ms (± 1.28%)1,477ms (± 1.05%)+11ms (+ 0.74%)1,455ms1,490ms
Req 3 - references128ms (± 2.11%)131ms (± 1.55%)+3ms (+ 2.16%)127ms133ms
Req 4 - navto396ms (± 1.08%)392ms (± 1.29%)-4ms (- 0.99%)384ms397ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo497ms (± 2.05%)502ms (± 2.61%)+6ms (+ 1.11%)485ms521ms
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)
BenchmarkNameIterations
Current521706
Baselinemain6

Startup

Comparison Report - main..52170
Metricmain52170DeltaBestWorst
tsc-startup - node (v16.17.1, x64)
Execution time139.05ms (± 0.21%)140.33ms (± 0.23%)+1.28ms (+ 0.92%)139.26ms144.29ms
tsserver-startup - node (v16.17.1, x64)
Execution time230.70ms (± 0.18%)232.56ms (± 0.25%)+1.85ms (+ 0.80%)230.58ms238.99ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time233.22ms (± 0.22%)235.80ms (± 0.34%)+2.58ms (+ 1.11%)233.00ms242.99ms
typescript-startup - node (v16.17.1, x64)
Execution time215.87ms (± 0.27%)217.56ms (± 0.37%)+1.69ms (+ 0.78%)215.11ms223.76ms
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)
BenchmarkNameIterations
Current521706
Baselinemain6

Developer Information:

Download Benchmark

@rbuckton
Copy link
ContributorAuthor

I think movingautoGenerate off ofIdentifier might be behind the few emit-time increases, given that it is used more frequently than anything else I removed. I may try one more perf run withautoGenerate back onIdentifier.

@jakebailey
Copy link
Member

Something's definitely wrong with the server benchmarks at the moment; watching them run, some CPU time appears to leave the intended CPU core.

Here's the server results on my perf machine without any of the tuning options:

Comparison Report - main..HEAD

MetricmainHEADDeltaBestWorst
Compiler-UnionsTSServer - node (v16.18.1, x64)
Req 1 - updateOpen1,640ms (± 0.43%)1,613ms (± 0.45%)-27ms (- 1.63%)1,598ms1,631ms
Req 2 - geterr3,802ms (± 0.44%)3,786ms (± 0.34%)-16ms (- 0.42%)3,752ms3,811ms
Req 3 - references224ms (± 0.60%)222ms (± 0.40%)-2ms (- 0.72%)220ms224ms
Req 4 - navto181ms (± 8.06%)168ms (± 0.50%)🟩-13ms (- 7.13%)166ms170ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo73ms (± 1.71%)76ms (± 0.87%)+3ms (+ 3.54%)75ms78ms
CompilerTSServer - node (v16.18.1, x64)
Req 1 - updateOpen1,755ms (± 0.75%)1,728ms (± 0.33%)-27ms (- 1.53%)1,714ms1,738ms
Req 2 - geterr2,547ms (± 0.47%)2,537ms (± 0.50%)-10ms (- 0.40%)2,511ms2,570ms
Req 3 - references234ms (± 0.62%)231ms (± 0.38%)-3ms (- 1.32%)230ms233ms
Req 4 - navto183ms (± 0.50%)178ms (± 0.66%)-5ms (- 2.84%)176ms181ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo76ms (± 1.09%)86ms (± 4.43%)+10ms (+13.10%)71ms89ms
xstateTSServer - node (v16.18.1, x64)
Req 1 - updateOpen1,900ms (± 0.31%)1,869ms (± 0.28%)-32ms (- 1.66%)1,854ms1,880ms
Req 2 - geterr897ms (± 0.76%)866ms (± 0.44%)🟩-32ms (- 3.53%)858ms874ms
Req 3 - references75ms (± 1.74%)91ms (± 6.65%)+17ms (+22.55%)75ms96ms
Req 4 - navto231ms (± 0.75%)231ms (± 0.26%)-1ms (- 0.39%)230ms232ms
Req 5 - completionInfo count2,015 (± 0.00%)2,015 (± 0.00%)0 ( 0.00%)2,0152,015
Req 5 - completionInfo246ms (± 1.62%)259ms (± 2.97%)+13ms (+ 5.15%)252ms280ms
System
Machine Nameelcheapo
Platformlinux 6.1.4-arch1-1
Architecturex64
Available Memory8 GB
Available Memory6 GB
CPUs6 × Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
Hosts
  • node (v16.18.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v16.18.1, x64)
  • CompilerTSServer - node (v16.18.1, x64)
  • xstateTSServer - node (v16.18.1, x64)
BenchmarkNameIterations
CurrentHEAD10
Baselinemain10

But without tuning, it's hard to say how much of this is real.

@rbuckton
Copy link
ContributorAuthor

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commentedJan 12, 2023
edited
Loading

Heya@rbuckton, I've started to run the perf test suite on this PR at107d090. You can monitor the buildhere.

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..52170
Metricmain52170DeltaBestWorst
Angular - node (v18.10.0, x64)
Memory used372,387k (± 0.01%)363,634k (± 0.00%)-8,753k (- 2.35%)363,613k363,663k
Parse Time3.94s (± 0.52%)3.94s (± 1.07%)-0.01s (- 0.14%)3.88s4.01s
Bind Time1.20s (± 0.55%)1.20s (± 0.49%)+0.01s (+ 0.62%)1.20s1.21s
Check Time8.64s (± 0.85%)8.72s (± 0.47%)+0.08s (+ 0.95%)8.67s8.77s
Emit Time7.57s (± 0.76%)7.44s (± 0.48%)-0.13s (- 1.69%)7.39s7.50s
Total Time21.35s (± 0.66%)21.31s (± 0.48%)-0.04s (- 0.21%)21.22s21.49s
Compiler-Unions - node (v18.10.0, x64)
Memory used202,185k (± 1.43%)194,341k (± 1.22%)🟩-7,844k (- 3.88%)193,136k199,154k
Parse Time1.64s (± 1.29%)1.63s (± 1.09%)-0.01s (- 0.71%)1.62s1.66s
Bind Time0.79s (± 0.62%)0.80s (± 0.56%)+0.01s (+ 1.57%)0.80s0.81s
Check Time9.48s (± 0.98%)9.60s (± 0.39%)+0.12s (+ 1.25%)9.53s9.63s
Emit Time2.76s (± 0.97%)2.93s (± 5.54%)+0.17s (+ 6.13%)2.76s3.10s
Total Time14.68s (± 0.88%)14.97s (± 1.31%)+0.29s (+ 1.96%)14.74s15.16s
Monaco - node (v18.10.0, x64)
Memory used354,152k (± 0.01%)347,903k (± 0.01%)-6,249k (- 1.76%)347,851k347,938k
Parse Time2.93s (± 0.89%)2.92s (± 0.74%)-0.01s (- 0.22%)2.90s2.96s
Bind Time1.05s (± 0.67%)1.05s (± 0.77%)+0.01s (+ 0.70%)1.04s1.06s
Check Time7.22s (± 0.50%)7.25s (± 0.22%)+0.03s (+ 0.39%)7.24s7.28s
Emit Time4.28s (± 0.39%)4.32s (± 0.65%)+0.04s (+ 0.84%)4.28s4.35s
Total Time15.48s (± 0.32%)15.55s (± 0.25%)+0.07s (+ 0.42%)15.49s15.60s
TFS - node (v18.10.0, x64)
Memory used310,195k (± 0.01%)302,721k (± 0.01%)-7,474k (- 2.41%)302,689k302,735k
Parse Time2.26s (± 0.92%)2.23s (± 1.54%)-0.03s (- 1.14%)2.18s2.28s
Bind Time1.15s (± 1.61%)1.17s (± 0.41%)+0.02s (+ 1.84%)1.17s1.18s
Check Time6.85s (± 0.77%)6.80s (± 0.27%)-0.05s (- 0.69%)6.77s6.83s
Emit Time3.93s (± 0.37%)3.93s (± 0.54%)+0.00s (+ 0.09%)3.90s3.95s
Total Time14.19s (± 0.55%)14.14s (± 0.31%)-0.05s (- 0.34%)14.06s14.17s
material-ui - node (v18.10.0, x64)
Memory used485,277k (± 0.02%)477,961k (± 0.01%)-7,316k (- 1.51%)477,910k477,995k
Parse Time3.53s (± 0.34%)3.49s (± 0.88%)-0.03s (- 0.96%)3.44s3.52s
Bind Time0.97s (± 0.67%)0.96s (± 1.58%)-0.01s (- 0.69%)0.95s0.99s
Check Time16.96s (± 0.37%)16.91s (± 0.39%)-0.05s (- 0.28%)16.81s16.99s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time21.45s (± 0.27%)21.36s (± 0.35%)-0.09s (- 0.40%)21.23s21.45s
xstate - node (v18.10.0, x64)
Memory used570,353k (± 0.02%)550,228k (± 0.01%)🟩-20,125k (- 3.53%)550,180k550,278k
Parse Time4.44s (± 0.76%)4.37s (± 0.62%)-0.07s (- 1.60%)4.33s4.41s
Bind Time1.70s (± 0.47%)1.70s (± 1.02%)-0.01s (- 0.42%)1.68s1.73s
Check Time2.60s (± 0.51%)2.70s (± 0.45%)+0.10s (+ 3.73%)2.68s2.72s
Emit Time0.08s (± 0.18%)0.08s (± 4.91%)+0.00s (+ 2.05%)0.08s0.09s
Total Time8.83s (± 0.40%)8.84s (± 0.42%)+0.02s (+ 0.17%)8.80s8.89s
Angular - node (v16.17.1, x64)
Memory used371,763k (± 0.01%)362,917k (± 0.00%)-8,847k (- 2.38%)362,897k362,941k
Parse Time4.11s (± 0.58%)4.13s (± 0.39%)+0.02s (+ 0.61%)4.11s4.15s
Bind Time1.26s (± 0.61%)1.27s (± 0.87%)+0.01s (+ 0.66%)1.25s1.29s
Check Time9.31s (± 0.72%)9.43s (± 0.38%)+0.12s (+ 1.32%)9.39s9.49s
Emit Time7.99s (± 0.45%)7.92s (± 0.41%)-0.07s (- 0.87%)7.87s7.95s
Total Time22.66s (± 0.29%)22.75s (± 0.28%)+0.08s (+ 0.37%)22.64s22.83s
Compiler-Unions - node (v16.17.1, x64)
Memory used200,547k (± 0.66%)196,861k (± 0.94%)-3,686k (- 1.84%)195,156k198,694k
Parse Time1.81s (± 0.50%)1.81s (± 0.63%)-0.00s (- 0.02%)1.80s1.83s
Bind Time0.84s (± 0.67%)0.84s (± 0.73%)-0.00s (- 0.13%)0.84s0.85s
Check Time10.10s (± 0.66%)10.31s (± 0.44%)+0.21s (+ 2.09%)10.22s10.34s
Emit Time2.97s (± 0.99%)3.03s (± 0.96%)+0.07s (+ 2.26%)2.98s3.07s
Total Time15.72s (± 0.49%)16.00s (± 0.24%)+0.28s (+ 1.76%)15.95s16.04s
Monaco - node (v16.17.1, x64)
Memory used353,472k (± 0.01%)347,250k (± 0.00%)-6,222k (- 1.76%)347,229k347,277k
Parse Time3.17s (± 1.10%)3.14s (± 0.43%)-0.03s (- 1.04%)3.11s3.15s
Bind Time1.12s (± 1.48%)1.13s (± 0.13%)+0.01s (+ 1.11%)1.13s1.13s
Check Time7.85s (± 0.25%)7.85s (± 0.80%)+0.01s (+ 0.11%)7.78s7.96s
Emit Time4.50s (± 0.91%)4.55s (± 0.57%)+0.05s (+ 1.06%)4.52s4.58s
Total Time16.63s (± 0.46%)16.66s (± 0.31%)+0.04s (+ 0.22%)16.59s16.74s
TFS - node (v16.17.1, x64)
Memory used309,554k (± 0.01%)302,122k (± 0.01%)-7,432k (- 2.40%)302,105k302,151k
Parse Time2.62s (± 3.19%)2.44s (± 1.00%)🟩-0.18s (- 6.91%)2.40s2.46s
Bind Time1.08s (± 8.18%)1.26s (± 0.67%)+0.18s (+17.07%)1.25s1.27s
Check Time7.41s (± 0.41%)7.44s (± 0.63%)+0.03s (+ 0.42%)7.39s7.50s
Emit Time4.24s (± 0.40%)4.24s (± 0.85%)+0.01s (+ 0.13%)4.18s4.27s
Total Time15.34s (± 0.44%)15.38s (± 0.47%)+0.04s (+ 0.27%)15.26s15.47s
material-ui - node (v16.17.1, x64)
Memory used484,515k (± 0.01%)477,301k (± 0.02%)-7,214k (- 1.49%)477,234k477,483k
Parse Time3.67s (± 0.23%)3.64s (± 0.34%)-0.03s (- 0.88%)3.62s3.65s
Bind Time1.01s (± 0.62%)1.01s (± 0.63%)-0.00s (- 0.36%)1.00s1.02s
Check Time17.98s (± 0.34%)17.89s (± 0.48%)-0.10s (- 0.54%)17.81s18.02s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time22.67s (± 0.30%)22.54s (± 0.41%)-0.13s (- 0.56%)22.45s22.68s
xstate - node (v16.17.1, x64)
Memory used567,962k (± 0.01%)547,969k (± 0.01%)🟩-19,993k (- 3.52%)547,897k548,106k
Parse Time4.76s (± 0.29%)4.59s (± 0.54%)🟩-0.17s (- 3.48%)4.56s4.62s
Bind Time1.65s (± 0.35%)1.79s (± 0.34%)+0.14s (+ 8.29%)1.78s1.80s
Check Time2.84s (± 0.46%)2.93s (± 0.65%)+0.09s (+ 3.15%)2.89s2.94s
Emit Time0.09s (± 5.93%)0.08s (± 6.37%)-0.00s (- 1.99%)0.08s0.09s
Total Time9.34s (± 0.20%)9.40s (± 0.36%)+0.06s (+ 0.61%)9.36s9.44s
Angular - node (v14.15.1, x64)
Memory used365,420k (± 0.00%)356,640k (± 0.01%)-8,780k (- 2.40%)356,612k356,656k
Parse Time4.15s (± 0.32%)4.14s (± 0.86%)-0.00s (- 0.06%)4.11s4.21s
Bind Time1.30s (± 0.51%)1.30s (± 0.30%)+0.00s (+ 0.10%)1.30s1.31s
Check Time9.67s (± 0.35%)9.71s (± 0.20%)+0.04s (+ 0.39%)9.68s9.74s
Emit Time8.23s (± 0.60%)8.19s (± 0.31%)-0.04s (- 0.45%)8.15s8.23s
Total Time23.35s (± 0.34%)23.35s (± 0.16%)+0.00s (+ 0.01%)23.30s23.39s
Compiler-Unions - node (v14.15.1, x64)
Memory used195,761k (± 0.70%)190,271k (± 0.02%)-5,490k (- 2.80%)190,235k190,307k
Parse Time1.86s (± 0.61%)1.83s (± 0.33%)-0.03s (- 1.73%)1.82s1.84s
Bind Time0.87s (± 0.99%)0.87s (± 0.54%)-0.00s (- 0.41%)0.86s0.88s
Check Time10.12s (± 0.71%)10.27s (± 0.59%)+0.15s (+ 1.48%)10.21s10.39s
Emit Time3.13s (± 1.17%)3.12s (± 1.14%)-0.01s (- 0.41%)3.07s3.17s
Total Time15.99s (± 0.54%)16.09s (± 0.62%)+0.10s (+ 0.64%)16.02s16.29s
Monaco - node (v14.15.1, x64)
Memory used348,299k (± 0.00%)342,094k (± 0.01%)-6,205k (- 1.78%)342,054k342,143k
Parse Time3.27s (± 0.98%)3.23s (± 0.96%)-0.04s (- 1.12%)3.19s3.29s
Bind Time1.13s (± 1.34%)1.13s (± 1.11%)-0.00s (- 0.25%)1.12s1.15s
Check Time8.14s (± 0.47%)8.18s (± 0.52%)+0.04s (+ 0.47%)8.11s8.24s
Emit Time4.74s (± 0.89%)4.75s (± 0.37%)+0.01s (+ 0.25%)4.72s4.77s
Total Time17.28s (± 0.24%)17.29s (± 0.29%)+0.01s (+ 0.06%)17.23s17.37s
TFS - node (v14.15.1, x64)
Memory used304,471k (± 0.01%)296,996k (± 0.01%)-7,474k (- 2.45%)296,967k297,035k
Parse Time2.74s (± 1.42%)2.70s (± 0.81%)-0.04s (- 1.29%)2.67s2.72s
Bind Time1.10s (± 0.61%)1.09s (± 1.46%)-0.00s (- 0.20%)1.08s1.12s
Check Time7.74s (± 0.76%)7.72s (± 0.49%)-0.03s (- 0.35%)7.66s7.76s
Emit Time4.59s (± 1.42%)4.58s (± 0.97%)-0.01s (- 0.26%)4.51s4.63s
Total Time16.17s (± 0.72%)16.10s (± 0.48%)-0.08s (- 0.46%)15.98s16.22s
material-ui - node (v14.15.1, x64)
Memory used479,973k (± 0.00%)472,772k (± 0.00%)-7,201k (- 1.50%)472,760k472,797k
Parse Time3.89s (± 0.69%)3.84s (± 0.46%)-0.05s (- 1.29%)3.82s3.86s
Bind Time1.05s (± 0.80%)1.04s (± 0.53%)-0.01s (- 0.76%)1.03s1.05s
Check Time19.01s (± 0.85%)18.86s (± 0.61%)-0.15s (- 0.79%)18.73s19.02s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time23.96s (± 0.67%)23.75s (± 0.48%)-0.20s (- 0.85%)23.63s23.92s
xstate - node (v14.15.1, x64)
Memory used556,344k (± 0.00%)536,120k (± 0.00%)🟩-20,224k (- 3.64%)536,104k536,143k
Parse Time5.16s (± 0.76%)5.00s (± 0.74%)🟩-0.16s (- 3.03%)4.94s5.05s
Bind Time1.59s (± 0.31%)1.67s (± 0.27%)+0.08s (+ 4.99%)1.66s1.67s
Check Time3.00s (± 0.78%)3.08s (± 0.25%)+0.08s (+ 2.67%)3.07s3.09s
Emit Time0.10s (± 0.15%)0.10s (± 4.00%)+0.00s (+ 1.73%)0.10s0.11s
Total Time9.84s (± 0.44%)9.84s (± 0.48%)+0.00s (+ 0.02%)9.75s9.87s
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)
BenchmarkNameIterations
Current521706
Baselinemain6

TSServer

Comparison Report - main..52170
Metricmain52170DeltaBestWorst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,561ms (± 0.56%)2,441ms (± 7.35%)🟩-120ms (- 4.70%)2,172ms2,589ms
Req 2 - geterr5,362ms (± 0.59%)5,170ms (± 7.58%)🟩-192ms (- 3.58%)4,654ms5,494ms
Req 3 - references373ms (± 1.48%)361ms (± 6.97%)🟩-11ms (- 3.06%)329ms390ms
Req 4 - navto281ms (± 1.59%)276ms (± 7.51%)-5ms (- 1.70%)243ms294ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo304ms (± 2.03%)72ms (±10.17%)🟩-232ms (-76.31%)63ms82ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,317ms (±30.42%)2,686ms (± 1.20%)+369ms (+15.92%)2,653ms2,738ms
Req 2 - geterr3,332ms (±30.48%)3,973ms (± 0.54%)+641ms (+19.22%)3,945ms3,996ms
Req 3 - references303ms (±30.94%)368ms (± 1.18%)+65ms (+21.60%)362ms374ms
Req 4 - navto248ms (±29.96%)294ms (± 0.65%)+47ms (+18.80%)293ms297ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo58ms (±32.29%)75ms (± 8.90%)🔻+17ms (+30.09%)66ms82ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen3,379ms (± 0.31%)3,328ms (± 0.35%)-51ms (- 1.51%)3,311ms3,339ms
Req 2 - geterr1,544ms (± 1.10%)1,392ms (± 0.73%)🟩-152ms (- 9.87%)1,380ms1,409ms
Req 3 - references103ms (± 2.78%)253ms (± 1.24%)🔻+150ms (+145.25%)247ms256ms
Req 4 - navto358ms (± 1.19%)357ms (± 0.47%)-1ms (- 0.18%)356ms360ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo430ms (± 1.64%)447ms (± 2.67%)+17ms (+ 3.95%)430ms462ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,721ms (± 6.10%)2,741ms (± 2.22%)+20ms (+ 0.73%)2,621ms2,787ms
Req 2 - geterr5,796ms (± 6.17%)5,756ms (± 2.30%)-39ms (- 0.68%)5,487ms5,831ms
Req 3 - references354ms (± 6.75%)374ms (± 2.60%)+20ms (+ 5.61%)354ms381ms
Req 4 - navto274ms (± 6.21%)271ms (± 1.98%)-3ms (- 0.98%)260ms274ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo86ms (± 7.46%)147ms (±80.85%)🔻+61ms (+71.45%)67ms304ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,927ms (± 0.58%)2,877ms (± 0.31%)-49ms (- 1.69%)2,868ms2,889ms
Req 2 - geterr4,308ms (± 0.32%)4,313ms (± 0.26%)+4ms (+ 0.10%)4,301ms4,329ms
Req 3 - references376ms (± 0.39%)383ms (± 0.32%)+7ms (+ 1.76%)382ms384ms
Req 4 - navto305ms (± 0.34%)299ms (± 0.93%)-6ms (- 2.10%)294ms302ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo275ms (±35.32%)89ms (± 6.99%)🟩-186ms (-67.70%)77ms94ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen3,769ms (± 0.33%)3,488ms (± 0.41%)🟩-280ms (- 7.44%)3,459ms3,500ms
Req 2 - geterr1,453ms (± 1.34%)1,564ms (± 4.07%)+111ms (+ 7.65%)1,529ms1,694ms
Req 3 - references107ms (± 2.83%)251ms (±28.32%)🔻+144ms (+133.89%)106ms288ms
Req 4 - navto344ms (± 0.58%)333ms (± 1.57%)🟩-11ms (- 3.16%)330ms343ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo469ms (± 2.07%)481ms (± 2.09%)+12ms (+ 2.47%)462ms491ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen2,815ms (± 6.22%)2,847ms (± 0.23%)+32ms (+ 1.15%)2,838ms2,856ms
Req 2 - geterr6,021ms (± 6.10%)6,201ms (± 0.64%)+180ms (+ 2.99%)6,152ms6,258ms
Req 3 - references370ms (± 6.31%)390ms (± 1.29%)+20ms (+ 5.53%)385ms399ms
Req 4 - navto286ms (± 6.24%)288ms (± 1.01%)+2ms (+ 0.63%)286ms293ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo122ms (±62.31%)80ms (± 9.14%)🟩-41ms (-33.80%)73ms92ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen3,007ms (± 0.45%)3,005ms (± 0.68%)-2ms (- 0.05%)2,984ms3,034ms
Req 2 - geterr4,576ms (± 0.61%)4,626ms (± 0.69%)+50ms (+ 1.09%)4,582ms4,670ms
Req 3 - references401ms (± 0.82%)416ms (± 0.53%)+15ms (+ 3.77%)413ms418ms
Req 4 - navto307ms (± 1.08%)306ms (± 1.74%)-1ms (- 0.31%)296ms311ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo81ms (± 8.91%)85ms (± 8.13%)+5ms (+ 5.85%)78ms97ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen3,870ms (± 0.54%)3,790ms (± 0.40%)-80ms (- 2.06%)3,779ms3,818ms
Req 2 - geterr1,466ms (± 1.28%)1,468ms (± 0.82%)+2ms (+ 0.14%)1,453ms1,482ms
Req 3 - references128ms (± 2.11%)127ms (± 3.97%)-2ms (- 1.20%)122ms133ms
Req 4 - navto396ms (± 1.08%)395ms (± 1.67%)-1ms (- 0.25%)388ms405ms
Req 5 - completionInfo count3,154 (± 0.00%)3,154 (± 0.00%)0 ( 0.00%)3,1543,154
Req 5 - completionInfo497ms (± 2.05%)493ms (± 2.05%)-4ms (- 0.80%)478ms505ms
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)
BenchmarkNameIterations
Current521706
Baselinemain6

Startup

Comparison Report - main..52170
Metricmain52170DeltaBestWorst
tsc-startup - node (v16.17.1, x64)
Execution time139.05ms (± 0.21%)139.38ms (± 0.27%)+0.33ms (+ 0.24%)138.31ms149.83ms
tsserver-startup - node (v16.17.1, x64)
Execution time230.70ms (± 0.18%)230.51ms (± 0.20%)-0.19ms (- 0.08%)229.03ms239.70ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time233.22ms (± 0.22%)233.56ms (± 0.25%)+0.34ms (+ 0.15%)232.04ms244.00ms
typescript-startup - node (v16.17.1, x64)
Execution time215.87ms (± 0.27%)215.24ms (± 0.16%)-0.63ms (- 0.29%)214.08ms221.14ms
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)
BenchmarkNameIterations
Current521706
Baselinemain6

Developer Information:

Download Benchmark

@rbuckton
Copy link
ContributorAuthor

I guess revertingautoGenerate doesn't have as much of an impact as I thought, so I'll revert the last commit.

@jakebailey
Copy link
Member

Comparison Report - main..HEAD

MetricmainHEADDeltaBestWorst
Compiler-UnionsTSServer - node (v16.18.1, x64)
Req 1 - updateOpen3,223ms (± 0.79%)3,160ms (± 0.70%)-63ms (- 1.96%)3,102ms3,212ms
Req 2 - geterr6,830ms (± 1.47%)6,700ms (± 0.31%)-130ms (- 1.90%)6,640ms6,732ms
Req 3 - references410ms (± 0.30%)426ms (± 0.46%)+17ms (+ 4.03%)422ms431ms
Req 4 - navto303ms (± 1.05%)303ms (± 0.12%)-1ms (- 0.26%)302ms303ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo104ms (± 3.50%)85ms (± 0.43%)🟩-19ms (-18.26%)84ms85ms
CompilerTSServer - node (v16.18.1, x64)
Req 1 - updateOpen3,400ms (± 0.19%)3,342ms (± 0.27%)-58ms (- 1.70%)3,324ms3,364ms
Req 2 - geterr5,028ms (± 0.38%)5,037ms (± 0.27%)+9ms (+ 0.18%)5,003ms5,077ms
Req 3 - references422ms (± 0.48%)439ms (± 0.80%)+17ms (+ 4.06%)431ms444ms
Req 4 - navto318ms (± 1.26%)308ms (± 0.31%)🟩-10ms (- 3.11%)305ms309ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo85ms (± 1.04%)93ms (± 0.39%)+7ms (+ 8.43%)92ms93ms
xstateTSServer - node (v16.18.1, x64)
Req 1 - updateOpen3,472ms (± 0.33%)3,382ms (± 0.24%)-90ms (- 2.59%)3,366ms3,402ms
Req 2 - geterr1,688ms (± 0.78%)1,736ms (± 1.07%)+48ms (+ 2.84%)1,689ms1,762ms
Req 3 - references119ms (± 0.79%)123ms (± 0.49%)+4ms (+ 2.94%)121ms124ms
Req 4 - navto387ms (± 0.22%)389ms (± 0.38%)+2ms (+ 0.49%)383ms390ms
Req 5 - completionInfo count2,015 (± 0.00%)2,015 (± 0.00%)0 ( 0.00%)2,0152,015
Req 5 - completionInfo376ms (± 0.99%)391ms (± 0.81%)+15ms (+ 3.86%)382ms399ms
System
Machine Nameelcheapo
Platformlinux 6.1.4-arch1-1
Architecturex64
Available Memory8 GB
Available Memory6 GB
CPUs6 × Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
Hosts
  • node (v16.18.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v16.18.1, x64)
  • CompilerTSServer - node (v16.18.1, x64)
  • xstateTSServer - node (v16.18.1, x64)
BenchmarkNameIterations
CurrentHEAD10
Baselinemain10

For hopefully more fixed tsserver benchmarks...

@jakebailey
Copy link
Member

I've run it again on this machine in a different order and got the same result, effectively.

Comparison Report - main..HEAD

MetricmainHEADDeltaBestWorst
Compiler-UnionsTSServer - node (v16.18.1, x64)
Req 1 - updateOpen3,234ms (± 0.39%)3,176ms (± 0.55%)-58ms (- 1.79%)3,146ms3,207ms
Req 2 - geterr6,837ms (± 1.50%)6,688ms (± 0.43%)-149ms (- 2.18%)6,637ms6,778ms
Req 3 - references410ms (± 0.22%)425ms (± 0.13%)+15ms (+ 3.69%)424ms426ms
Req 4 - navto305ms (± 0.84%)303ms (± 0.16%)-2ms (- 0.79%)302ms304ms
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)0 ( 0.00%)1,3561,356
Req 5 - completionInfo101ms (± 5.48%)85ms (± 0.68%)🟩-16ms (-15.89%)84ms86ms
CompilerTSServer - node (v16.18.1, x64)
Req 1 - updateOpen3,397ms (± 0.16%)3,339ms (± 0.21%)-58ms (- 1.71%)3,326ms3,358ms
Req 2 - geterr5,018ms (± 0.25%)5,022ms (± 0.30%)+4ms (+ 0.08%)4,994ms5,067ms
Req 3 - references423ms (± 0.21%)440ms (± 0.45%)+17ms (+ 4.04%)433ms444ms
Req 4 - navto318ms (± 0.29%)308ms (± 0.10%)🟩-10ms (- 3.02%)308ms309ms
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)0 ( 0.00%)1,5181,518
Req 5 - completionInfo87ms (± 0.39%)93ms (± 0.48%)+6ms (+ 6.30%)92ms94ms
xstateTSServer - node (v16.18.1, x64)
Req 1 - updateOpen3,476ms (± 0.51%)3,390ms (± 0.26%)-87ms (- 2.50%)3,374ms3,420ms
Req 2 - geterr1,675ms (± 1.31%)1,735ms (± 0.67%)+60ms (+ 3.56%)1,697ms1,762ms
Req 3 - references119ms (± 0.44%)122ms (± 0.40%)+4ms (+ 2.94%)121ms123ms
Req 4 - navto386ms (± 0.53%)388ms (± 0.53%)+2ms (+ 0.57%)383ms390ms
Req 5 - completionInfo count2,015 (± 0.00%)2,015 (± 0.00%)0 ( 0.00%)2,0152,015
Req 5 - completionInfo379ms (± 1.23%)389ms (± 0.53%)+10ms (+ 2.67%)386ms394ms
System
Machine Nameelcheapo
Platformlinux 6.1.4-arch1-1
Architecturex64
Available Memory8 GB
Available Memory6 GB
CPUs6 × Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
Hosts
  • node (v16.18.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v16.18.1, x64)
  • CompilerTSServer - node (v16.18.1, x64)
  • xstateTSServer - node (v16.18.1, x64)
BenchmarkNameIterations
CurrentHEAD10
Baselinemain10

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@DanielRosenwasserDanielRosenwasserDanielRosenwasser left review comments

@jakebaileyjakebaileyjakebailey approved these changes

@sandersnsandersnsandersn approved these changes

Assignees

@rbucktonrbuckton

Labels
Author: TeamFor Uncommitted BugPR for untriaged, rejected, closed or missing bug
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

5 participants
@rbuckton@typescript-bot@DanielRosenwasser@jakebailey@sandersn

[8]ページ先頭

©2009-2025 Movatter.jp