Skip to content

Shrink ast.Symbol from 96 to 80 bytes - #4786

Open
mds-ant wants to merge 1 commit into
microsoft:mainfrom
mds-ant:perf/ast-symbol-slim
Open

Shrink ast.Symbol from 96 to 80 bytes#4786
mds-ant wants to merge 1 commit into
microsoft:mainfrom
mds-ant:perf/ast-symbol-slim

Conversation

@mds-ant

@mds-ant mds-ant commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Context

ast.Symbol is arena-allocated, so every byte of the struct is paid once per symbol, and a full check of a large program creates millions of them (VS Code's src reaches ~6.2 M). Its Members, Exports and ExportSymbol fields are only set on container and exported-declaration symbols. They are nil on every checker-created symbol and on most binder symbols, but they cost 24 bytes on all of them.

This PR

These three fields move into a small symbolExtra box that is allocated the first time one of them is set to a non-nil value, referenced from Symbol through a single pointer. Reads and writes go through Members()/SetMembers(), Exports()/SetExports() and ExportSymbol()/SetExportSymbol().

Memory

Typechecking the VS Code src project with --noEmit (default, 4 checkers):

Metric Before After Δ
Memory used 4,058 MB 3,961 MB −96 MB (−2.4%)

This PR was assisted by Claude Code.

Copilot AI review requested due to automatic review settings July 29, 2026 11:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Moves rarely populated symbol data behind a lazily allocated box, reducing 64-bit ast.Symbol size from 96 to 80 bytes while preserving compiler and language-service behavior.

Changes:

  • Adds lazy accessors for members, exports, and export symbols.
  • Migrates all affected consumers to the new API.
  • Adds layout and allocation tests.

Reviewed changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated no comments.

Show a summary per file
File Description
internal/ast/symbol.go Introduces boxed symbol extras and accessors.
internal/ast/utilities.go Updates lazy symbol-table initialization.
internal/ast/symbol_test.go Tests layout and on-demand allocation.
internal/binder/binder.go Migrates binder symbol access.
internal/binder/nameresolver.go Migrates name-resolution access.
internal/binder/referenceresolver.go Migrates export-symbol access.
internal/checker/checker.go Migrates core checker access and mutation.
internal/checker/jsx.go Migrates JSX symbol lookups.
internal/checker/nodebuilder_hover.go Migrates hover module export access.
internal/checker/nodebuilderimpl.go Migrates node-builder export access.
internal/checker/services.go Migrates checker service access.
internal/checker/symbolaccessibility.go Migrates accessibility lookups.
internal/checker/utilities.go Migrates export-assignment lookup.
internal/api/session.go Migrates symbol API responses.
internal/execute/incremental/affectedfileshandler.go Migrates incremental export traversal.
internal/ls/autoimport/extract.go Migrates auto-import extraction.
internal/ls/codeactions_fixclassincorrectlyimplementsinterface.go Migrates class member lookup.
internal/ls/completions.go Migrates completion symbol access.
internal/ls/definition.go Migrates constructor lookup.
internal/ls/findallreferences.go Migrates reference symbol access.
internal/ls/hover.go Migrates hover export-symbol access.
internal/ls/importTracker.go Migrates import tracking access.
internal/modulespecifiers/specifiers.go Migrates module export lookup.
internal/transformers/declarations/transform.go Migrates declaration emit lookup.

@mds-ant
mds-ant force-pushed the perf/ast-symbol-slim branch from a61b987 to c40e6a1 Compare July 29, 2026 12:32
@jakebailey

Copy link
Copy Markdown
Member

@typescript-bot perf test this

@typescript-automation

typescript-automation Bot commented Jul 29, 2026

Copy link
Copy Markdown

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

Command Status Results
perf test this ✅ Started 👀 Results

@typescript-automation

Copy link
Copy Markdown

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

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - native
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 81,806 (± 0.01%) 81,809 (± 0.03%) ~ 81,780 81,843 p=0.936 n=6
Types 98,817 98,817 ~ ~ ~ p=1.000 n=6
Memory Used 174,535k (± 0.68%) 172,574k (± 0.58%) -1,961k (- 1.12%) 170,831k 173,920k p=0.031 n=6
Memory Allocs 2,694,830 (± 0.01%) 2,698,106 (± 0.01%) +3,276 (+ 0.12%) 2,697,850 2,698,356 p=0.005 n=6
Config Time 0.001s (±77.38%) 0.001s (±77.38%) ~ 0.000s 0.001s p=1.000 n=6
Parse Time 0.056s (± 5.53%) 0.058s (± 5.87%) ~ 0.055s 0.064s p=0.517 n=6
Bind Time 0.019s (±10.12%) 0.018s (±16.09%) ~ 0.015s 0.023s p=0.368 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.979s (± 1.74%) 0.975s (± 0.87%) ~ 0.962s 0.987s p=0.630 n=6
Total Time 1.057s (± 1.43%) 1.053s (± 0.92%) ~ 1.036s 1.063s p=0.688 n=6
angular-1 - native
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 872,096 (± 0.20%) 872,099 (± 0.16%) ~ 870,224 873,887 p=0.810 n=6
Types 263,962 (± 0.00%) 263,962 (± 0.00%) ~ 263,960 263,963 p=0.865 n=6
Memory Used 812,785k (± 0.12%) 798,939k (± 0.03%) -13,845k (- 1.70%) 798,521k 799,307k p=0.005 n=6
Memory Allocs 13,150,682 (± 0.19%) 13,214,176 (± 0.11%) +63,494 (+ 0.48%) 13,204,363 13,241,318 p=0.005 n=6
Config Time 0.027s (±17.36%) 0.024s (±10.23%) ~ 0.022s 0.029s p=0.623 n=6
Parse Time 0.254s (± 3.80%) 0.253s (± 3.68%) ~ 0.234s 0.260s p=0.872 n=6
Bind Time 0.047s (±23.21%) 0.047s (±35.66%) ~ 0.037s 0.080s p=0.376 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 2.127s (± 2.15%) 2.104s (± 1.51%) ~ 2.074s 2.157s p=0.296 n=6
Total Time 2.469s (± 1.85%) 2.441s (± 1.47%) ~ 2.399s 2.495s p=0.378 n=6
mui-docs - native
Errors 11,279 (± 0.06%) 11,274 (± 0.08%) ~ 11,259 11,282 p=0.212 n=6
Symbols 4,384,004 4,384,004 ~ ~ ~ p=1.000 n=6
Types 1,536,962 1,536,962 ~ ~ ~ p=1.000 n=6
Memory Used 4,963,735k (± 0.02%) 4,896,540k (± 0.02%) -67,195k (- 1.35%) 4,895,295k 4,898,180k p=0.005 n=6
Memory Allocs 45,999,288 (± 0.04%) 46,117,747 (± 0.06%) +118,459 (+ 0.26%) 46,088,491 46,158,069 p=0.005 n=6
Config Time 0.028s (±10.85%) 0.028s (± 9.88%) ~ 0.025s 0.031s p=0.870 n=6
Parse Time 0.560s (± 1.67%) 0.561s (± 0.98%) ~ 0.555s 0.568s p=1.000 n=6
Bind Time 0.003s (±21.89%) 0.003s (±21.89%) ~ 0.002s 0.003s p=1.000 n=6
Check Time 18.821s (± 0.40%) 18.722s (± 0.38%) ~ 18.647s 18.839s p=0.065 n=6
Emit Time 0.559s (± 5.05%) 0.555s (± 5.61%) ~ 0.525s 0.587s p=0.375 n=6
Total Time 20.804s (± 0.39%) 20.710s (± 0.28%) ~ 20.626s 20.792s p=0.093 n=6
self-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,394,220 1,394,220 ~ ~ ~ p=1.000 n=6
Types 442,210 442,210 ~ ~ ~ p=1.000 n=6
Memory Used 1,612,165k (± 0.41%) 1,583,786k (± 0.62%) -28,379k (- 1.76%) 1,572,551k 1,597,381k p=0.005 n=6
Memory Allocs 97,116,651 (± 0.08%) 97,526,715 (± 0.06%) +410,064 (+ 0.42%) 97,451,827 97,610,015 p=0.005 n=6
Config Time 0.025s (±12.83%) 0.023s (±11.38%) ~ 0.019s 0.026s p=0.296 n=6
Parse Time 0.237s (± 3.19%) 0.236s (± 3.93%) ~ 0.226s 0.252s p=0.688 n=6
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Check Time 2.544s (± 0.78%) 2.531s (± 1.03%) ~ 2.482s 2.557s p=0.630 n=6
Emit Time 0.349s (± 2.51%) 0.355s (± 2.85%) ~ 0.345s 0.373s p=0.423 n=6
Total Time 32.639s (± 0.77%) 32.545s (± 0.91%) ~ 32.242s 32.967s p=0.575 n=6
self-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 337,681 337,681 ~ ~ ~ p=1.000 n=6
Types 199,559 199,559 ~ ~ ~ p=1.000 n=6
Memory Used 320,596k (± 0.02%) 315,434k (± 0.04%) -5,162k (- 1.61%) 315,212k 315,526k p=0.005 n=6
Memory Allocs 4,676,288 (± 0.01%) 4,690,935 (± 0.02%) +14,647 (+ 0.31%) 4,689,612 4,691,770 p=0.005 n=6
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=6
Parse Time 0.120s (± 5.29%) 0.118s (± 4.65%) ~ 0.113s 0.127s p=0.518 n=6
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Check Time 1.284s (± 1.90%) 1.286s (± 1.10%) ~ 1.270s 1.308s p=0.873 n=6
Emit Time 0.112s (± 6.58%) 0.118s (± 6.08%) ~ 0.111s 0.128s p=0.423 n=6
Total Time 1.572s (± 1.46%) 1.575s (± 0.66%) ~ 1.565s 1.594s p=0.378 n=6
ts-pre-modules - native
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 97,488 97,488 ~ ~ ~ p=1.000 n=6
Types 356 356 ~ ~ ~ p=1.000 n=6
Memory Used 128,702k (± 0.01%) 127,293k (± 0.01%) -1,409k (- 1.09%) 127,280k 127,303k p=0.005 n=6
Memory Allocs 177,483 (± 0.25%) 190,004 (± 0.32%) 🔻+12,521 (+ 7.05%) 189,360 190,802 p=0.005 n=6
Config Time 0.001s (±109.43%) 0.001s (±109.43%) ~ 0.000s 0.001s p=1.000 n=6
Parse Time 0.107s (± 4.52%) 0.117s (± 8.52%) ~ 0.102s 0.131s p=0.090 n=6
Bind Time 0.040s (±17.20%) 0.037s (±15.09%) ~ 0.031s 0.047s p=0.419 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Total Time 0.149s (± 5.41%) 0.158s (± 9.07%) ~ 0.139s 0.182s p=0.229 n=6
vscode - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 7,499,722 7,499,722 ~ ~ ~ p=1.000 n=6
Types 2,616,616 2,616,616 ~ ~ ~ p=1.000 n=6
Memory Used 5,049,775k (± 0.04%) 4,929,609k (± 0.02%) -120,166k (- 2.38%) 4,928,578k 4,930,824k p=0.005 n=6
Memory Allocs 38,238,847 (± 0.10%) 38,486,269 (± 0.04%) +247,422 (+ 0.65%) 38,469,928 38,507,381 p=0.005 n=6
Config Time 0.075s (± 4.64%) 0.078s (± 8.98%) ~ 0.068s 0.087s p=0.423 n=6
Parse Time 0.937s (± 2.87%) 0.914s (± 2.56%) ~ 0.893s 0.954s p=0.128 n=6
Bind Time 0.162s (± 4.02%) 0.160s (±21.21%) ~ 0.143s 0.229s p=0.065 n=6
Check Time 8.565s (± 1.09%) 8.571s (± 1.08%) ~ 8.471s 8.698s p=1.000 n=6
Emit Time 2.490s (± 8.48%) 2.391s (± 9.08%) ~ 2.105s 2.600s p=0.378 n=6
Total Time 12.252s (± 1.14%) 12.140s (± 1.07%) ~ 11.967s 12.320s p=0.128 n=6
webpack - native
Errors 2 2 ~ ~ ~ p=1.000 n=6
Symbols 193,872 193,872 ~ ~ ~ p=1.000 n=6
Types 340 340 ~ ~ ~ p=1.000 n=6
Memory Used 230,527k (± 0.07%) 226,888k (± 0.22%) -3,639k (- 1.58%) 226,312k 227,487k p=0.005 n=6
Memory Allocs 975,477 (± 0.82%) 1,008,195 (± 0.77%) +32,718 (+ 3.35%) 994,938 1,016,516 p=0.005 n=6
Config Time 0.011s (±21.48%) 0.012s (±14.54%) ~ 0.009s 0.014s p=0.627 n=6
Parse Time 0.150s (± 3.91%) 0.156s (± 3.15%) ~ 0.152s 0.164s p=0.198 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.044s (±17.95%) 0.042s (±24.99%) ~ 0.032s 0.057s p=0.689 n=6
Total Time 0.207s (± 5.01%) 0.211s (± 5.50%) ~ 0.198s 0.227s p=0.810 n=6
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,064,618 1,064,618 ~ ~ ~ p=1.000 n=6
Types 392,776 392,776 ~ ~ ~ p=1.000 n=6
Memory Used 637,550k (± 0.02%) 621,320k (± 0.01%) -16,230k (- 2.55%) 621,239k 621,444k p=0.005 n=6
Memory Allocs 4,985,526 (± 0.08%) 5,034,498 (± 0.05%) +48,972 (+ 0.98%) 5,032,053 5,038,904 p=0.005 n=6
Config Time 0.002s 0.003s (±48.94%) ~ 0.002s 0.005s p=0.405 n=6
Parse Time 0.120s (± 5.42%) 0.120s (±11.38%) ~ 0.105s 0.146s p=0.936 n=6
Bind Time 0.030s (±26.74%) 0.026s (±31.89%) ~ 0.020s 0.040s p=0.332 n=6
Check Time 1.057s (± 0.43%) 1.048s (± 1.47%) ~ 1.035s 1.076s p=0.173 n=6
Emit Time 0.001s 0.001s (±77.38%) ~ 0.000s 0.001s p=0.174 n=6
Total Time 1.213s (± 0.42%) 1.203s (± 1.14%) ~ 1.188s 1.221s p=0.297 n=6
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • mui-docs - native
  • self-build-src - native
  • self-compiler - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

lsp

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsLSP - native
Req 1 - updateOpen 10ms (± 4.99%) 10ms (± 6.32%) ~ 9ms 11ms p=0.386 n=6
Req 2 - geterr 871ms (± 0.56%) 879ms (± 1.14%) ~ 867ms 890ms p=0.227 n=6
Req 3 - references 46ms (±11.55%) 44ms (±14.19%) ~ 38ms 52ms p=0.746 n=6
Req 4 - navto 21ms (±30.00%) 21ms (±31.72%) ~ 17ms 34ms p=0.803 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 16ms (±21.77%) 20ms (±23.21%) ~ 16ms 29ms p=0.293 n=6
CompilerLSP - native
Req 1 - updateOpen 11ms (± 3.65%) 11ms (± 5.74%) ~ 10ms 12ms p=0.673 n=6
Req 2 - geterr 441ms (± 1.92%) 442ms (± 2.41%) ~ 427ms 454ms p=1.000 n=6
Req 3 - references 50ms (± 9.11%) 48ms (± 9.59%) ~ 43ms 56ms p=0.520 n=6
Req 4 - navto 18ms (± 2.92%) 18ms (± 3.13%) ~ 17ms 18ms p=0.640 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 20ms (±12.24%) 19ms (±14.53%) ~ 16ms 23ms p=0.743 n=6
System info unknown
Hosts
  • native
Scenarios
  • CompilerLSP - native
  • Compiler-UnionsLSP - native
  • xstate-main-1-LSP - native
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
lsp-startup - native
Execution time 4.80ms (±516.53%) 4.76ms (±516.54%) -0.04ms (- 0.74%) 0.00ms 479.72ms p=0.000 n=600
tsgo-startup - native
Execution time 5.90ms (±516.56%) 5.92ms (±516.55%) +0.03ms (+ 0.47%) 0.00ms 597.73ms p=0.000 n=600
System info unknown
Hosts
  • native
Scenarios
  • lsp-startup - native
  • tsgo-startup - native
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

Comment thread internal/ast/symbol.go Outdated
Comment thread internal/ast/symbol_test.go Outdated
@mds-ant
mds-ant force-pushed the perf/ast-symbol-slim branch from c40e6a1 to 56d9b4c Compare July 29, 2026 15:59
@mds-ant
mds-ant requested a review from jakebailey July 30, 2026 08:55
`Members`, `Exports` and `ExportSymbol` are empty on nearly every symbol, so they now live in a lazily allocated box behind one pointer instead of three inline fields, with accessor methods for reads and writes. Setting nil never allocates a box, and `ast.GetMembers`/`GetExports` keep their create-if-nil behavior. The symbol ID stays inline because the paged link stores key symbol links by ID.

No-Verification-Needed: test-only removal, product diff unchanged
@mds-ant
mds-ant force-pushed the perf/ast-symbol-slim branch from 56d9b4c to 649b7ff Compare July 30, 2026 08:56
@jakebailey

Copy link
Copy Markdown
Member

Rerunning perf as I tweaked the benchstat math:

@typescript-bot perf test this faster

@typescript-automation

typescript-automation Bot commented Jul 30, 2026

Copy link
Copy Markdown

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

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-automation

Copy link
Copy Markdown

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

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - native
Errors 41 41 ~ ~ ~ p=1.000 n=6
Symbols 119,733 119,733 ~ ~ ~ p=1.000 n=6
Types 99,032 99,032 ~ ~ ~ p=1.000 n=6
Memory Used 152,612k (± 0.72%) 151,472k (± 0.55%) ~ 150,071k 152,197k p=0.132 n=6
Memory Allocs 2,275,886 (± 0.00%) 2,279,722 (± 0.00%) +3,836 (+ 0.17%) 2,279,621 2,279,850 p=0.002 n=6
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Parse Time 0.050s (± 6.32%) 0.050s (± 5.71%) ~ 0.046s 0.054s p=0.983 n=6
Bind Time 0.018s (±21.66%) 0.017s (±21.37%) ~ 0.014s 0.024s p=0.494 n=6
Check Time 0.756s (± 0.91%) 0.767s (± 1.14%) +0.012s (+ 1.54%) 0.753s 0.777s p=0.028 n=6
Emit Time 0.304s (± 2.94%) 0.307s (± 3.81%) ~ 0.289s 0.319s p=0.660 n=6
Total Time 1.134s (± 1.39%) 1.148s (± 0.97%) ~ 1.134s 1.164s p=0.069 n=6
angular-1 - native
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 872,753 (± 0.11%) 872,327 (± 0.09%) ~ 871,706 873,674 p=0.699 n=6
Types 263,960 (± 0.00%) 263,962 (± 0.00%) +2 (+ 0.00%) 263,961 263,964 p=0.032 n=6
Memory Used 808,259k (± 0.10%) 794,375k (± 0.15%) -13,884k (- 1.72%) 793,162k 795,895k p=0.002 n=6
Memory Allocs 13,137,118 (± 0.07%) 13,226,543 (± 0.12%) +89,426 (+ 0.68%) 13,209,248 13,245,476 p=0.002 n=6
Config Time 0.017s (± 2.38%) 0.018s (± 7.02%) ~ 0.017s 0.020s p=0.303 n=6
Parse Time 0.245s (± 4.56%) 0.251s (± 5.39%) ~ 0.234s 0.273s p=0.561 n=6
Bind Time 0.047s (±39.02%) 0.044s (±18.65%) ~ 0.037s 0.058s p=0.766 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 1.902s (± 1.85%) 1.918s (± 0.88%) ~ 1.904s 1.947s p=0.420 n=6
Total Time 2.221s (± 1.21%) 2.243s (± 0.89%) ~ 2.218s 2.270s p=0.197 n=6
mui-docs - native
Errors 11,281 (± 0.02%) 11,276 (± 0.08%) ~ 11,263 11,282 p=0.784 n=6
Symbols 4,386,587 4,386,587 ~ ~ ~ p=1.000 n=6
Types 1,537,077 1,537,077 ~ ~ ~ p=1.000 n=6
Memory Used 4,962,018k (± 0.05%) 4,894,416k (± 0.05%) -67,602k (- 1.36%) 4,891,994k 4,898,281k p=0.002 n=6
Memory Allocs 46,010,143 (± 0.10%) 46,105,312 (± 0.09%) +95,170 (+ 0.21%) 46,045,342 46,178,323 p=0.009 n=6
Config Time 0.017s (± 7.89%) 0.016s ~ ~ ~ p=0.455 n=6
Parse Time 0.504s (± 5.48%) 0.504s (± 3.69%) ~ 0.487s 0.536s p=0.675 n=6
Bind Time 0.002s 0.002s ~ ~ ~ p=1.000 n=6
Check Time 16.012s (± 0.46%) 16.011s (± 0.71%) ~ 15.861s 16.144s p=0.818 n=6
Emit Time 0.458s (± 3.55%) 0.463s (± 4.34%) ~ 0.446s 0.492s p=0.981 n=6
Total Time 17.749s (± 0.44%) 17.729s (± 0.69%) ~ 17.600s 17.894s p=0.589 n=6
self-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,394,491 1,394,491 ~ ~ ~ p=1.000 n=6
Types 442,212 442,212 ~ ~ ~ p=1.000 n=6
Memory Used 1,592,858k (± 0.34%) 1,568,513k (± 0.30%) -24,345k (- 1.53%) 1,563,187k 1,576,323k p=0.002 n=6
Memory Allocs 97,053,281 (± 0.03%) 97,476,431 (± 0.05%) +423,151 (+ 0.44%) 97,421,967 97,529,839 p=0.002 n=6
Config Time 0.018s (±34.57%) 0.020s (±28.26%) ~ 0.013s 0.027s p=0.394 n=6
Parse Time 0.253s (± 3.33%) 0.255s (± 4.50%) ~ 0.237s 0.264s p=0.818 n=6
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Check Time 2.155s (± 0.85%) 2.175s (± 0.70%) ~ 2.162s 2.205s p=0.193 n=6
Emit Time 0.298s (± 3.31%) 0.302s (± 3.02%) ~ 0.287s 0.313s p=0.448 n=6
Total Time 28.663s (± 0.77%) 29.012s (± 1.06%) ~ 28.603s 29.357s p=0.065 n=6
self-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 337,834 337,834 ~ ~ ~ p=1.000 n=6
Types 199,561 199,561 ~ ~ ~ p=1.000 n=6
Memory Used 318,786k (± 0.04%) 313,665k (± 0.04%) -5,122k (- 1.61%) 313,491k 313,798k p=0.002 n=6
Memory Allocs 4,677,994 (± 0.02%) 4,692,513 (± 0.01%) +14,519 (+ 0.31%) 4,691,865 4,692,976 p=0.002 n=6
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=6
Parse Time 0.118s (± 3.93%) 0.118s (± 4.89%) ~ 0.112s 0.126s p=0.959 n=6
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Check Time 1.283s (± 0.83%) 1.285s (± 0.89%) ~ 1.274s 1.299s p=1.000 n=6
Emit Time 0.119s (± 8.93%) 0.110s (± 8.24%) ~ 0.103s 0.123s p=0.234 n=6
Total Time 1.567s (± 0.95%) 1.565s (± 0.56%) ~ 1.555s 1.579s p=0.903 n=6
ts-pre-modules - native
Errors 87 87 ~ ~ ~ p=1.000 n=6
Symbols 302,246 302,246 ~ ~ ~ p=1.000 n=6
Types 181,595 181,595 ~ ~ ~ p=1.000 n=6
Memory Used 274,864k (± 0.04%) 270,152k (± 0.05%) -4,712k (- 1.71%) 269,951k 270,292k p=0.002 n=6
Memory Allocs 1,675,575 (± 0.01%) 1,688,190 (± 0.03%) +12,615 (+ 0.75%) 1,687,404 1,688,935 p=0.002 n=6
Config Time 0.001s 0.001s (±48.94%) ~ 0.000s 0.001s p=1.000 n=6
Parse Time 0.105s (± 6.34%) 0.098s (± 4.92%) ~ 0.093s 0.107s p=0.121 n=6
Bind Time 0.036s (±11.77%) 0.042s (±12.50%) ~ 0.033s 0.047s p=0.056 n=6
Check Time 1.081s (± 1.46%) 1.071s (± 0.99%) ~ 1.059s 1.087s p=0.240 n=6
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Total Time 1.238s (± 1.71%) 1.228s (± 0.73%) ~ 1.218s 1.240s p=0.561 n=6
vscode - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 7,520,316 7,520,316 ~ ~ ~ p=1.000 n=6
Types 2,621,761 2,621,761 ~ ~ ~ p=1.000 n=6
Memory Used 5,025,540k (± 0.01%) 4,905,373k (± 0.03%) -120,167k (- 2.39%) 4,902,928k 4,906,709k p=0.002 n=6
Memory Allocs 38,389,701 (± 0.05%) 38,646,064 (± 0.09%) +256,363 (+ 0.67%) 38,623,131 38,718,572 p=0.002 n=6
Config Time 0.075s (± 9.49%) 0.078s (±10.00%) ~ 0.067s 0.088s p=0.457 n=6
Parse Time 0.919s (± 4.13%) 0.901s (± 3.20%) ~ 0.849s 0.938s p=0.368 n=6
Bind Time 0.223s (±28.28%) 0.173s (±36.85%) 🟩-0.050s (-22.31%) 0.142s 0.304s p=0.039 n=6
Check Time 8.752s (± 1.08%) 8.630s (± 0.82%) -0.122s (- 1.40%) 8.561s 8.766s p=0.017 n=6
Emit Time 2.399s (±12.46%) 2.547s (± 7.37%) ~ 2.241s 2.754s p=0.331 n=6
Total Time 12.397s (± 1.49%) 12.350s (± 1.08%) ~ 12.156s 12.523s p=0.937 n=6
webpack - native
Errors 2 2 ~ ~ ~ p=1.000 n=6
Symbols 195,834 195,834 ~ ~ ~ p=1.000 n=6
Types 340 340 ~ ~ ~ p=1.000 n=6
Memory Used 229,953k (± 0.20%) 226,886k (± 0.11%) -3,067k (- 1.33%) 226,466k 227,140k p=0.002 n=6
Memory Allocs 978,571 (± 0.96%) 1,017,072 (± 0.39%) +38,501 (+ 3.93%) 1,010,646 1,022,719 p=0.002 n=6
Config Time 0.010s (±15.79%) 0.011s (±19.12%) ~ 0.009s 0.014s p=0.504 n=6
Parse Time 0.150s (± 2.98%) 0.149s (± 2.44%) ~ 0.145s 0.155s p=0.814 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.044s (±13.39%) 0.041s (±22.37%) ~ 0.031s 0.052s p=0.515 n=6
Total Time 0.205s (± 4.65%) 0.202s (± 5.16%) ~ 0.187s 0.218s p=0.548 n=6
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,066,055 1,066,055 ~ ~ ~ p=1.000 n=6
Types 392,847 392,847 ~ ~ ~ p=1.000 n=6
Memory Used 634,873k (± 0.02%) 618,411k (± 0.02%) -16,463k (- 2.59%) 618,149k 618,571k p=0.002 n=6
Memory Allocs 5,000,964 (± 0.15%) 5,057,548 (± 0.14%) +56,583 (+ 1.13%) 5,051,079 5,070,755 p=0.002 n=6
Config Time 0.005s (±17.48%) 0.004s (±18.05%) ~ 0.003s 0.005s p=0.242 n=6
Parse Time 0.124s (± 3.34%) 0.126s (± 8.44%) ~ 0.116s 0.144s p=0.900 n=6
Bind Time 0.037s (±25.54%) 0.033s (±27.19%) ~ 0.024s 0.043s p=0.219 n=6
Check Time 1.229s (± 0.86%) 1.228s (± 1.62%) ~ 1.208s 1.256s p=0.699 n=6
Emit Time 0.001s 0.001s ~ ~ ~ p=1.000 n=6
Total Time 1.399s (± 0.43%) 1.395s (± 1.39%) ~ 1.373s 1.417s p=0.937 n=6
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • mui-docs - native
  • self-build-src - native
  • self-compiler - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@jakebailey

Copy link
Copy Markdown
Member

@typescript-bot perf test this faster

Now with isolation enabled

@typescript-automation

typescript-automation Bot commented Jul 31, 2026

Copy link
Copy Markdown

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

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-automation

Copy link
Copy Markdown

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

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - native
Errors 41 41 ~ ~ ~ p=1.000 n=12
Symbols 119,733 119,733 ~ ~ ~ p=1.000 n=12
Types 99,032 99,032 ~ ~ ~ p=1.000 n=12
Memory Used 150,182k (± 0.44%) 148,177k (± 0.63%) -2,005k (- 1.34%) 146,370k 150,582k p=0.002 n=12
Memory Allocs 2,273,535 (± 0.01%) 2,277,325 (± 0.01%) +3,790 (+ 0.17%) 2,276,964 2,277,738 p=0.000 n=12
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Parse Time 0.157s (± 8.69%) 0.152s (± 3.52%) ~ 0.140s 0.163s p=0.124 n=12
Bind Time 0.049s (±19.98%) 0.050s (±22.38%) ~ 0.035s 0.086s p=0.592 n=12
Check Time 1.703s (± 6.87%) 1.746s (± 1.86%) ~ 1.673s 1.825s p=0.619 n=12
Emit Time 0.923s (± 7.37%) 0.947s (± 2.60%) ~ 0.862s 0.998s p=0.900 n=12
Total Time 2.840s (± 6.88%) 2.904s (± 0.83%) ~ 2.855s 2.981s p=0.224 n=12
angular-1 - native
Errors 3 3 ~ ~ ~ p=1.000 n=12
Symbols 871,584 (± 0.10%) 871,498 (± 0.09%) ~ 868,622 872,950 p=1.000 n=12
Types 263,962 (± 0.00%) 263,961 (± 0.00%) ~ 263,958 263,964 p=0.228 n=12
Memory Used 793,360k (± 0.09%) 779,029k (± 0.10%) -14,331k (- 1.81%) 778,021k 782,369k p=0.000 n=12
Memory Allocs 13,193,467 (± 0.21%) 13,266,100 (± 0.19%) +72,632 (+ 0.55%) 13,199,962 13,354,961 p=0.001 n=12
Config Time 0.021s (±15.16%) 0.022s (±14.63%) ~ 0.017s 0.034s p=0.971 n=12
Parse Time 1.507s (± 3.25%) 1.576s (± 4.13%) ~ 1.371s 1.675s p=0.068 n=12
Bind Time 0.515s (±18.19%) 0.463s (±12.22%) ~ 0.372s 0.619s p=0.311 n=12
Check Time 0s 0s ~ ~ ~ p=1.000 n=12
Emit Time 10.017s (± 1.42%) 10.168s (± 1.71%) ~ 9.753s 10.630s p=0.160 n=12
Total Time 12.118s (± 1.48%) 12.271s (± 1.76%) ~ 11.786s 12.800s p=0.236 n=12
mui-docs - native
Errors 11,279 (± 0.02%) 11,279 (± 0.03%) ~ 11,265 11,282 p=0.314 n=12
Symbols 4,386,587 4,386,587 ~ ~ ~ p=1.000 n=12
Types 1,537,077 1,537,077 ~ ~ ~ p=1.000 n=12
Memory Used 4,911,154k (± 0.02%) 4,843,590k (± 0.02%) -67,564k (- 1.38%) 4,841,076k 4,846,301k p=0.000 n=12
Memory Allocs 46,056,525 (± 0.20%) 46,127,553 (± 0.12%) ~ 45,996,086 46,346,802 p=0.101 n=12
Config Time 0.025s (± 3.87%) 0.024s (± 8.54%) ~ 0.017s 0.031s p=0.845 n=12
Parse Time 2.481s (± 3.44%) 2.460s (± 2.42%) ~ 2.275s 2.606s p=0.799 n=12
Bind Time 0.002s (±24.21%) 0.002s (± 8.72%) ~ 0.002s 0.003s p=1.000 n=12
Check Time 62.899s (± 1.65%) 62.991s (± 1.79%) ~ 61.153s 65.080s p=0.443 n=12
Emit Time 0.443s (± 1.05%) 0.461s (± 2.55%) 🔻+0.018s (+ 4.08%) 0.441s 0.481s p=0.004 n=12
Total Time 67.687s (± 1.37%) 67.765s (± 1.51%) ~ 66.021s 69.855s p=0.630 n=12
self-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 1,394,491 1,394,491 ~ ~ ~ p=1.000 n=12
Types 442,212 442,212 ~ ~ ~ p=1.000 n=12
Memory Used 1,704,877k (± 1.26%) 1,669,295k (± 0.95%) -35,581k (- 2.09%) 1,633,647k 1,722,052k p=0.004 n=12
Memory Allocs 98,247,017 (± 0.29%) 98,453,007 (± 0.17%) ~ 98,130,807 98,975,636 p=0.128 n=12
Config Time 0.004s (±29.99%) 0.004s (±35.33%) ~ 0.002s 0.006s p=0.684 n=12
Parse Time 1.070s (± 2.29%) 1.114s (± 4.90%) ~ 0.990s 1.291s p=0.183 n=12
Bind Time 0.004s (±193.50%) 0.002s (±217.90%) ~ 0.000s 0.023s p=0.739 n=12
Check Time 6.935s (± 1.94%) 7.015s (± 1.79%) ~ 6.739s 7.426s p=0.551 n=12
Emit Time 1.551s (± 3.69%) 1.474s (± 6.87%) ~ 1.053s 1.738s p=0.068 n=12
Total Time 100.341s (± 0.52%) 100.705s (± 0.49%) ~ 99.445s 101.950s p=0.319 n=12
self-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 337,834 337,834 ~ ~ ~ p=1.000 n=12
Types 199,561 199,561 ~ ~ ~ p=1.000 n=12
Memory Used 314,039k (± 0.06%) 308,942k (± 0.07%) -5,097k (- 1.62%) 308,502k 309,655k p=0.000 n=12
Memory Allocs 4,673,880 (± 0.01%) 4,688,843 (± 0.01%) +14,963 (+ 0.32%) 4,687,810 4,690,070 p=0.000 n=12
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=12
Parse Time 0.460s (± 3.85%) 0.459s (± 3.63%) ~ 0.414s 0.500s p=0.832 n=12
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Check Time 3.135s (± 2.79%) 3.122s (± 2.26%) ~ 2.923s 3.267s p=1.000 n=12
Emit Time 0.834s (± 9.31%) 0.889s (± 2.91%) ~ 0.801s 0.962s p=0.193 n=12
Total Time 4.606s (± 0.82%) 4.652s (± 1.32%) ~ 4.524s 4.798s p=0.468 n=12
ts-pre-modules - native
Errors 87 87 ~ ~ ~ p=1.000 n=12
Symbols 302,246 302,246 ~ ~ ~ p=1.000 n=12
Types 181,595 181,595 ~ ~ ~ p=1.000 n=12
Memory Used 270,320k (± 0.02%) 265,697k (± 0.02%) -4,623k (- 1.71%) 265,585k 265,836k p=0.000 n=12
Memory Allocs 1,672,752 (± 0.01%) 1,685,244 (± 0.01%) +12,492 (+ 0.75%) 1,684,896 1,685,570 p=0.000 n=12
Config Time 0.000s (±113.79%) 0.000s (±146.91%) ~ 0.000s 0.001s p=1.000 n=12
Parse Time 0.384s (± 3.33%) 0.385s (± 3.95%) ~ 0.343s 0.428s p=0.854 n=12
Bind Time 0.137s (±25.27%) 0.121s (±24.93%) ~ 0.097s 0.233s p=0.413 n=12
Check Time 2.642s (± 2.55%) 2.696s (± 2.34%) ~ 2.491s 2.800s p=0.097 n=12
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Total Time 3.182s (± 1.55%) 3.219s (± 1.59%) ~ 3.081s 3.354s p=0.183 n=12
vscode - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 7,559,942 7,559,942 ~ ~ ~ p=1.000 n=12
Types 2,631,538 2,631,538 ~ ~ ~ p=1.000 n=12
Memory Used 4,886,599k (± 0.02%) 4,767,235k (± 0.02%) -119,364k (- 2.44%) 4,764,462k 4,769,490k p=0.000 n=12
Memory Allocs 38,446,206 (± 0.14%) 38,680,349 (± 0.11%) +234,143 (+ 0.61%) 38,645,759 38,866,245 p=0.000 n=12
Config Time 0.081s (± 5.59%) 0.080s (± 6.96%) ~ 0.066s 0.093s p=0.853 n=12
Parse Time 7.921s (± 3.05%) 7.989s (± 2.51%) ~ 7.332s 8.426s p=0.551 n=12
Bind Time 2.066s (±13.52%) 2.024s (±14.28%) ~ 1.809s 3.445s p=0.297 n=12
Check Time 42.442s (± 3.21%) 43.445s (± 2.82%) ~ 39.592s 45.619s p=0.160 n=12
Emit Time 18.827s (±12.81%) 17.720s (±11.20%) ~ 15.984s 25.320s p=0.298 n=12
Total Time 71.379s (± 2.09%) 71.293s (± 1.66%) ~ 68.966s 76.020s p=0.671 n=12
webpack - native
Errors 2 2 ~ ~ ~ p=1.000 n=12
Symbols 195,834 195,834 ~ ~ ~ p=1.000 n=12
Types 340 340 ~ ~ ~ p=1.000 n=12
Memory Used 228,629k (± 0.07%) 225,521k (± 0.08%) -3,108k (- 1.36%) 225,193k 226,057k p=0.000 n=12
Memory Allocs 974,162 (± 0.33%) 1,011,874 (± 0.42%) +37,712 (+ 3.87%) 999,190 1,020,105 p=0.000 n=12
Config Time 0.008s (± 2.25%) 0.008s (± 5.88%) ~ 0.008s 0.010s p=0.478 n=12
Parse Time 1.052s (± 3.61%) 1.003s (± 3.37%) 🟩-0.049s (- 4.70%) 0.950s 1.114s p=0.045 n=12
Bind Time 0s 0s ~ ~ ~ p=1.000 n=12
Check Time 0s 0s ~ ~ ~ p=1.000 n=12
Emit Time 0.283s (±22.81%) 0.378s (±17.50%) ~ 0.216s 0.496s p=0.086 n=12
Total Time 1.344s (± 3.97%) 1.389s (± 3.51%) ~ 1.215s 1.487s p=0.272 n=12
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 1,066,055 1,066,055 ~ ~ ~ p=1.000 n=12
Types 392,847 392,847 ~ ~ ~ p=1.000 n=12
Memory Used 619,386k (± 0.01%) 603,016k (± 0.01%) -16,369k (- 2.64%) 602,685k 603,138k p=0.000 n=12
Memory Allocs 4,983,010 (± 0.06%) 5,034,541 (± 0.05%) +51,531 (+ 1.03%) 5,027,053 5,041,801 p=0.000 n=12
Config Time 0.003s (±10.34%) 0.003s ~ ~ ~ p=0.217 n=12
Parse Time 0.874s (± 4.14%) 0.821s (± 2.38%) 🟩-0.052s (- 5.97%) 0.768s 0.863s p=0.012 n=12
Bind Time 0.233s (±18.12%) 0.269s (±19.75%) ~ 0.189s 0.396s p=0.560 n=12
Check Time 4.653s (± 1.88%) 4.788s (± 2.84%) ~ 4.471s 5.127s p=0.193 n=12
Emit Time 0.001s (±22.76%) 0.003s (±99.78%) ~ 0.001s 0.015s p=0.489 n=12
Total Time 5.778s (± 1.83%) 5.908s (± 2.51%) ~ 5.528s 6.167s p=0.193 n=12
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • mui-docs - native
  • self-build-src - native
  • self-compiler - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 12
Baseline baseline 12

Developer Information:

Download Benchmarks

@jakebailey

Copy link
Copy Markdown
Member

@typescript-bot perf test this faster

@typescript-automation

typescript-automation Bot commented Jul 31, 2026

Copy link
Copy Markdown

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

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-automation

Copy link
Copy Markdown

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

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - native
Errors 41 41 ~ ~ ~ p=1.000 n=12
Symbols 119,733 119,733 ~ ~ ~ p=1.000 n=12
Types 99,032 99,032 ~ ~ ~ p=1.000 n=12
Memory Used 151,373k (± 0.59%) 149,588k (± 0.54%) -1,784k (- 1.18%) 147,982k 151,667k p=0.012 n=12
Memory Allocs 2,275,215 (± 0.01%) 2,279,001 (± 0.01%) +3,786 (+ 0.17%) 2,278,736 2,279,282 p=0.000 n=12
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Parse Time 0.042s (± 5.00%) 0.041s (± 2.71%) ~ 0.039s 0.044s p=0.873 n=12
Bind Time 0.012s (±11.44%) 0.012s (±14.15%) ~ 0.010s 0.018s p=0.507 n=12
Check Time 0.749s (± 0.66%) 0.740s (± 0.64%) -0.009s (- 1.23%) 0.728s 0.755s p=0.008 n=12
Emit Time 0.292s (± 1.14%) 0.291s (± 1.81%) ~ 0.275s 0.310s p=0.659 n=12
Total Time 1.101s (± 0.50%) 1.091s (± 0.76%) -0.010s (- 0.89%) 1.067s 1.119s p=0.018 n=12
angular-1 - native
Errors 3 3 ~ ~ ~ p=1.000 n=12
Symbols 871,606 (± 0.12%) 872,511 (± 0.11%) ~ 869,236 875,288 p=0.128 n=12
Types 263,961 (± 0.00%) 263,962 (± 0.00%) ~ 263,958 263,964 p=0.581 n=12
Memory Used 806,389k (± 0.06%) 792,927k (± 0.04%) -13,463k (- 1.67%) 792,196k 793,784k p=0.000 n=12
Memory Allocs 13,128,662 (± 0.03%) 13,195,872 (± 0.01%) +67,209 (+ 0.51%) 13,193,394 13,201,505 p=0.000 n=12
Config Time 0.016s (± 1.13%) 0.016s ~ ~ ~ p=1.000 n=12
Parse Time 0.278s (± 2.63%) 0.276s (± 2.56%) ~ 0.257s 0.296s p=0.560 n=12
Bind Time 0.065s (±14.36%) 0.059s (± 8.25%) 🟩-0.006s (- 9.34%) 0.055s 0.081s p=0.009 n=12
Check Time 0s 0s ~ ~ ~ p=1.000 n=12
Emit Time 1.702s (± 1.43%) 1.708s (± 1.28%) ~ 1.655s 1.769s p=0.451 n=12
Total Time 2.073s (± 1.59%) 2.071s (± 1.28%) ~ 2.016s 2.145s p=0.876 n=12
mui-docs - native
Errors 11,278 (± 0.02%) 11,279 (± 0.01%) ~ 11,273 11,282 p=0.207 n=12
Symbols 4,386,587 4,386,587 ~ ~ ~ p=1.000 n=12
Types 1,537,077 1,537,077 ~ ~ ~ p=1.000 n=12
Memory Used 4,964,368k (± 0.03%) 4,895,923k (± 0.02%) -68,445k (- 1.38%) 4,892,350k 4,898,741k p=0.000 n=12
Memory Allocs 45,936,529 (± 0.03%) 46,051,221 (± 0.03%) +114,692 (+ 0.25%) 46,020,105 46,085,071 p=0.000 n=12
Config Time 0.016s (± 1.14%) 0.015s (± 2.10%) 🟩-0.001s (- 3.14%) 0.015s 0.016s p=0.027 n=12
Parse Time 0.549s (± 2.50%) 0.552s (± 3.52%) ~ 0.473s 0.581s p=0.487 n=12
Bind Time 0.002s 0.002s ~ ~ ~ p=1.000 n=12
Check Time 16.375s (± 0.41%) 16.331s (± 0.45%) ~ 16.206s 16.512s p=0.143 n=12
Emit Time 0.455s (± 2.69%) 0.459s (± 2.74%) ~ 0.438s 0.485s p=0.598 n=12
Total Time 18.104s (± 0.44%) 18.071s (± 0.41%) ~ 17.919s 18.263s p=0.630 n=12
self-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 1,394,491 1,394,491 ~ ~ ~ p=1.000 n=12
Types 442,212 442,212 ~ ~ ~ p=1.000 n=12
Memory Used 1,633,920k (± 0.30%) 1,607,098k (± 0.18%) -26,822k (- 1.64%) 1,600,998k 1,615,878k p=0.000 n=12
Memory Allocs 97,370,313 (± 0.04%) 97,768,813 (± 0.02%) +398,500 (+ 0.41%) 97,715,102 97,850,265 p=0.000 n=12
Config Time 0.003s (±16.58%) 0.003s (±18.68%) ~ 0.002s 0.005s p=0.712 n=12
Parse Time 0.199s (± 3.19%) 0.203s (± 3.26%) ~ 0.189s 0.219s p=0.523 n=12
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Check Time 2.113s (± 0.26%) 2.097s (± 0.42%) -0.017s (- 0.78%) 2.074s 2.115s p=0.001 n=12
Emit Time 0.279s (± 6.12%) 0.295s (± 5.08%) ~ 0.261s 0.336s p=0.165 n=12
Total Time 28.018s (± 0.64%) 28.055s (± 0.62%) ~ 27.451s 28.363s p=0.799 n=12
self-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 337,834 337,834 ~ ~ ~ p=1.000 n=12
Types 199,561 199,561 ~ ~ ~ p=1.000 n=12
Memory Used 318,206k (± 0.04%) 313,108k (± 0.07%) -5,099k (- 1.60%) 312,767k 314,154k p=0.000 n=12
Memory Allocs 4,676,158 (± 0.01%) 4,690,870 (± 0.01%) +14,712 (+ 0.31%) 4,688,939 4,692,242 p=0.000 n=12
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=12
Parse Time 0.116s (± 4.17%) 0.116s (± 3.80%) ~ 0.105s 0.126s p=0.831 n=12
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Check Time 1.277s (± 0.30%) 1.276s (± 0.69%) ~ 1.259s 1.314s p=0.400 n=12
Emit Time 0.142s (± 8.10%) 0.154s (± 7.77%) ~ 0.112s 0.181s p=0.124 n=12
Total Time 1.585s (± 0.54%) 1.595s (± 0.74%) ~ 1.556s 1.625s p=0.213 n=12
ts-pre-modules - native
Errors 87 87 ~ ~ ~ p=1.000 n=12
Symbols 302,246 302,246 ~ ~ ~ p=1.000 n=12
Types 181,595 181,595 ~ ~ ~ p=1.000 n=12
Memory Used 274,240k (± 0.02%) 269,622k (± 0.03%) -4,619k (- 1.68%) 269,372k 269,796k p=0.000 n=12
Memory Allocs 1,674,663 (± 0.01%) 1,687,433 (± 0.01%) +12,770 (+ 0.76%) 1,686,831 1,687,971 p=0.000 n=12
Config Time 0.000s 0.000s (±217.90%) ~ 0.000s 0.001s p=1.000 n=12
Parse Time 0.096s (± 3.65%) 0.099s (± 4.71%) ~ 0.089s 0.110s p=0.558 n=12
Bind Time 0.037s (±12.45%) 0.037s (±10.40%) ~ 0.030s 0.047s p=1.000 n=12
Check Time 1.083s (± 0.59%) 1.080s (± 0.44%) ~ 1.064s 1.095s p=0.787 n=12
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Total Time 1.230s (± 0.70%) 1.230s (± 0.43%) ~ 1.212s 1.249s p=0.921 n=12
vscode - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 7,554,142 7,554,142 ~ ~ ~ p=1.000 n=12
Types 2,629,080 2,629,080 ~ ~ ~ p=1.000 n=12
Memory Used 5,038,509k (± 0.02%) 4,917,926k (± 0.02%) -120,583k (- 2.39%) 4,914,486k 4,920,579k p=0.000 n=12
Memory Allocs 38,454,785 (± 0.02%) 38,710,135 (± 0.01%) +255,350 (+ 0.66%) 38,701,493 38,732,398 p=0.000 n=12
Config Time 0.058s (± 0.56%) 0.058s (± 0.46%) -0.000s (- 0.85%) 0.057s 0.059s p=0.046 n=12
Parse Time 1.495s (± 1.66%) 1.486s (± 2.47%) ~ 1.370s 1.554s p=0.989 n=12
Bind Time 0.312s (± 4.36%) 0.311s (±15.64%) -0.001s (- 0.32%) 0.286s 0.556s p=0.000 n=12
Check Time 9.487s (± 0.63%) 9.449s (± 0.96%) ~ 9.023s 9.539s p=0.213 n=12
Emit Time 2.842s (± 6.46%) 2.904s (±10.54%) ~ 2.705s 4.446s p=0.386 n=12
Total Time 14.210s (± 0.93%) 14.224s (± 1.76%) ~ 14.032s 15.477s p=0.298 n=12
webpack - native
Errors 2 2 ~ ~ ~ p=1.000 n=12
Symbols 195,834 195,834 ~ ~ ~ p=1.000 n=12
Types 340 340 ~ ~ ~ p=1.000 n=12
Memory Used 228,890k (± 0.12%) 225,689k (± 0.07%) -3,201k (- 1.40%) 225,486k 226,129k p=0.000 n=12
Memory Allocs 969,064 (± 0.47%) 1,003,836 (± 0.21%) +34,771 (+ 3.59%) 1,000,487 1,012,062 p=0.000 n=12
Config Time 0.008s 0.008s (± 3.13%) ~ 0.007s 0.008s p=0.478 n=12
Parse Time 0.193s (± 1.72%) 0.194s (± 2.77%) ~ 0.170s 0.202s p=0.354 n=12
Bind Time 0s 0s ~ ~ ~ p=1.000 n=12
Check Time 0s 0s ~ ~ ~ p=1.000 n=12
Emit Time 0.050s (± 8.28%) 0.049s (±13.90%) ~ 0.043s 0.082s p=0.172 n=12
Total Time 0.251s (± 1.69%) 0.250s (± 1.30%) ~ 0.241s 0.260s p=0.944 n=12
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 1,066,055 1,066,055 ~ ~ ~ p=1.000 n=12
Types 392,847 392,847 ~ ~ ~ p=1.000 n=12
Memory Used 633,803k (± 0.01%) 617,536k (± 0.02%) -16,268k (- 2.57%) 617,246k 617,818k p=0.000 n=12
Memory Allocs 4,988,728 (± 0.06%) 5,040,728 (± 0.05%) +52,000 (+ 1.04%) 5,034,427 5,050,664 p=0.000 n=12
Config Time 0.003s (± 6.23%) 0.003s ~ ~ ~ p=1.000 n=12
Parse Time 0.154s (± 2.61%) 0.152s (± 4.20%) ~ 0.141s 0.175s p=0.259 n=12
Bind Time 0.044s (±10.91%) 0.043s (±17.18%) ~ 0.032s 0.067s p=0.434 n=12
Check Time 1.280s (± 0.56%) 1.272s (± 0.46%) ~ 1.258s 1.289s p=0.173 n=12
Emit Time 0.001s 0.001s ~ ~ ~ p=1.000 n=12
Total Time 1.490s (± 0.55%) 1.478s (± 0.38%) -0.012s (- 0.78%) 1.461s 1.493s p=0.032 n=12
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • mui-docs - native
  • self-build-src - native
  • self-compiler - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 12
Baseline baseline 12

Developer Information:

Download Benchmarks

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants