Skip to content

check usage before declaration for decorators #50372

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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
May 2, 2025

Conversation

Zzzen
Copy link
Contributor

@Zzzen Zzzen commented Aug 19, 2022

Fixes #50349

@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label Aug 19, 2022
return !!findAncestor(usage, current => {
if (current === declContainer) {
return "quit";
}
if (isFunctionLike(current)) {
return true;
return !getImmediatelyInvokedFunctionExpression(current);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Enum is not checked properly. playground

function foo17() {
    let a = (() => Enum.Yes)();  // should error
    enum Enum {
        No = 0,
        Yes = 1,
    }
}

foo17()

@DanielRosenwasser
Copy link
Member

@typescript-bot test this
@typescript-bot user test this
@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Aug 22, 2022

Heya @DanielRosenwasser, I've started to run the extended test suite on this PR at 4190fb8. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Aug 22, 2022

Heya @DanielRosenwasser, I've started to run the diff-based user code test suite on this PR at 4190fb8. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Aug 22, 2022

Heya @DanielRosenwasser, I've started to run the perf test suite on this PR at 4190fb8. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@DanielRosenwasser Here are the results of running the user test suite comparing main and refs/pull/50372/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

Heya @DanielRosenwasser, I've run the RWC suite on this PR - assuming you're on the TS core team, you can view the resulting diff here.

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..50372
Metric main 50372 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 361,765k (± 0.03%) 361,717k (± 0.02%) -48k (- 0.01%) 361,520k 361,900k
Parse Time 2.08s (± 0.54%) 2.09s (± 0.34%) +0.01s (+ 0.63%) 2.08s 2.10s
Bind Time 0.79s (± 0.75%) 0.79s (± 0.78%) -0.01s (- 0.75%) 0.78s 0.81s
Check Time 6.02s (± 0.55%) 6.03s (± 0.73%) +0.00s (+ 0.07%) 5.92s 6.13s
Emit Time 6.01s (± 0.31%) 5.96s (± 1.07%) -0.05s (- 0.90%) 5.87s 6.15s
Total Time 14.91s (± 0.26%) 14.87s (± 0.66%) -0.04s (- 0.27%) 14.71s 15.09s
Compiler-Unions - node (v10.16.3, x64)
Memory used 205,810k (± 0.03%) 205,884k (± 0.03%) +74k (+ 0.04%) 205,739k 206,097k
Parse Time 0.83s (± 0.92%) 0.83s (± 0.44%) +0.01s (+ 0.97%) 0.83s 0.84s
Bind Time 0.47s (± 1.22%) 0.47s (± 1.27%) -0.00s (- 0.85%) 0.45s 0.48s
Check Time 7.32s (± 0.54%) 7.29s (± 0.45%) -0.02s (- 0.34%) 7.21s 7.36s
Emit Time 2.43s (± 0.73%) 2.43s (± 1.11%) +0.00s (+ 0.16%) 2.38s 2.51s
Total Time 11.04s (± 0.29%) 11.03s (± 0.51%) -0.01s (- 0.14%) 10.88s 11.18s
Monaco - node (v10.16.3, x64)
Memory used 344,245k (± 0.02%) 344,240k (± 0.01%) -5k (- 0.00%) 344,132k 344,362k
Parse Time 1.60s (± 0.59%) 1.60s (± 0.51%) -0.00s (- 0.00%) 1.58s 1.62s
Bind Time 0.70s (± 0.57%) 0.70s (± 0.88%) 0.00s ( 0.00%) 0.69s 0.71s
Check Time 5.96s (± 0.54%) 5.99s (± 0.50%) +0.03s (+ 0.52%) 5.94s 6.07s
Emit Time 3.25s (± 1.06%) 3.26s (± 0.76%) +0.01s (+ 0.34%) 3.20s 3.31s
Total Time 11.50s (± 0.52%) 11.55s (± 0.42%) +0.04s (+ 0.38%) 11.44s 11.66s
TFS - node (v10.16.3, x64)
Memory used 305,446k (± 0.02%) 305,457k (± 0.03%) +11k (+ 0.00%) 305,244k 305,661k
Parse Time 1.28s (± 0.77%) 1.29s (± 0.48%) +0.01s (+ 1.02%) 1.28s 1.31s
Bind Time 0.67s (± 0.86%) 0.67s (± 0.66%) +0.00s (+ 0.30%) 0.66s 0.68s
Check Time 5.42s (± 0.55%) 5.42s (± 0.70%) +0.01s (+ 0.11%) 5.37s 5.55s
Emit Time 3.40s (± 1.45%) 3.44s (± 1.55%) +0.05s (+ 1.35%) 3.35s 3.56s
Total Time 10.76s (± 0.52%) 10.82s (± 0.64%) +0.07s (+ 0.61%) 10.71s 10.98s
material-ui - node (v10.16.3, x64)
Memory used 473,096k (± 0.01%) 473,125k (± 0.01%) +29k (+ 0.01%) 472,979k 473,224k
Parse Time 1.82s (± 0.66%) 1.82s (± 0.57%) +0.00s (+ 0.06%) 1.80s 1.84s
Bind Time 0.58s (± 1.96%) 0.58s (± 1.82%) +0.00s (+ 0.52%) 0.56s 0.60s
Check Time 14.58s (± 0.46%) 14.62s (± 0.48%) +0.04s (+ 0.27%) 14.46s 14.77s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.98s (± 0.40%) 17.02s (± 0.46%) +0.05s (+ 0.28%) 16.86s 17.20s
xstate - node (v10.16.3, x64)
Memory used 583,187k (± 0.02%) 586,545k (± 1.24%) +3,359k (+ 0.58%) 583,170k 616,037k
Parse Time 2.58s (± 0.36%) 2.60s (± 0.52%) +0.02s (+ 0.74%) 2.58s 2.64s
Bind Time 0.90s (± 0.72%) 0.91s (± 1.15%) +0.01s (+ 0.67%) 0.87s 0.92s
Check Time 1.56s (± 0.38%) 1.58s (± 0.66%) +0.02s (+ 1.54%) 1.55s 1.60s
Emit Time 0.07s (± 4.13%) 0.07s (± 3.14%) -0.00s (- 1.39%) 0.07s 0.08s
Total Time 5.12s (± 0.25%) 5.15s (± 0.47%) +0.04s (+ 0.74%) 5.10s 5.20s
Angular - node (v12.1.0, x64)
Memory used 339,188k (± 0.10%) 339,403k (± 0.02%) +215k (+ 0.06%) 339,268k 339,535k
Parse Time 2.08s (± 0.77%) 2.08s (± 0.67%) +0.00s (+ 0.05%) 2.05s 2.12s
Bind Time 0.77s (± 0.62%) 0.77s (± 0.62%) +0.01s (+ 0.78%) 0.76s 0.78s
Check Time 5.83s (± 0.92%) 5.82s (± 0.40%) -0.02s (- 0.33%) 5.77s 5.87s
Emit Time 6.23s (± 0.81%) 6.24s (± 0.87%) +0.00s (+ 0.02%) 6.14s 6.33s
Total Time 14.92s (± 0.74%) 14.91s (± 0.45%) -0.01s (- 0.06%) 14.74s 15.03s
Compiler-Unions - node (v12.1.0, x64)
Memory used 193,440k (± 0.13%) 193,585k (± 0.09%) +144k (+ 0.07%) 192,945k 193,757k
Parse Time 0.82s (± 0.68%) 0.83s (± 1.09%) +0.01s (+ 0.85%) 0.81s 0.86s
Bind Time 0.47s (± 0.94%) 0.47s (± 1.23%) +0.00s (+ 0.21%) 0.46s 0.49s
Check Time 6.86s (± 0.71%) 6.87s (± 0.74%) +0.01s (+ 0.15%) 6.75s 6.97s
Emit Time 2.45s (± 1.11%) 2.46s (± 1.31%) +0.01s (+ 0.29%) 2.41s 2.55s
Total Time 10.60s (± 0.60%) 10.63s (± 0.70%) +0.02s (+ 0.22%) 10.49s 10.79s
Monaco - node (v12.1.0, x64)
Memory used 327,303k (± 0.02%) 327,242k (± 0.02%) -60k (- 0.02%) 327,114k 327,431k
Parse Time 1.57s (± 0.51%) 1.57s (± 0.58%) +0.00s (+ 0.06%) 1.55s 1.59s
Bind Time 0.70s (± 0.68%) 0.69s (± 0.52%) -0.00s (- 0.43%) 0.69s 0.70s
Check Time 5.80s (± 0.56%) 5.80s (± 0.45%) -0.00s (- 0.03%) 5.73s 5.84s
Emit Time 3.30s (± 0.85%) 3.27s (± 0.47%) -0.03s (- 0.82%) 3.24s 3.31s
Total Time 11.37s (± 0.49%) 11.34s (± 0.34%) -0.03s (- 0.28%) 11.25s 11.41s
TFS - node (v12.1.0, x64)
Memory used 290,048k (± 0.02%) 290,025k (± 0.01%) -23k (- 0.01%) 289,954k 290,113k
Parse Time 1.29s (± 0.79%) 1.30s (± 0.85%) +0.01s (+ 0.46%) 1.27s 1.32s
Bind Time 0.66s (± 0.84%) 0.66s (± 1.21%) -0.00s (- 0.00%) 0.64s 0.68s
Check Time 5.36s (± 0.39%) 5.35s (± 0.38%) -0.01s (- 0.28%) 5.31s 5.40s
Emit Time 3.46s (± 0.85%) 3.50s (± 0.61%) +0.04s (+ 1.04%) 3.45s 3.56s
Total Time 10.78s (± 0.42%) 10.80s (± 0.37%) +0.03s (+ 0.26%) 10.73s 10.90s
material-ui - node (v12.1.0, x64)
Memory used 452,231k (± 0.02%) 452,100k (± 0.06%) -130k (- 0.03%) 450,988k 452,352k
Parse Time 1.81s (± 0.61%) 1.81s (± 0.75%) -0.00s (- 0.11%) 1.79s 1.85s
Bind Time 0.55s (± 0.67%) 0.55s (± 0.87%) +0.00s (+ 0.18%) 0.54s 0.56s
Check Time 13.03s (± 0.49%) 13.05s (± 0.29%) +0.02s (+ 0.15%) 12.98s 13.15s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.40s (± 0.43%) 15.41s (± 0.26%) +0.02s (+ 0.11%) 15.33s 15.50s
xstate - node (v12.1.0, x64)
Memory used 548,339k (± 0.02%) 548,418k (± 0.02%) +79k (+ 0.01%) 548,166k 548,658k
Parse Time 2.52s (± 0.43%) 2.52s (± 0.35%) +0.00s (+ 0.04%) 2.51s 2.55s
Bind Time 0.89s (± 0.65%) 0.89s (± 0.67%) -0.00s (- 0.45%) 0.88s 0.90s
Check Time 1.51s (± 0.60%) 1.51s (± 0.63%) -0.00s (- 0.33%) 1.48s 1.52s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 4.99s (± 0.29%) 4.98s (± 0.32%) -0.01s (- 0.22%) 4.95s 5.03s
Angular - node (v14.15.1, x64)
Memory used 337,324k (± 0.01%) 337,306k (± 0.01%) -18k (- 0.01%) 337,258k 337,390k
Parse Time 2.05s (± 0.46%) 2.05s (± 0.65%) +0.00s (+ 0.15%) 2.02s 2.09s
Bind Time 0.79s (± 0.95%) 0.79s (± 0.63%) +0.00s (+ 0.13%) 0.79s 0.81s
Check Time 5.81s (± 0.42%) 5.81s (± 0.34%) +0.00s (+ 0.03%) 5.76s 5.86s
Emit Time 6.16s (± 0.79%) 6.16s (± 0.54%) +0.00s (+ 0.06%) 6.11s 6.23s
Total Time 14.81s (± 0.43%) 14.81s (± 0.27%) +0.01s (+ 0.05%) 14.75s 14.94s
Compiler-Unions - node (v14.15.1, x64)
Memory used 192,118k (± 0.02%) 192,127k (± 0.01%) +9k (+ 0.00%) 192,042k 192,165k
Parse Time 0.85s (± 0.53%) 0.86s (± 0.97%) +0.01s (+ 0.83%) 0.84s 0.88s
Bind Time 0.48s (± 0.62%) 0.48s (± 0.75%) +0.00s (+ 0.41%) 0.48s 0.49s
Check Time 6.86s (± 0.65%) 6.89s (± 0.69%) +0.03s (+ 0.45%) 6.76s 7.00s
Emit Time 2.40s (± 0.28%) 2.40s (± 0.85%) +0.00s (+ 0.04%) 2.37s 2.46s
Total Time 10.60s (± 0.39%) 10.63s (± 0.54%) +0.04s (+ 0.35%) 10.49s 10.79s
Monaco - node (v14.15.1, x64)
Memory used 326,033k (± 0.00%) 326,033k (± 0.01%) 0k ( 0.00%) 325,971k 326,089k
Parse Time 1.56s (± 0.43%) 1.57s (± 0.64%) +0.00s (+ 0.26%) 1.55s 1.59s
Bind Time 0.72s (± 0.77%) 0.72s (± 0.72%) -0.00s (- 0.14%) 0.71s 0.73s
Check Time 5.67s (± 0.30%) 5.69s (± 0.50%) +0.02s (+ 0.26%) 5.62s 5.75s
Emit Time 3.32s (± 0.35%) 3.33s (± 0.47%) +0.01s (+ 0.15%) 3.29s 3.36s
Total Time 11.28s (± 0.21%) 11.30s (± 0.29%) +0.02s (+ 0.20%) 11.23s 11.37s
TFS - node (v14.15.1, x64)
Memory used 289,098k (± 0.01%) 289,107k (± 0.01%) +9k (+ 0.00%) 289,053k 289,162k
Parse Time 1.33s (± 2.25%) 1.33s (± 1.46%) -0.01s (- 0.38%) 1.30s 1.37s
Bind Time 0.70s (± 4.43%) 0.71s (± 5.16%) +0.00s (+ 0.43%) 0.66s 0.80s
Check Time 5.33s (± 0.46%) 5.33s (± 0.28%) -0.01s (- 0.19%) 5.29s 5.36s
Emit Time 3.44s (± 1.75%) 3.51s (± 2.22%) +0.07s (+ 2.12%) 3.38s 3.66s
Total Time 10.81s (± 0.62%) 10.87s (± 0.76%) +0.07s (+ 0.61%) 10.70s 11.07s
material-ui - node (v14.15.1, x64)
Memory used 450,417k (± 0.06%) 450,522k (± 0.01%) +105k (+ 0.02%) 450,482k 450,580k
Parse Time 1.85s (± 0.46%) 1.86s (± 0.45%) +0.01s (+ 0.38%) 1.84s 1.88s
Bind Time 0.58s (± 0.69%) 0.57s (± 0.63%) -0.00s (- 0.86%) 0.57s 0.58s
Check Time 13.15s (± 0.63%) 13.13s (± 0.49%) -0.02s (- 0.14%) 13.03s 13.29s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.57s (± 0.54%) 15.56s (± 0.39%) -0.01s (- 0.08%) 15.47s 15.72s
xstate - node (v14.15.1, x64)
Memory used 546,034k (± 0.01%) 546,036k (± 0.01%) +3k (+ 0.00%) 545,981k 546,094k
Parse Time 2.59s (± 0.36%) 2.59s (± 0.41%) +0.00s (+ 0.08%) 2.57s 2.61s
Bind Time 0.98s (± 1.08%) 0.97s (± 1.01%) -0.01s (- 1.22%) 0.96s 1.00s
Check Time 1.54s (± 0.42%) 1.55s (± 0.62%) +0.01s (+ 0.45%) 1.53s 1.57s
Emit Time 0.07s (± 0.00%) 0.07s (± 3.14%) +0.00s (+ 1.43%) 0.07s 0.08s
Total Time 5.19s (± 0.27%) 5.19s (± 0.27%) +0.00s (+ 0.02%) 5.17s 5.22s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v10.16.3, x64)
  • Compiler-Unions - node (v12.1.0, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v10.16.3, x64)
  • xstate - node (v12.1.0, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50372 10
Baseline main 10

TSServer

Comparison Report - main..50372
Metric main 50372 Delta Best Worst
Compiler-UnionsTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,396ms (± 0.51%) 1,395ms (± 0.37%) -1ms (- 0.08%) 1,386ms 1,407ms
Req 2 - geterr 3,725ms (± 0.61%) 3,738ms (± 0.48%) +14ms (+ 0.37%) 3,693ms 3,783ms
Req 3 - references 229ms (± 0.71%) 229ms (± 0.95%) +1ms (+ 0.22%) 225ms 236ms
Req 4 - navto 171ms (± 1.10%) 172ms (± 1.29%) +0ms (+ 0.18%) 167ms 176ms
Req 5 - completionInfo count 1,355 (± 0.00%) 1,355 (± 0.00%) 0 ( 0.00%) 1,355 1,355
Req 5 - completionInfo 63ms (± 4.35%) 61ms (± 1.54%) -2ms (- 2.56%) 59ms 64ms
CompilerTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,498ms (± 0.48%) 1,502ms (± 0.53%) +3ms (+ 0.22%) 1,487ms 1,525ms
Req 2 - geterr 2,218ms (± 0.60%) 2,233ms (± 0.46%) +15ms (+ 0.67%) 2,207ms 2,254ms
Req 3 - references 241ms (± 0.71%) 244ms (± 0.90%) +3ms (+ 1.41%) 241ms 250ms
Req 4 - navto 185ms (± 0.92%) 186ms (± 0.81%) +1ms (+ 0.59%) 184ms 190ms
Req 5 - completionInfo count 1,517 (± 0.00%) 1,517 (± 0.00%) 0 ( 0.00%) 1,517 1,517
Req 5 - completionInfo 68ms (± 2.54%) 68ms (± 3.28%) +0ms (+ 0.29%) 61ms 71ms
xstateTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 2,071ms (± 0.77%) 2,069ms (± 0.44%) -2ms (- 0.08%) 2,055ms 2,099ms
Req 2 - geterr 776ms (± 0.68%) 776ms (± 0.51%) -0ms (- 0.05%) 766ms 783ms
Req 3 - references 101ms (± 1.18%) 100ms (± 0.96%) -1ms (- 1.29%) 98ms 101ms
Req 4 - navto 233ms (± 1.10%) 233ms (± 1.48%) -0ms (- 0.09%) 226ms 241ms
Req 5 - completionInfo count 3,293 (± 0.00%) 3,293 (± 0.00%) 0 ( 0.00%) 3,293 3,293
Req 5 - completionInfo 270ms (± 1.00%) 268ms (± 0.73%) -2ms (- 0.67%) 263ms 272ms
Compiler-UnionsTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,401ms (± 0.74%) 1,400ms (± 0.94%) -0ms (- 0.03%) 1,370ms 1,432ms
Req 2 - geterr 3,487ms (± 0.59%) 3,484ms (± 0.54%) -3ms (- 0.07%) 3,444ms 3,522ms
Req 3 - references 219ms (± 0.73%) 219ms (± 0.73%) -0ms (- 0.05%) 215ms 222ms
Req 4 - navto 160ms (± 0.95%) 163ms (± 1.23%) +2ms (+ 1.43%) 158ms 168ms
Req 5 - completionInfo count 1,355 (± 0.00%) 1,355 (± 0.00%) 0 ( 0.00%) 1,355 1,355
Req 5 - completionInfo 58ms (± 4.61%) 59ms (± 4.24%) +1ms (+ 1.38%) 53ms 63ms
CompilerTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,496ms (± 0.43%) 1,492ms (± 0.36%) -4ms (- 0.26%) 1,479ms 1,504ms
Req 2 - geterr 2,157ms (± 0.54%) 2,167ms (± 0.58%) +10ms (+ 0.44%) 2,148ms 2,204ms
Req 3 - references 232ms (± 0.97%) 232ms (± 0.93%) +0ms (+ 0.17%) 227ms 237ms
Req 4 - navto 171ms (± 1.09%) 171ms (± 0.99%) +1ms (+ 0.47%) 168ms 175ms
Req 5 - completionInfo count 1,517 (± 0.00%) 1,517 (± 0.00%) 0 ( 0.00%) 1,517 1,517
Req 5 - completionInfo 62ms (± 3.81%) 62ms (± 5.21%) 0ms ( 0.00%) 55ms 67ms
xstateTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 2,022ms (± 0.56%) 2,019ms (± 0.41%) -3ms (- 0.12%) 1,999ms 2,035ms
Req 2 - geterr 759ms (± 0.38%) 755ms (± 0.34%) -4ms (- 0.53%) 748ms 760ms
Req 3 - references 68ms (± 1.39%) 68ms (± 3.18%) +0ms (+ 0.59%) 66ms 76ms
Req 4 - navto 223ms (± 1.55%) 224ms (± 1.64%) +1ms (+ 0.54%) 214ms 233ms
Req 5 - completionInfo count 3,293 (± 0.00%) 3,293 (± 0.00%) 0 ( 0.00%) 3,293 3,293
Req 5 - completionInfo 267ms (± 1.04%) 267ms (± 0.57%) +1ms (+ 0.19%) 265ms 272ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,437ms (± 0.50%) 1,440ms (± 0.36%) +3ms (+ 0.22%) 1,429ms 1,453ms
Req 2 - geterr 3,627ms (± 0.85%) 3,632ms (± 0.62%) +5ms (+ 0.15%) 3,585ms 3,680ms
Req 3 - references 227ms (± 0.60%) 227ms (± 0.51%) +0ms (+ 0.04%) 226ms 231ms
Req 4 - navto 171ms (± 0.62%) 172ms (± 0.32%) +1ms (+ 0.76%) 171ms 173ms
Req 5 - completionInfo count 1,355 (± 0.00%) 1,355 (± 0.00%) 0 ( 0.00%) 1,355 1,355
Req 5 - completionInfo 59ms (± 2.87%) 59ms (± 1.57%) +0ms (+ 0.68%) 57ms 62ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,518ms (± 0.79%) 1,505ms (± 0.46%) -12ms (- 0.82%) 1,492ms 1,522ms
Req 2 - geterr 2,281ms (± 0.41%) 2,290ms (± 0.33%) +9ms (+ 0.40%) 2,275ms 2,305ms
Req 3 - references 241ms (± 0.67%) 241ms (± 0.83%) +0ms (+ 0.08%) 238ms 245ms
Req 4 - navto 178ms (± 0.45%) 178ms (± 0.47%) -0ms (- 0.06%) 177ms 180ms
Req 5 - completionInfo count 1,517 (± 0.00%) 1,517 (± 0.00%) 0 ( 0.00%) 1,517 1,517
Req 5 - completionInfo 52ms (± 0.94%) 53ms (± 1.05%) +0ms (+ 0.76%) 52ms 54ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,128ms (± 0.48%) 2,121ms (± 0.36%) -7ms (- 0.35%) 2,102ms 2,142ms
Req 2 - geterr 774ms (± 0.22%) 775ms (± 0.28%) +1ms (+ 0.12%) 771ms 780ms
Req 3 - references 66ms (± 1.10%) 66ms (± 1.06%) -0ms (- 0.45%) 65ms 68ms
Req 4 - navto 228ms (± 0.51%) 227ms (± 0.32%) -1ms (- 0.48%) 225ms 228ms
Req 5 - completionInfo count 3,293 (± 0.00%) 3,293 (± 0.00%) 0 ( 0.00%) 3,293 3,293
Req 5 - completionInfo 275ms (± 3.55%) 276ms (± 5.02%) +0ms (+ 0.15%) 267ms 331ms
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v10.16.3, x64)
  • Compiler-UnionsTSServer - node (v12.1.0, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v10.16.3, x64)
  • CompilerTSServer - node (v12.1.0, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v10.16.3, x64)
  • xstateTSServer - node (v12.1.0, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50372 10
Baseline main 10

Developer Information:

Download Benchmark

@sandersn
Copy link
Member

sandersn commented May 2, 2025

@typescript-bot test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 2, 2025

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

Command Status Results
test top400 ✅ Started ✅ Results
user test this ✅ Started ✅ Results
run dt ✅ Started ✅ Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@sandersn Here are the results of running the user tests with tsc comparing main and refs/pull/50372/merge:

There were infrastructure failures potentially unrelated to your change:

  • 1 instance of "Timeout"

Otherwise...

Everything looks good!

@typescript-bot
Copy link
Collaborator

Hey @sandersn, the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Collaborator

@sandersn
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 - node (v18.15.0, x64)
Errors 34 34 ~ ~ ~ p=1.000 n=6
Symbols 62,390 62,390 ~ ~ ~ p=1.000 n=6
Types 50,395 50,395 ~ ~ ~ p=1.000 n=6
Memory used 192,972k (± 0.01%) 194,204k (± 0.98%) ~ 192,960k 196,794k p=0.377 n=6
Parse Time 1.30s (± 0.79%) 1.31s (± 1.12%) ~ 1.29s 1.33s p=0.276 n=6
Bind Time 0.73s 0.73s ~ ~ ~ p=1.000 n=6
Check Time 9.76s (± 0.21%) 9.76s (± 0.27%) ~ 9.72s 9.80s p=0.684 n=6
Emit Time 2.74s (± 0.60%) 2.73s (± 0.72%) ~ 2.70s 2.75s p=0.935 n=6
Total Time 14.53s (± 0.21%) 14.53s (± 0.15%) ~ 14.50s 14.56s p=1.000 n=6
angular-1 - node (v18.15.0, x64)
Errors 56 56 ~ ~ ~ p=1.000 n=6
Symbols 948,670 948,670 ~ ~ ~ p=1.000 n=6
Types 410,947 410,947 ~ ~ ~ p=1.000 n=6
Memory used 1,224,518k (± 0.01%) 1,224,536k (± 0.01%) ~ 1,224,446k 1,224,654k p=0.936 n=6
Parse Time 8.07s (± 0.41%) 8.06s (± 0.77%) ~ 7.95s 8.12s p=0.808 n=6
Bind Time 2.29s (± 1.32%) 2.28s (± 0.76%) ~ 2.25s 2.30s p=0.570 n=6
Check Time 38.20s (± 0.28%) 38.25s (± 0.62%) ~ 37.89s 38.55s p=0.630 n=6
Emit Time 18.24s (± 0.87%) 18.29s (± 0.57%) ~ 18.17s 18.41s p=0.574 n=6
Total Time 66.79s (± 0.30%) 66.88s (± 0.30%) ~ 66.67s 67.14s p=0.423 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,361,667 2,361,667 ~ ~ ~ p=1.000 n=6
Types 868,625 868,625 ~ ~ ~ p=1.000 n=6
Memory used 2,317,079k (± 0.00%) 2,317,062k (± 0.00%) ~ 2,317,012k 2,317,116k p=0.689 n=6
Parse Time 8.77s (± 0.31%) 8.75s (± 0.32%) ~ 8.71s 8.78s p=0.225 n=6
Bind Time 2.21s (± 0.55%) 2.20s (± 0.53%) ~ 2.19s 2.22s p=0.492 n=6
Check Time 69.81s (± 0.17%) 69.66s (± 0.41%) ~ 69.31s 70.12s p=0.298 n=6
Emit Time 0.30s (± 2.11%) 0.30s (± 2.75%) ~ 0.29s 0.31s p=0.432 n=6
Total Time 81.09s (± 0.16%) 80.91s (± 0.36%) ~ 80.53s 81.36s p=0.261 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,228,044 1,228,052 +8 (+ 0.00%) ~ ~ p=0.001 n=6
Types 267,260 267,262 +2 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 2,360,979k (± 0.03%) 2,360,556k (± 0.03%) ~ 2,359,679k 2,361,597k p=0.378 n=6
Parse Time 5.20s (± 0.79%) 5.21s (± 1.06%) ~ 5.12s 5.28s p=0.936 n=6
Bind Time 1.80s (± 1.13%) 1.81s (± 0.91%) ~ 1.78s 1.82s p=0.871 n=6
Check Time 35.35s (± 0.30%) 35.40s (± 0.64%) ~ 35.21s 35.81s p=1.000 n=6
Emit Time 3.00s (± 1.72%) 3.00s (± 1.62%) ~ 2.95s 3.09s p=0.688 n=6
Total Time 45.35s (± 0.28%) 45.42s (± 0.59%) ~ 45.14s 45.90s p=1.000 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,228,044 1,228,052 +8 (+ 0.00%) ~ ~ p=0.001 n=6
Types 267,260 267,262 +2 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 2,427,797k (± 0.01%) 2,427,620k (± 0.02%) ~ 2,426,801k 2,428,205k p=0.936 n=6
Parse Time 5.48s (± 0.77%) 5.46s (± 1.07%) ~ 5.41s 5.57s p=0.230 n=6
Bind Time 1.81s (± 0.64%) 1.82s (± 0.81%) ~ 1.80s 1.84s p=0.458 n=6
Check Time 35.30s (± 0.30%) 35.45s (± 0.61%) ~ 35.24s 35.83s p=0.230 n=6
Emit Time 3.06s (± 1.35%) 3.07s (± 2.25%) ~ 3.00s 3.20s p=0.809 n=6
Total Time 45.66s (± 0.20%) 45.78s (± 0.60%) ~ 45.56s 46.24s p=1.000 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 263,411 263,419 +8 (+ 0.00%) ~ ~ p=0.001 n=6
Types 107,096 107,098 +2 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 441,807k (± 0.02%) 441,771k (± 0.03%) ~ 441,693k 441,947k p=0.230 n=6
Parse Time 3.53s (± 1.10%) 3.52s (± 0.78%) ~ 3.47s 3.54s p=0.520 n=6
Bind Time 1.32s (± 0.64%) 1.32s (± 0.89%) ~ 1.30s 1.33s p=0.547 n=6
Check Time 19.03s (± 0.37%) 18.99s (± 0.55%) ~ 18.87s 19.13s p=0.470 n=6
Emit Time 1.53s (± 0.89%) 1.53s (± 0.79%) ~ 1.52s 1.55s p=1.000 n=6
Total Time 25.41s (± 0.35%) 25.36s (± 0.48%) ~ 25.23s 25.53s p=0.574 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 71 71 ~ ~ ~ p=1.000 n=6
Symbols 225,981 225,981 ~ ~ ~ p=1.000 n=6
Types 94,356 94,356 ~ ~ ~ p=1.000 n=6
Memory used 371,284k (± 0.01%) 371,326k (± 0.03%) ~ 371,243k 371,501k p=0.810 n=6
Parse Time 2.89s (± 1.69%) 2.91s (± 0.99%) ~ 2.88s 2.95s p=0.226 n=6
Bind Time 1.59s (± 1.08%) 1.59s (± 0.62%) ~ 1.58s 1.61s p=0.607 n=6
Check Time 16.53s (± 0.40%) 16.54s (± 0.43%) ~ 16.46s 16.62s p=0.936 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 21.02s (± 0.46%) 21.04s (± 0.29%) ~ 20.98s 21.11s p=0.688 n=6
vscode - node (v18.15.0, x64)
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 3,391,649 3,391,649 ~ ~ ~ p=1.000 n=6
Types 1,148,594 1,148,594 ~ ~ ~ p=1.000 n=6
Memory used 3,443,254k (± 0.01%) 3,443,324k (± 0.00%) ~ 3,443,182k 3,443,394k p=0.936 n=6
Parse Time 14.72s (± 0.61%) 14.69s (± 0.20%) ~ 14.65s 14.73s p=0.809 n=6
Bind Time 4.73s (± 0.18%) 4.75s (± 0.49%) +0.02s (+ 0.49%) 4.71s 4.78s p=0.050 n=6
Check Time 93.94s (± 3.02%) 93.27s (± 2.52%) ~ 91.97s 98.03s p=0.810 n=6
Emit Time 30.20s (± 2.78%) 29.74s (± 0.49%) ~ 29.51s 29.88s p=0.936 n=6
Total Time 143.59s (± 2.56%) 142.45s (± 1.56%) ~ 141.28s 146.94s p=1.000 n=6
webpack - node (v18.15.0, x64)
Errors 2 2 ~ ~ ~ p=1.000 n=6
Symbols 317,345 317,345 ~ ~ ~ p=1.000 n=6
Types 140,331 140,331 ~ ~ ~ p=1.000 n=6
Memory used 472,403k (± 0.03%) 472,331k (± 0.04%) ~ 471,955k 472,476k p=0.471 n=6
Parse Time 5.17s (± 0.54%) 5.19s (± 0.58%) ~ 5.15s 5.23s p=0.147 n=6
Bind Time 2.25s (± 0.33%) 2.25s (± 1.31%) ~ 2.20s 2.29s p=0.397 n=6
Check Time 25.90s (± 0.49%) 26.27s (± 2.59%) ~ 25.86s 27.64s p=0.126 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 33.32s (± 0.42%) 33.71s (± 1.96%) ~ 33.34s 35.05s p=0.149 n=6
xstate-main - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 570,517 570,517 ~ ~ ~ p=1.000 n=6
Types 191,417 191,417 ~ ~ ~ p=1.000 n=6
Memory used 500,814k (± 0.04%) 500,836k (± 0.03%) ~ 500,534k 500,943k p=0.689 n=6
Parse Time 4.31s (± 0.41%) 4.30s (± 0.46%) ~ 4.28s 4.33s p=0.416 n=6
Bind Time 1.53s (± 0.64%) 1.54s (± 1.39%) ~ 1.51s 1.57s p=0.558 n=6
Check Time 25.18s (± 1.86%) 25.16s (± 3.08%) ~ 24.76s 26.74s p=0.470 n=6
Emit Time 0.00s 0.00s (±244.70%) ~ 0.00s 0.01s p=0.405 n=6
Total Time 31.02s (± 1.50%) 31.00s (± 2.47%) ~ 30.56s 32.56s p=0.521 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)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@typescript-bot
Copy link
Collaborator

@sandersn Here are the results of running the top 400 repos with tsc comparing main and refs/pull/50372/merge:

Everything looks good!

@github-project-automation github-project-automation bot moved this from Waiting on reviewers to Needs merge in PR Backlog May 2, 2025
@gabritto gabritto merged commit 5e36778 into microsoft:main May 2, 2025
32 checks passed
@github-project-automation github-project-automation bot moved this from Needs merge to Done in PR Backlog May 2, 2025
@Zzzen Zzzen deleted the used-before-decl-deco branch May 3, 2025 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Backlog Bug PRs that fix a backlog bug
Projects
Status: Done
6 participants