Skip to content

Make types monomorphic - #59191

Closed
Titian Cernicova-Dragomir (dragomirtitian) wants to merge 1 commit into
microsoft:mainfrom
bloomberg:experiment-monomorphic-type
Closed

Make types monomorphic#59191
Titian Cernicova-Dragomir (dragomirtitian) wants to merge 1 commit into
microsoft:mainfrom
bloomberg:experiment-monomorphic-type

Conversation

@dragomirtitian

Copy link
Copy Markdown
Contributor

Part of #58928 - Only make types monomorphic.

@typescript-botTypeScript Bot (typescript-bot) added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Jul 8, 2024
@jakebailey

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Jul 8, 2024

Copy link
Copy Markdown
Contributor

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

CommandStatusResults
perf test this✅ Started👀 Results

@typescript-bot

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-Unions - node (v18.15.0, x64)
Errors3030~~~p=1.000 n=6
Symbols62,15362,153~~~p=1.000 n=6
Types50,24250,242~~~p=1.000 n=6
Memory used192,820k (± 0.76%)194,722k (± 0.79%)+1,901k (+ 0.99%)194,060k197,861kp=0.045 n=6
Parse Time1.30s (± 0.42%)1.31s (± 0.31%)~1.31s1.32sp=0.054 n=6
Bind Time0.71s0.71s~~~p=1.000 n=6
Check Time9.42s (± 0.27%)7.75s (± 0.69%)🟩-1.67s (-17.74%)7.65s7.79sp=0.005 n=6
Emit Time2.74s (± 0.76%)2.71s (± 0.49%)-0.03s (- 1.03%)2.69s2.73sp=0.043 n=6
Total Time14.18s (± 0.19%)12.48s (± 0.36%)🟩-1.70s (-11.95%)12.40s12.52sp=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols944,114944,114~~~p=1.000 n=6
Types407,050407,050~~~p=1.000 n=6
Memory used1,218,350k (± 0.00%)1,231,603k (± 0.00%)+13,253k (+ 1.09%)1,231,532k1,231,637kp=0.005 n=6
Parse Time7.94s (± 0.37%)7.97s (± 0.67%)~7.93s8.07sp=0.293 n=6
Bind Time2.21s (± 0.83%)2.21s (± 0.74%)~2.19s2.24sp=0.622 n=6
Check Time35.60s (± 0.30%)31.65s (± 0.28%)🟩-3.95s (-11.10%)31.53s31.73sp=0.005 n=6
Emit Time16.11s (± 0.75%)16.07s (± 0.49%)~15.92s16.13sp=1.000 n=6
Total Time61.86s (± 0.26%)57.90s (± 0.12%)🟩-3.96s (- 6.40%)57.81s58.00sp=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,130,3432,130,343~~~p=1.000 n=6
Types927,684927,684~~~p=1.000 n=6
Memory used2,107,307k (± 0.01%)2,132,992k (± 0.00%)+25,685k (+ 1.22%)2,132,934k2,133,060kp=0.005 n=6
Parse Time6.61s (± 0.32%)6.61s (± 0.22%)~6.59s6.63sp=0.744 n=6
Bind Time2.33s (± 0.98%)2.32s (± 0.35%)~2.31s2.33sp=0.869 n=6
Check Time70.41s (± 1.24%)54.51s (± 0.16%)🟩-15.90s (-22.59%)54.40s54.60sp=0.005 n=6
Emit Time0.14s (± 5.44%)0.14s (± 2.95%)~0.13s0.14sp=1.000 n=6
Total Time79.49s (± 1.08%)63.58s (± 0.13%)🟩-15.91s (-20.02%)63.46s63.67sp=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,225,5881,228,769+3,181 (+ 0.26%)~~p=0.001 n=6
Types261,474261,559+85 (+ 0.03%)~~p=0.001 n=6
Memory used2,341,105k (± 0.01%)2,358,676k (± 0.06%)+17,570k (+ 0.75%)2,357,042k2,360,562kp=0.005 n=6
Parse Time5.03s (± 1.19%)5.00s (± 0.86%)~4.94s5.05sp=0.575 n=6
Bind Time1.90s (± 0.80%)1.94s (± 2.23%)+0.04s (+ 2.37%)1.90s2.02sp=0.023 n=6
Check Time34.17s (± 0.31%)30.91s (± 0.24%)🟩-3.26s (- 9.54%)30.81s30.99sp=0.005 n=6
Emit Time2.60s (± 2.82%)2.62s (± 3.18%)~2.51s2.72sp=0.873 n=6
Total Time43.72s (± 0.20%)40.50s (± 0.31%)🟩-3.22s (- 7.37%)40.32s40.67sp=0.005 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,225,5881,228,769+3,181 (+ 0.26%)~~p=0.001 n=6
Types261,474261,559+85 (+ 0.03%)~~p=0.001 n=6
Memory used2,414,993k (± 0.03%)2,442,836k (± 1.01%)+27,843k (+ 1.15%)2,431,943k2,493,227kp=0.005 n=6
Parse Time6.27s (± 0.88%)6.31s (± 1.05%)~6.22s6.39sp=0.423 n=6
Bind Time2.03s (± 0.90%)2.04s (± 0.84%)~2.02s2.07sp=0.413 n=6
Check Time40.87s (± 0.71%)37.00s (± 0.08%)🟩-3.87s (- 9.47%)36.98s37.05sp=0.005 n=6
Emit Time3.23s (± 6.29%)3.20s (± 2.40%)~3.12s3.32sp=0.521 n=6
Total Time52.40s (± 0.72%)48.58s (± 0.25%)🟩-3.82s (- 7.28%)48.44s48.78sp=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols258,188258,776+588 (+ 0.23%)~~p=0.001 n=6
Types104,737104,887+150 (+ 0.14%)~~p=0.001 n=6
Memory used427,458k (± 0.01%)432,522k (± 0.02%)+5,064k (+ 1.18%)432,425k432,664kp=0.005 n=6
Parse Time4.07s (± 0.52%)4.08s (± 0.48%)~4.05s4.10sp=0.367 n=6
Bind Time1.61s (± 1.69%)1.64s (± 1.58%)~1.60s1.66sp=0.090 n=6
Check Time22.02s (± 0.31%)19.39s (± 0.20%)🟩-2.63s (-11.94%)19.33s19.43sp=0.005 n=6
Emit Time1.56s (± 1.12%)1.55s (± 1.20%)~1.52s1.57sp=0.511 n=6
Total Time29.26s (± 0.31%)26.66s (± 0.25%)🟩-2.60s (- 8.90%)26.59s26.75sp=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors3535~~~p=1.000 n=6
Symbols224,565224,565~~~p=1.000 n=6
Types93,73493,734~~~p=1.000 n=6
Memory used369,526k (± 0.02%)373,034k (± 0.04%)+3,507k (+ 0.95%)372,890k373,307kp=0.005 n=6
Parse Time2.31s (± 0.45%)2.31s (± 0.59%)~2.30s2.34sp=0.391 n=6
Bind Time1.33s (± 1.62%)1.32s (± 0.31%)~1.32s1.33sp=0.473 n=6
Check Time13.12s (± 0.34%)11.66s (± 0.29%)🟩-1.46s (-11.15%)11.60s11.69sp=0.005 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time16.76s (± 0.24%)15.29s (± 0.24%)🟩-1.47s (- 8.75%)15.23s15.32sp=0.005 n=6
vscode - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,884,9102,884,910~~~p=1.000 n=6
Types976,550976,550~~~p=1.000 n=6
Memory used3,047,952k (± 0.00%)3,080,785k (± 0.00%)+32,833k (+ 1.08%)3,080,741k3,080,848kp=0.005 n=6
Parse Time13.75s (± 0.16%)13.76s (± 0.46%)~13.68s13.84sp=1.000 n=6
Bind Time4.21s (± 2.04%)4.17s (± 0.25%)~4.15s4.18sp=0.250 n=6
Check Time75.18s (± 2.30%)70.14s (± 0.22%)🟩-5.03s (- 6.69%)69.88s70.37sp=0.005 n=6
Emit Time22.48s (± 8.25%)20.21s (± 0.55%)~20.08s20.40sp=0.066 n=6
Total Time115.62s (± 0.30%)108.29s (± 0.25%)🟩-7.33s (- 6.34%)107.95s108.75sp=0.005 n=6
webpack - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols267,117267,117~~~p=1.000 n=6
Types108,775108,775~~~p=1.000 n=6
Memory used411,548k (± 0.01%)415,575k (± 0.01%)+4,027k (+ 0.98%)415,522k415,630kp=0.005 n=6
Parse Time3.18s (± 0.70%)3.16s (± 0.64%)~3.14s3.18sp=0.111 n=6
Bind Time1.42s (± 0.53%)1.42s (± 0.29%)~1.41s1.42sp=1.000 n=6
Check Time14.20s (± 0.31%)13.44s (± 0.30%)🟩-0.76s (- 5.33%)13.41s13.52sp=0.005 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time18.80s (± 0.20%)18.03s (± 0.32%)🟩-0.78s (- 4.13%)17.97s18.12sp=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols525,251525,251~~~p=1.000 n=6
Types178,574178,574~~~p=1.000 n=6
Memory used462,773k (± 0.07%)468,377k (± 0.04%)+5,604k (+ 1.21%)468,216k468,625kp=0.005 n=6
Parse Time3.93s (± 0.39%)3.92s (± 0.62%)~3.89s3.96sp=0.684 n=6
Bind Time1.45s (± 1.07%)1.46s (± 1.81%)~1.44s1.51sp=0.337 n=6
Check Time22.14s (± 0.22%)19.48s (± 0.34%)🟩-2.66s (-12.01%)19.38s19.58sp=0.005 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time27.52s (± 0.21%)24.87s (± 0.27%)🟩-2.65s (- 9.62%)24.79s24.98sp=0.005 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

