Skip to content

Speed up property and index signature lookups - #65043

Open
Jake Bailey (jakebailey) wants to merge 5 commits into
microsoft:mainfrom
jakebailey:perf/member-lookup
Open

Jake Bailey (jakebailey) wants to merge 5 commits into
microsoft:mainfrom
jakebailey:perf/member-lookup

Conversation

@jakebailey

@jakebailey Jake Bailey (jakebailey) commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Thanks Steven (@teamchong) for finding these!

Both functions are called on nearly every property, signature, and
index lookup, and the overwhelmingly common input is a plain object
type, for which both return the type unchanged. They were only able
to reach that answer after a chain of flag tests (and, for
getApparentType, a non-inlinable call), and getReducedApparentType
paid for it three times.

Split each into a small inlinable wrapper that returns early for
types that cannot change (non-mapped object types for the apparent
type, anything other than a union or intersection for reduction),
and let getReducedApparentType skip all three steps for non-mapped
object types.

Co-authored-by: Steven Chong <[email protected]>
getApplicableIndexInfoForName runs for every property name that is
missing from a union constituent, and most types have no index
signatures at all. It still created (and interned) a string literal
type for the name before discovering there was nothing to match.
Check for index infos first.

findApplicableIndexInfo also allocated an 8-element slice on every
call to collect applicable infos, although at most one is applicable
in almost all cases. Track the first applicable info directly and only
collect value types once a second one is found.

Co-authored-by: Steven Chong <[email protected]>
Synthesizing a union or intersection property looks the name up in
every constituent. Constituents are most often object types whose
members are already resolved, where the lookup amounts to a single
member table probe, yet each one went through getApparentType and
the general getPropertyOfTypeEx path (reduced apparent type, member
resolution, module and value checks) first.

For such constituents, read the member directly when it is a plain
value, or when it is missing and Object/Function augmentation is not
requested. All other cases (module types, aliases, missing members
that may come from the global Object or Function types) still take
the full lookup, so the resulting property is unchanged.

Co-authored-by: Steven Chong <[email protected]>
getTypeOfPropertyOfContextualType runs for every property of every
contextually typed object literal. It passed a closure to mapTypeEx
even though the contextual type is usually not a union, so the
closure was allocated only to be called once. Handle non-union types
directly and keep mapTypeEx for unions.

Also, as with getApplicableIndexInfoForName, don't create a string
literal type for the property name when the contextual type has no
index signatures that it could be matched against.

Co-authored-by: Steven Chong <[email protected]>
Resolving the members of a derived class's constructor type cloned the
class's exports table so that static members of the base constructor
could be added to it. But the base constructor's properties are often
all shadowed: every class has its own 'prototype', and many bases have
no other statics. In that case the clone was identical to the original
and the members were stored a second time for nothing.

