Skip to content

Make AST nodes monomorphic. - #59190

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

Make AST nodes monomorphic.#59190
Titian Cernicova-Dragomir (dragomirtitian) wants to merge 1 commit into
microsoft:mainfrom
bloomberg:experiment-monomorphic-ast-node

Conversation

@dragomirtitian

@dragomirtitianTitian Cernicova-Dragomir (dragomirtitian) commented Jul 8, 2024

Copy link
Copy Markdown
Contributor

Part of #58928 - Only make AST nodes 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 used194,506k (± 0.95%)196,928k (± 0.98%)~194,304k198,296kp=0.128 n=6
Parse Time1.96s (± 1.09%)2.01s (± 1.40%)+0.04s (+ 2.29%)1.97s2.04sp=0.016 n=6
Bind Time1.07s (± 0.70%)1.01s (± 0.51%)🟩-0.06s (- 5.77%)1.00s1.01sp=0.004 n=6
Check Time13.82s (± 0.42%)12.99s (± 0.38%)🟩-0.82s (- 5.95%)12.93s13.06sp=0.005 n=6
Emit Time4.01s (± 0.66%)3.87s (± 4.57%)~3.78s4.23sp=0.065 n=6
Total Time20.85s (± 0.33%)19.88s (± 0.79%)🟩-0.97s (- 4.68%)19.76s20.18sp=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,317k (± 0.00%)1,230,978k (± 0.00%)+12,661k (+ 1.04%)1,230,896k1,231,038kp=0.005 n=6
Parse Time7.97s (± 0.46%)7.77s (± 0.99%)-0.20s (- 2.49%)7.69s7.91sp=0.005 n=6
Bind Time2.22s (± 0.49%)1.90s (± 0.61%)🟩-0.32s (-14.34%)1.89s1.92sp=0.005 n=6
Check Time35.76s (± 0.25%)31.81s (± 0.25%)🟩-3.95s (-11.04%)31.71s31.92sp=0.005 n=6
Emit Time16.14s (± 0.38%)15.02s (± 0.33%)🟩-1.12s (- 6.95%)14.95s15.08sp=0.005 n=6
Total Time62.09s (± 0.16%)56.50s (± 0.17%)🟩-5.59s (- 9.00%)56.38s56.65sp=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,272k (± 0.01%)2,118,068k (± 0.01%)+10,796k (+ 0.51%)2,117,826k2,118,284kp=0.005 n=6
Parse Time9.65s (± 0.35%)9.72s (± 0.35%)+0.06s (+ 0.66%)9.66s9.75sp=0.016 n=6
Bind Time3.38s (± 0.85%)3.32s (± 1.30%)-0.06s (- 1.73%)3.28s3.40sp=0.045 n=6
Check Time101.78s (± 1.32%)98.37s (± 1.81%)🟩-3.41s (- 3.35%)94.83s99.82sp=0.010 n=6
Emit Time0.20s (± 4.95%)0.59s (±162.22%)~0.19s2.56sp=0.452 n=6
Total Time115.00s (± 1.12%)111.99s (± 0.77%)-3.01s (- 2.62%)110.45s113.05sp=0.008 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,225,5881,241,003+15,415 (+ 1.26%)~~p=0.001 n=6
Types261,474265,578+4,104 (+ 1.57%)~~p=0.001 n=6
Memory used2,341,892k (± 0.05%)2,380,755k (± 0.05%)+38,863k (+ 1.66%)2,379,569k2,382,954kp=0.005 n=6
Parse Time7.53s (± 1.64%)7.43s (± 0.86%)~7.37s7.55sp=0.054 n=6
Bind Time2.79s (± 1.00%)2.43s (± 1.31%)🟩-0.36s (-13.01%)2.37s2.46sp=0.005 n=6
Check Time49.53s (± 0.34%)46.13s (± 0.12%)🟩-3.40s (- 6.86%)46.05s46.21sp=0.005 n=6
Emit Time3.96s (± 6.88%)3.84s (± 2.83%)~3.69s3.95sp=0.572 n=6
Total Time63.83s (± 0.74%)59.85s (± 0.26%)🟩-3.98s (- 6.23%)59.60s60.00sp=0.005 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,225,5881,241,003+15,415 (+ 1.26%)~~p=0.001 n=6
Types261,474265,578+4,104 (+ 1.57%)~~p=0.001 n=6
Memory used2,415,416k (± 0.03%)2,468,034k (± 0.03%)+52,618k (+ 2.18%)2,467,168k2,468,800kp=0.005 n=6
Parse Time7.80s (± 0.67%)7.57s (± 1.30%)-0.23s (- 2.93%)7.46s7.72sp=0.008 n=6
Bind Time2.52s (± 0.99%)2.40s (± 5.41%)🟩-0.13s (- 4.95%)2.14s2.48sp=0.005 n=6
Check Time50.22s (± 0.15%)46.25s (± 0.65%)🟩-3.96s (- 7.89%)45.85s46.71sp=0.005 n=6
Emit Time3.92s (± 1.10%)3.92s (± 2.59%)~3.81s4.10sp=0.689 n=6
Total Time64.46s (± 0.15%)60.16s (± 0.50%)🟩-4.30s (- 6.68%)59.81s60.56sp=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols258,188267,793+9,605 (+ 3.72%)~~p=0.001 n=6
Types104,737108,955🔻+4,218 (+ 4.03%)~~p=0.001 n=6
Memory used427,467k (± 0.00%)438,091k (± 0.01%)+10,624k (+ 2.49%)438,062k438,125kp=0.005 n=6
Parse Time3.27s (± 0.83%)3.33s (± 0.83%)+0.06s (+ 1.73%)3.31s3.37sp=0.009 n=6
Bind Time1.31s (± 0.92%)1.19s (± 0.86%)🟩-0.12s (- 9.14%)1.18s1.21sp=0.004 n=6
Check Time17.86s (± 0.33%)16.61s (± 0.21%)🟩-1.25s (- 7.02%)16.56s16.66sp=0.005 n=6
Emit Time1.26s (± 1.17%)1.27s (± 1.26%)~1.25s1.29sp=0.511 n=6
Total Time23.71s (± 0.30%)22.40s (± 0.25%)🟩-1.31s (- 5.52%)22.31s22.47sp=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,484k (± 0.04%)372,274k (± 0.01%)+2,790k (+ 0.76%)372,238k372,314kp=0.005 n=6
Parse Time2.76s (± 1.06%)2.79s (± 1.05%)~2.75s2.83sp=0.126 n=6
Bind Time1.59s (± 1.08%)1.43s (± 1.37%)🟩-0.16s (- 9.95%)1.42s1.47sp=0.005 n=6
Check Time15.49s (± 0.43%)14.05s (± 0.24%)🟩-1.45s (- 9.34%)14.01s14.09sp=0.005 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time19.84s (± 0.34%)18.27s (± 0.22%)🟩-1.57s (- 7.91%)18.21s18.31sp=0.004 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,987k (± 0.00%)3,078,974k (± 0.00%)+30,987k (+ 1.02%)3,078,878k3,079,034kp=0.005 n=6
Parse Time16.94s (± 0.60%)16.53s (± 0.31%)-0.41s (- 2.43%)16.44s16.59sp=0.005 n=6
Bind Time5.13s (± 1.69%)4.20s (± 0.51%)🟩-0.93s (-18.18%)4.18s4.23sp=0.005 n=6
Check Time91.45s (± 2.10%)84.60s (± 0.24%)🟩-6.85s (- 7.49%)84.30s84.82sp=0.005 n=6
Emit Time27.17s (± 6.77%)24.83s (± 1.03%)~24.64s25.33sp=0.066 n=6
Total Time140.70s (± 0.20%)130.17s (± 0.33%)🟩-10.54s (- 7.49%)129.68s130.94sp=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,603k (± 0.02%)414,314k (± 0.01%)+2,711k (+ 0.66%)414,250k414,384kp=0.005 n=6
Parse Time3.17s (± 0.42%)3.14s (± 0.74%)-0.03s (- 0.89%)3.12s3.17sp=0.046 n=6
Bind Time1.41s (± 0.29%)1.26s (± 0.41%)🟩-0.15s (-10.51%)1.26s1.27sp=0.003 n=6
Check Time14.23s (± 0.14%)12.85s (± 0.49%)🟩-1.38s (- 9.70%)12.79s12.96sp=0.005 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time18.81s (± 0.12%)17.25s (± 0.39%)🟩-1.56s (- 8.30%)17.17s17.35sp=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,870k (± 0.08%)465,468k (± 0.08%)+2,598k (+ 0.56%)464,988k465,772kp=0.005 n=6
Parse Time2.64s (± 0.78%)2.62s (± 0.66%)~2.60s2.64sp=0.210 n=6
Bind Time0.98s (± 0.53%)0.94s (± 0.58%)🟩-0.03s (- 3.24%)0.94s0.95sp=0.004 n=6
Check Time15.22s (± 0.22%)14.65s (± 0.32%)🟩-0.57s (- 3.76%)14.60s14.71sp=0.005 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time18.84s (± 0.12%)18.21s (± 0.27%)🟩-0.62s (- 3.31%)18.15s18.28sp=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 - updateOpen2,305ms (± 0.23%)2,330ms (± 0.56%)+25ms (+ 1.09%)2,313ms2,346msp=0.005 n=6
Req 2 - geterr5,047ms (± 0.48%)4,713ms (± 0.43%)🟩-334ms (- 6.62%)4,683ms4,745msp=0.005 n=6
Req 3 - references264ms (± 0.24%)266ms (± 0.50%)+2ms (+ 0.69%)264ms267msp=0.023 n=6
Req 4 - navto228ms (± 0.36%)231ms (± 0.53%)+2ms (+ 0.95%)230ms233msp=0.008 n=6
Req 5 - completionInfo count1,3571,357~~~p=1.000 n=6
Req 5 - completionInfo86ms (± 4.72%)81ms (± 3.49%)🟩-6ms (- 6.76%)78ms84msp=0.036 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen2,408ms (± 0.40%)2,474ms (± 0.72%)+66ms (+ 2.74%)2,449ms2,502msp=0.005 n=6
Req 2 - geterr3,802ms (± 0.29%)3,443ms (± 0.43%)🟩-359ms (- 9.44%)3,427ms3,462msp=0.005 n=6
Req 3 - references277ms (± 0.48%)282ms (± 0.43%)+5ms (+ 1.86%)281ms284msp=0.005 n=6
Req 4 - navto227ms (± 0.43%)235ms (± 3.43%)~226ms242msp=0.066 n=6
Req 5 - completionInfo count1,5191,519~~~p=1.000 n=6
Req 5 - completionInfo76ms (± 9.22%)79ms (± 8.43%)~65ms82msp=0.806 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen6,483ms (± 6.14%)6,397ms (± 4.69%)~6,239ms7,006msp=0.471 n=6
Req 2 - geterr1,692ms (± 1.09%)1,431ms (±11.03%)🟩-262ms (-15.45%)1,227ms1,548msp=0.005 n=6
Req 3 - references114ms (± 5.02%)120ms (± 9.66%)~98ms130msp=0.170 n=6
Req 4 - navto600ms (± 3.14%)555ms (± 2.63%)🟩-46ms (- 7.58%)535ms568msp=0.005 n=6
Req 5 - completionInfo count3,4133,413~~~p=1.000 n=6
Req 5 - completionInfo1,252ms (± 2.79%)1,322ms (± 1.67%)🔻+70ms (+ 5.61%)1,299ms1,357msp=0.005 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

startup

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
tsc-startup - node (v18.15.0, x64)
Execution time156.85ms (± 0.19%)157.54ms (± 0.16%)+0.70ms (+ 0.44%)156.62ms162.38msp=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time230.48ms (± 0.14%)231.72ms (± 0.18%)+1.24ms (+ 0.54%)230.30ms242.15msp=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time226.61ms (± 0.15%)227.71ms (± 0.16%)+1.11ms (+ 0.49%)226.25ms233.64msp=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time226.10ms (± 0.16%)227.33ms (± 0.17%)+1.22ms (+ 0.54%)225.86ms234.99msp=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