tsserver

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen3,425ms (± 0.64%)3,430ms (± 0.49%)~3,401ms3,442msp=0.470 n=6
Req 2 - geterr7,503ms (± 0.44%)6,637ms (± 0.60%)🟩-866ms (-11.54%)6,593ms6,685msp=0.005 n=6
Req 3 - references394ms (± 0.25%)395ms (± 0.31%)~394ms397msp=0.734 n=6
Req 4 - navto340ms (± 0.22%)340ms (± 0.49%)~338ms342msp=1.000 n=6
Req 5 - completionInfo count1,3571,357~~~p=1.000 n=6
Req 5 - completionInfo130ms (± 1.15%)118ms (± 6.42%)🟩-12ms (- 9.21%)112ms128msp=0.007 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen3,591ms (± 1.30%)3,590ms (± 0.65%)~3,560ms3,624msp=0.936 n=6
Req 2 - geterr5,552ms (± 0.55%)5,278ms (± 0.08%)🟩-274ms (- 4.93%)5,273ms5,283msp=0.005 n=6
Req 3 - references416ms (± 0.25%)415ms (± 0.20%)~413ms415msp=0.122 n=6
Req 4 - navto338ms (± 0.75%)338ms (± 1.88%)~334ms351msp=0.189 n=6
Req 5 - completionInfo count1,5191,519~~~p=1.000 n=6
Req 5 - completionInfo110ms (± 0.37%)104ms (± 6.68%)~99ms117msp=0.056 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen7,736ms (± 0.40%)7,740ms (± 0.26%)~7,700ms7,756msp=0.689 n=6
Req 2 - geterr1,699ms (± 0.64%)1,544ms (± 1.44%)🟩-155ms (- 9.12%)1,527ms1,588msp=0.005 n=6
Req 3 - references113ms (± 4.07%)111ms (± 0.99%)~110ms113msp=0.652 n=6
Req 4 - navto594ms (± 1.32%)597ms (± 2.84%)~581ms628msp=0.747 n=6
Req 5 - completionInfo count3,4133,413~~~p=1.000 n=6
Req 5 - completionInfo1,228ms (± 2.28%)1,251ms (± 0.56%)~1,241ms1,259msp=0.066 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

startup

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
tsc-startup - node (v18.15.0, x64)
Execution time188.10ms (± 0.18%)188.53ms (± 0.16%)+0.42ms (+ 0.23%)187.03ms193.25msp=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time345.09ms (± 0.28%)346.12ms (± 0.29%)+1.04ms (+ 0.30%)337.34ms349.93msp=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time336.76ms (± 0.31%)337.88ms (± 0.30%)+1.12ms (+ 0.33%)329.83ms344.39msp=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time226.11ms (± 0.16%)226.96ms (± 0.20%)+0.85ms (+ 0.37%)225.16ms236.15msp=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)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

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

Labels

For Uncommitted BugPR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@dragomirtitian@jakebailey@typescript-bot@RyanCavanaugh