Find the first base property that would actually be inherited and only
clone the table (and reset the type's members) when there is one. The
base constructor's properties are still resolved at the same point, so
resolution order is unchanged.

Co-authored-by: Steven Chong <[email protected]>
Copilot AI balanced review requested due to automatic review settings October 29, 2026 22:38
@github-project-automation github-project-automation Bot moved this to Not started in PR Backlog Oct 29, 2026
@typescript-automation typescript-automation Bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Oct 29, 2026
@jakebailey

Copy link
Copy Markdown
Member Author

TypeScript Bot (@typescript-bot) perf test this faster

@typescript-automation

typescript-automation Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

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

Command Status Results
perf test this faster ✅ Started 👀 Results

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.

🟢 Approval recommended

No active review issues are identified for the checker lookup optimizations.

No open issues 🎉

What changed in this PR

This PR optimizes property and index-signature lookups in the native TypeScript checker by reducing common-path work and allocations.

Changes:

  • Adds fast paths for resolved object members, apparent types, and type reduction.
  • Avoids unnecessary literal-type creation and allocations during index-signature and contextual-property lookups.
  • Skips cloning static member tables when no base members need to be inherited.
File Description
tsc/​internal/​checker/​checker.go Optimizes checker lookups with fast paths, deferred allocations, and conditional member-table cloning.

Review effort: Balanced

@jakebailey Jake Bailey (jakebailey) added the Domain: Performance Reports of unusually slow behavior label Oct 29, 2026
@typescript-automation

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
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - native
Errors 41 41 ~ ~ ~ p=1.000 n=20
Symbols 88,466 88,466 ~ ~ ~ p=1.000 n=20
Types 79,607 79,184 -423 (- 0.53%) ~ ~ p=0.000 n=20
Memory Used 104,133k (± 0.02%) 104,121k (± 0.03%) ~ 104,019k 104,220k p=0.490 n=20
Memory Allocs 1,263,820 (± 0.01%) 1,263,286 (± 0.01%) -534 (- 0.04%) 1,263,004 1,263,561 p=0.000 n=20
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Parse Time 0.025s (±18.66%) 0.023s (± 2.35%) ~ 0.021s 0.025s p=0.821 n=20
Bind Time 0.009s (±14.30%) 0.009s (± 6.89%) ~ 0.007s 0.012s p=0.829 n=20
Check Time 0.215s (± 1.63%) 0.204s (± 0.66%) 🟩-0.010s (- 4.75%) 0.199s 0.210s p=0.000 n=20
Emit Time 0.138s (± 0.74%) 0.138s (± 0.50%) ~ 0.136s 0.141s p=0.524 n=20
Total Time 0.390s (± 2.52%) 0.378s (± 0.31%) 🟩-0.012s (- 3.12%) 0.372s 0.381s p=0.000 n=20
angular-1 - native
Errors 3 3 ~ ~ ~ p=1.000 n=20
Symbols 586,556 (± 0.02%) 586,519 (± 0.02%) ~ 586,030 586,791 p=0.733 n=20
Types 241,687 (± 0.00%) 239,573 (± 0.00%) -2,114 (- 0.87%) 239,571 239,583 p=0.000 n=20
Memory Used 517,985k (± 0.01%) 517,715k (± 0.01%) -270k (- 0.05%) 517,482k 517,989k p=0.000 n=20
Memory Allocs 7,804,334 (± 0.14%) 7,800,774 (± 0.12%) ~ 7,784,743 7,847,690 p=0.461 n=20
Config Time 0.009s (± 1.15%) 0.009s ~ ~ ~ p=1.000 n=20
Parse Time 0.127s (± 1.96%) 0.126s (± 2.51%) ~ 0.114s 0.136s p=0.673 n=20
Bind Time 0.043s (± 9.20%) 0.045s (±10.35%) ~ 0.037s 0.068s p=0.586 n=20
Check Time 0s 0s ~ ~ ~ p=1.000 n=20
Emit Time 0.852s (± 0.98%) 0.851s (± 0.89%) ~ 0.822s 0.878s p=0.931 n=20
Total Time 1.042s (± 1.23%) 1.041s (± 1.08%) ~ 1.007s 1.090s p=0.952 n=20
arktype - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 685,920 685,920 ~ ~ ~ p=1.000 n=20
Types 939,467 939,206 -261 (- 0.03%) ~ ~ p=0.000 n=20
Memory Used 497,266k (± 0.01%) 497,218k (± 0.01%) -48k (- 0.01%) 497,039k 497,369k p=0.022 n=20
Memory Allocs 12,107,878 (± 0.01%) 12,107,878 (± 0.01%) ~ 12,103,591 12,113,155 p=0.820 n=20
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=20
Parse Time 0.043s (± 3.37%) 0.044s (± 2.93%) ~ 0.039s 0.049s p=0.210 n=20
Bind Time 0.014s (± 9.91%) 0.014s (±10.08%) ~ 0.011s 0.021s p=0.888 n=20
Check Time 1.003s (± 0.75%) 0.985s (± 0.79%) -0.018s (- 1.78%) 0.959s 1.025s p=0.001 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 1.090s (± 0.75%) 1.075s (± 0.56%) -0.015s (- 1.42%) 1.056s 1.108s p=0.003 n=20
class-transformer - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 45,376 45,376 ~ ~ ~ p=1.000 n=20
Types 7,573 7,565 -8 (- 0.11%) ~ ~ p=0.000 n=20
Memory Used 27,842k (± 0.01%) 27,837k (± 0.02%) ~ 27,814k 27,856k p=0.171 n=20
Memory Allocs 248,783 (± 0.05%) 248,589 (± 0.05%) -194 (- 0.08%) 248,235 249,278 p=0.023 n=20
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Parse Time 0.011s (± 3.88%) 0.011s (± 4.42%) ~ 0.009s 0.012s p=0.916 n=20
Bind Time 0.003s (±13.57%) 0.003s (± 9.29%) ~ 0.002s 0.005s p=0.166 n=20
Check Time 0.008s (± 5.72%) 0.008s (± 5.20%) ~ 0.007s 0.009s p=0.590 n=20
Emit Time 0.009s (± 6.37%) 0.009s (± 5.99%) ~ 0.007s 0.011s p=0.596 n=20
Total Time 0.032s (± 2.07%) 0.032s (± 1.95%) ~ 0.029s 0.034s p=0.854 n=20
effect - native
Errors 12 12 ~ ~ ~ p=1.000 n=20
Symbols 1,235,115 1,235,115 ~ ~ ~ p=1.000 n=20
Types 894,113 893,278 -835 (- 0.09%) ~ ~ p=0.000 n=20
Memory Used 940,635k (± 0.02%) 940,428k (± 0.02%) ~ 939,677k 941,392k p=0.069 n=20
Memory Allocs 12,670,681 (± 0.03%) 12,670,765 (± 0.03%) ~ 12,661,076 12,697,993 p=0.862 n=20
Config Time 0.002s 0.002s ~ ~ ~ p=1.000 n=20
Parse Time 0.148s (± 1.35%) 0.149s (± 1.64%) ~ 0.142s 0.160s p=0.432 n=20
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Check Time 0.936s (± 0.71%) 0.921s (± 0.74%) -0.015s (- 1.64%) 0.897s 0.947s p=0.005 n=20
Emit Time 0.498s (± 2.19%) 0.506s (± 1.98%) ~ 0.465s 0.550s p=0.317 n=20
Total Time 1.675s (± 0.55%) 1.671s (± 0.50%) ~ 1.642s 1.715s p=0.256 n=20
mui-docs - native
Errors 11,405 11,405 ~ ~ ~ p=1.000 n=20
Symbols 3,784,019 3,784,019 ~ ~ ~ p=1.000 n=20
Types 1,355,974 1,354,375 -1,599 (- 0.12%) ~ ~ p=0.000 n=20
Memory Used 1,836,713k (± 0.09%) 1,835,485k (± 0.07%) ~ 1,831,583k 1,839,890k p=0.301 n=20
Memory Allocs 26,015,818 (± 0.14%) 26,004,973 (± 0.11%) ~ 25,924,906 26,108,125 p=0.678 n=20
Config Time 0.009s (± 2.73%) 0.009s (± 2.82%) ~ 0.008s 0.009s p=0.751 n=20
Parse Time 0.299s (± 2.24%) 0.299s (± 1.72%) ~ 0.282s 0.321s p=0.963 n=20
Bind Time 0.001s 0.001s ~ ~ ~ p=1.000 n=20
Check Time 3.265s (± 1.28%) 3.224s (± 1.45%) ~ 3.042s 3.403s p=0.292 n=20
Emit Time 0.258s (± 2.04%) 0.256s (± 2.01%) ~ 0.237s 0.279s p=0.587 n=20
Total Time 4.345s (± 1.28%) 4.301s (± 1.38%) ~ 4.031s 4.509s p=0.373 n=20
sentry - native
Errors 2 2 ~ ~ ~ p=1.000 n=20
Symbols 4,793,245 4,793,245 ~ ~ ~ p=1.000 n=20
Types 2,607,045 2,604,654 -2,391 (- 0.09%) ~ ~ p=0.000 n=20
Memory Used 2,882,235k (± 0.04%) 2,879,947k (± 0.03%) -2,288k (- 0.08%) 2,877,727k 2,883,490k p=0.003 n=20
Memory Allocs 75,452,587 (± 0.39%) 75,223,344 (± 0.24%) ~ 74,819,955 76,299,611 p=0.301 n=20
Config Time 0.025s (± 0.84%) 0.025s (± 0.98%) ~ 0.024s 0.025s p=0.191 n=20
Parse Time 0.483s (± 4.57%) 0.465s (± 4.14%) ~ 0.423s 0.593s p=0.208 n=20
Bind Time 0.158s (± 9.92%) 0.178s (± 9.91%) 🔻+0.020s (+12.64%) 0.139s 0.244s p=0.030 n=20
Check Time 6.741s (± 0.54%) 6.619s (± 0.44%) -0.122s (- 1.81%) 6.538s 6.748s p=0.000 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 7.456s (± 0.54%) 7.343s (± 0.40%) -0.113s (- 1.52%) 7.238s 7.453s p=0.000 n=20
social-app - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 1,883,074 1,883,074 ~ ~ ~ p=1.000 n=20
Types 1,158,168 1,157,065 -1,103 (- 0.10%) ~ ~ p=0.000 n=20
Memory Used 972,433k (± 0.01%) 971,996k (± 0.01%) -437k (- 0.04%) 971,495k 972,366k p=0.000 n=20
Memory Allocs 13,552,506 (± 0.09%) 13,579,684 (± 0.28%) ~ 13,512,666 13,824,095 p=0.947 n=20
Config Time 0.008s (± 1.30%) 0.008s ~ ~ ~ p=1.000 n=20
Parse Time 0.165s (± 3.07%) 0.161s (± 2.62%) ~ 0.147s 0.182s p=0.317 n=20
Bind Time 0.044s (± 7.40%) 0.051s (±12.43%) ~ 0.041s 0.077s p=0.181 n=20
Check Time 1.537s (± 0.66%) 1.530s (± 0.75%) ~ 1.495s 1.587s p=0.267 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 1.772s (± 0.61%) 1.767s (± 0.84%) ~ 1.723s 1.823s p=0.507 n=20
strada-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 1,184,972 1,184,972 ~ ~ ~ p=1.000 n=20
Types 438,963 435,976 -2,987 (- 0.68%) ~ ~ p=0.000 n=20
Memory Used 1,167,825k (± 0.33%) 1,166,790k (± 0.33%) ~ 1,152,702k 1,183,823k p=0.602 n=20
Memory Allocs 47,696,097 (± 0.11%) 47,651,206 (± 0.12%) ~ 47,418,517 47,879,221 p=0.277 n=20
Config Time 0.002s (±17.44%) 0.002s (±11.84%) ~ 0.001s 0.002s p=0.320 n=20
Parse Time 0.140s (± 1.36%) 0.139s (± 1.37%) ~ 0.132s 0.147s p=0.233 n=20
Bind Time 0.000s 0.000s (±208.60%) ~ 0.000s 0.001s p=1.000 n=20
Check Time 0.809s (± 0.40%) 0.807s (± 0.66%) ~ 0.795s 0.850s p=0.100 n=20
Emit Time 0.141s (± 1.92%) 0.140s (± 1.27%) ~ 0.135s 0.149s p=0.586 n=20
Total Time 9.378s (± 0.30%) 9.360s (± 0.79%) ~ 9.195s 9.931s p=0.081 n=20
strada-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 263,511 263,511 ~ ~ ~ p=1.000 n=20
Types 196,116 195,166 -950 (- 0.48%) ~ ~ p=0.000 n=20
Memory Used 224,612k (± 0.02%) 224,510k (± 0.02%) -102k (- 0.05%) 224,315k 224,632k p=0.001 n=20
Memory Allocs 2,401,550 (± 0.01%) 2,400,331 (± 0.01%) -1,219 (- 0.05%) 2,399,183 2,401,287 p=0.000 n=20
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Parse Time 0.050s (± 3.59%) 0.049s (± 2.72%) ~ 0.044s 0.056s p=0.246 n=20
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Check Time 0.394s (± 5.63%) 0.387s (± 3.15%) ~ 0.368s 0.492s p=0.693 n=20
Emit Time 0.048s (± 5.16%) 0.048s (± 4.77%) ~ 0.041s 0.057s p=0.930 n=20
Total Time 0.520s (± 4.46%) 0.510s (± 2.23%) ~ 0.491s 0.606s p=0.151 n=20
t3code-server - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 4,350,661 4,350,661 ~ ~ ~ p=1.000 n=20
Types 3,040,644 3,038,632 -2,012 (- 0.07%) ~ ~ p=0.000 n=20
Memory Used 2,433,806k (± 0.03%) 2,433,076k (± 0.02%) ~ 2,431,799k 2,435,211k p=0.063 n=20
Memory Allocs 37,372,053 (± 0.08%) 37,397,732 (± 0.11%) ~ 37,297,768 37,718,224 p=0.355 n=20
Config Time 0.003s 0.003s ~ ~ ~ p=1.000 n=20
Parse Time 0.252s (± 1.74%) 0.252s (± 2.52%) ~ 0.225s 0.279s p=0.931 n=20
Bind Time 0.088s (± 9.54%) 0.089s (± 9.96%) ~ 0.075s 0.136s p=0.702 n=20
Check Time 7.219s (± 0.59%) 7.142s (± 0.65%) -0.077s (- 1.06%) 7.033s 7.387s p=0.011 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 7.573s (± 0.57%) 7.496s (± 0.62%) -0.077s (- 1.02%) 7.380s 7.726s p=0.013 n=20
tanstack-router - native
Errors 1 1 ~ ~ ~ p=1.000 n=20
Symbols 571,756 571,756 ~ ~ ~ p=1.000 n=20
Types 397,689 397,368 -321 (- 0.08%) ~ ~ p=0.000 n=20
Memory Used 331,443k (± 0.01%) 331,365k (± 0.01%) -78k (- 0.02%) 331,188k 331,545k p=0.009 n=20
Memory Allocs 4,388,230 (± 0.28%) 4,390,475 (± 0.23%) ~ 4,375,348 4,445,364 p=0.134 n=20
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=20
Parse Time 0.040s (± 3.94%) 0.040s (± 4.35%) ~ 0.035s 0.047s p=0.721 n=20
Bind Time 0.013s (±11.58%) 0.013s (± 8.48%) ~ 0.011s 0.019s p=0.909 n=20
Check Time 0.570s (± 1.04%) 0.563s (± 1.23%) ~ 0.537s 0.596s p=0.075 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 0.643s (± 1.07%) 0.635s (± 1.20%) ~ 0.608s 0.669s p=0.092 n=20
ts-pre-modules - native
Errors 87 87 ~ ~ ~ p=1.000 n=20
Symbols 231,616 231,616 ~ ~ ~ p=1.000 n=20
Types 181,195 180,608 -587 (- 0.32%) ~ ~ p=0.000 n=20
Memory Used 193,502k (± 0.02%) 193,489k (± 0.01%) ~ 193,437k 193,579k p=0.337 n=20
Memory Allocs 1,317,922 (± 0.01%) 1,317,467 (± 0.02%) -455 (- 0.03%) 1,316,746 1,318,335 p=0.001 n=20
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Parse Time 0.042s (± 2.75%) 0.043s (± 2.70%) ~ 0.039s 0.047s p=0.792 n=20
Bind Time 0.020s (± 5.88%) 0.021s (± 5.04%) ~ 0.017s 0.026s p=0.681 n=20
Check Time 0.294s (± 0.82%) 0.288s (± 0.91%) -0.005s (- 1.87%) 0.279s 0.298s p=0.001 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 0.362s (± 0.52%) 0.358s (± 0.70%) -0.005s (- 1.27%) 0.349s 0.368s p=0.005 n=20
vscode - native
Errors 11 11 ~ ~ ~ p=1.000 n=20
Symbols 7,495,105 7,495,105 ~ ~ ~ p=1.000 n=20
Types 4,406,091 4,390,662 -15,429 (- 0.35%) ~ ~ p=0.000 n=20
Memory Used 5,204,759k (± 0.03%) 5,202,723k (± 0.02%) -2,035k (- 0.04%) 5,199,675k 5,206,401k p=0.023 n=20
Memory Allocs 57,155,141 (± 0.03%) 57,113,196 (± 0.02%) -41,945 (- 0.07%) 57,085,958 57,178,854 p=0.001 n=20
Config Time 0.034s (± 1.28%) 0.034s (± 1.29%) ~ 0.033s 0.035s p=0.666 n=20
Parse Time 0.921s (± 1.77%) 0.926s (± 2.02%) ~ 0.869s 0.999s p=0.805 n=20
Bind Time 0.330s (±12.11%) 0.305s (± 1.16%) ~ 0.289s 0.318s p=0.783 n=20
Check Time 8.350s (± 1.20%) 8.233s (± 1.10%) ~ 7.985s 8.561s p=0.059 n=20
Emit Time 2.824s (± 4.55%) 2.792s (± 2.67%) ~ 2.659s 3.369s p=0.703 n=20
Total Time 12.517s (± 1.45%) 12.346s (± 1.13%) ~ 11.958s 12.957s p=0.134 n=20
webpack - native
Errors 616 616 ~ ~ ~ p=1.000 n=20
Symbols 917,188 917,188 ~ ~ ~ p=1.000 n=20
Types 636,859 623,227 -13,632 (- 2.14%) ~ ~ p=0.000 n=20
Memory Used 693,459k (± 0.01%) 691,671k (± 0.01%) -1,788k (- 0.26%) 691,398k 692,021k p=0.000 n=20
Memory Allocs 6,499,966 (± 0.04%) 6,482,229 (± 0.03%) -17,737 (- 0.27%) 6,475,185 6,495,212 p=0.000 n=20
Config Time 0.004s 0.004s ~ ~ ~ p=1.000 n=20
Parse Time 0.136s (± 3.02%) 0.141s (± 3.40%) ~ 0.121s 0.161s p=0.125 n=20
Bind Time 0.045s (± 9.51%) 0.046s (±11.92%) ~ 0.037s 0.074s p=0.642 n=20
Check Time 1.124s (± 0.58%) 1.103s (± 0.36%) -0.021s (- 1.90%) 1.084s 1.114s p=0.000 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 1.333s (± 0.54%) 1.317s (± 0.51%) -0.016s (- 1.22%) 1.294s 1.354s p=0.002 n=20
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 640,490 640,490 ~ ~ ~ p=1.000 n=20
Types 387,984 387,726 -258 (- 0.07%) ~ ~ p=0.000 n=20
Memory Used 350,933k (± 0.03%) 350,827k (± 0.02%) ~ 350,633k 351,108k p=0.063 n=20
Memory Allocs 3,994,723 (± 0.10%) 3,991,730 (± 0.08%) ~ 3,978,568 4,005,354 p=0.512 n=20
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=20
Parse Time 0.061s (± 3.10%) 0.062s (± 3.13%) ~ 0.055s 0.068s p=0.973 n=20
Bind Time 0.021s (±10.53%) 0.020s (± 8.09%) ~ 0.017s 0.028s p=0.916 n=20
Check Time 0.416s (± 0.80%) 0.412s (± 0.74%) ~ 0.400s 0.424s p=0.118 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 0.504s (± 0.87%) 0.500s (± 0.81%) ~ 0.486s 0.516s p=0.291 n=20
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • arktype - native
  • class-transformer - native
  • effect - native
  • mui-docs - native
  • sentry - native
  • social-app - native
  • strada-build-src - native
  • strada-compiler - native
  • t3code-server - native
  • tanstack-router - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 20
Baseline baseline 20

Developer Information:

Download Benchmarks

This branch has not been deployed

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

Labels

Author: Team Domain: Performance Reports of unusually slow behavior For Uncommitted Bug PR for untriaged, rejected, closed or missing bug

Projects

Status: Not started

Development

Successfully merging this pull request may close these issues.

2 participants