Skip to content
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

Assert if a node has been bound more than once #50069

Closed
wants to merge 5 commits into from

Conversation

jakebailey
Copy link
Member

This is going to fail; it looks like JSDoc stuff is binding nodes multiple times and that shouldn't happen.

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Jul 27, 2022
@jakebailey
Copy link
Member Author

jakebailey commented Jul 27, 2022

Well, my preferred method doesn't work in CI probably because of memory usage, so here's a different version which seems to trigger at most of the same places (but does seem to differ, confusingly).

@jakebailey
Copy link
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 6, 2022

Heya @jakebailey, I've started to run the abridged perf test suite on this PR at 500e4ad. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - main..50069

Metric main 50069 Delta Best Worst
Angular - node (v14.15.1, x64)
Memory used 346,890k (± 0.01%) 346,819k (± 0.01%) -71k (- 0.02%) 346,766k 346,872k
Parse Time 2.10s (± 0.97%) 2.09s (± 0.91%) -0.00s (- 0.14%) 2.06s 2.15s
Bind Time 0.79s (± 0.70%) 0.89s (± 0.45%) +0.10s (+12.25%) 0.88s 0.90s
Check Time 5.96s (± 0.66%) 5.96s (± 0.60%) -0.00s (- 0.02%) 5.88s 6.05s
Emit Time 6.24s (± 0.74%) 6.26s (± 0.47%) +0.02s (+ 0.30%) 6.20s 6.35s
Total Time 15.09s (± 0.44%) 15.20s (± 0.47%) +0.11s (+ 0.73%) 15.09s 15.46s
Compiler-Unions - node (v14.15.1, x64)
Memory used 190,779k (± 0.68%) 190,789k (± 0.67%) +10k (+ 0.01%) 190,156k 195,988k
Parse Time 0.86s (± 0.93%) 0.85s (± 0.58%) -0.00s (- 0.47%) 0.84s 0.86s
Bind Time 0.49s (± 0.70%) 0.54s (± 0.69%) +0.05s (+ 9.86%) 0.53s 0.54s
Check Time 6.77s (± 0.40%) 6.75s (± 0.67%) -0.02s (- 0.34%) 6.67s 6.85s
Emit Time 2.40s (± 0.68%) 2.40s (± 0.91%) -0.00s (- 0.08%) 2.35s 2.46s
Total Time 10.52s (± 0.27%) 10.54s (± 0.56%) +0.02s (+ 0.17%) 10.43s 10.65s
Monaco - node (v14.15.1, x64)
Memory used 326,585k (± 0.01%) 326,545k (± 0.01%) -40k (- 0.01%) 326,499k 326,591k
Parse Time 1.58s (± 0.56%) 1.59s (± 0.66%) +0.01s (+ 0.32%) 1.57s 1.62s
Bind Time 0.72s (± 0.47%) 0.83s (± 0.59%) +0.11s (+15.35%) 0.83s 0.85s
Check Time 5.76s (± 0.50%) 5.74s (± 0.42%) -0.02s (- 0.33%) 5.68s 5.79s
Emit Time 3.39s (± 1.10%) 3.38s (± 0.62%) -0.01s (- 0.24%) 3.34s 3.45s
Total Time 11.46s (± 0.52%) 11.55s (± 0.22%) +0.09s (+ 0.76%) 11.50s 11.62s
TFS - node (v14.15.1, x64)
Memory used 289,700k (± 0.01%) 289,663k (± 0.01%) -37k (- 0.01%) 289,622k 289,708k
Parse Time 1.30s (± 0.54%) 1.30s (± 0.64%) -0.00s (- 0.23%) 1.28s 1.31s
Bind Time 0.78s (± 1.65%) 0.89s (± 0.50%) +0.10s (+13.27%) 0.88s 0.90s
Check Time 5.39s (± 0.52%) 5.40s (± 0.55%) +0.01s (+ 0.20%) 5.30s 5.46s
Emit Time 3.60s (± 0.67%) 3.60s (± 1.06%) +0.00s (+ 0.03%) 3.54s 3.71s
Total Time 11.07s (± 0.25%) 11.19s (± 0.46%) +0.12s (+ 1.07%) 11.07s 11.30s
material-ui - node (v14.15.1, x64)
Memory used 435,533k (± 0.06%) 435,658k (± 0.01%) +125k (+ 0.03%) 435,597k 435,703k
Parse Time 1.88s (± 0.35%) 1.89s (± 0.51%) +0.01s (+ 0.32%) 1.87s 1.92s
Bind Time 0.58s (± 0.62%) 0.66s (± 0.45%) +0.07s (+12.67%) 0.65s 0.66s
Check Time 12.97s (± 0.74%) 12.92s (± 0.45%) -0.05s (- 0.42%) 12.79s 13.08s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.44s (± 0.65%) 15.46s (± 0.40%) +0.03s (+ 0.17%) 15.33s 15.66s
xstate - node (v14.15.1, x64)
Memory used 544,071k (± 0.00%) 544,074k (± 0.00%) +3k (+ 0.00%) 544,022k 544,124k
Parse Time 2.62s (± 0.40%) 2.62s (± 0.42%) 0.00s ( 0.00%) 2.61s 2.66s
Bind Time 0.99s (± 1.39%) 1.10s (± 0.47%) +0.11s (+11.35%) 1.09s 1.11s
Check Time 1.52s (± 0.54%) 1.51s (± 0.63%) -0.01s (- 0.59%) 1.50s 1.54s
Emit Time 0.07s (± 3.14%) 0.07s (± 3.14%) 0.00s ( 0.00%) 0.07s 0.08s
Total Time 5.21s (± 0.39%) 5.32s (± 0.26%) +0.11s (+ 2.05%) 5.29s 5.35s
Angular - node (v10.16.3, x64)
Memory used 371,357k (± 0.01%) 371,287k (± 0.02%) -71k (- 0.02%) 371,164k 371,436k
Parse Time 2.08s (± 0.43%) 2.09s (± 0.50%) +0.01s (+ 0.43%) 2.08s 2.13s
Bind Time 0.78s (± 0.83%) 0.89s (± 0.53%) +0.11s (+13.81%) 0.88s 0.90s
Check Time 6.33s (± 0.63%) 6.32s (± 0.41%) -0.00s (- 0.05%) 6.28s 6.38s
Emit Time 6.08s (± 0.93%) 6.09s (± 1.07%) +0.01s (+ 0.13%) 5.99s 6.28s
Total Time 15.27s (± 0.56%) 15.39s (± 0.52%) +0.12s (+ 0.79%) 15.25s 15.62s
Compiler-Unions - node (v10.16.3, x64)
Memory used 206,336k (± 0.04%) 206,276k (± 0.04%) -61k (- 0.03%) 206,096k 206,451k
Parse Time 0.84s (± 1.10%) 0.84s (± 0.68%) -0.00s (- 0.24%) 0.82s 0.85s
Bind Time 0.47s (± 1.00%) 0.51s (± 1.32%) +0.04s (+ 9.36%) 0.50s 0.53s
Check Time 8.46s (± 0.82%) 8.51s (± 0.54%) +0.06s (+ 0.67%) 8.40s 8.63s
Emit Time 2.44s (± 0.99%) 2.48s (± 1.33%) +0.04s (+ 1.81%) 2.44s 2.55s
Total Time 12.21s (± 0.68%) 12.35s (± 0.55%) +0.15s (+ 1.20%) 12.22s 12.55s
Monaco - node (v10.16.3, x64)
Memory used 344,876k (± 0.01%) 344,779k (± 0.01%) -96k (- 0.03%) 344,672k 344,867k
Parse Time 1.61s (± 0.69%) 1.61s (± 0.63%) +0.00s (+ 0.19%) 1.59s 1.64s
Bind Time 0.70s (± 0.49%) 0.81s (± 0.49%) +0.11s (+16.07%) 0.80s 0.82s
Check Time 6.25s (± 0.43%) 6.25s (± 0.31%) -0.00s (- 0.08%) 6.20s 6.29s
Emit Time 3.26s (± 0.82%) 3.22s (± 1.23%) -0.04s (- 1.23%) 3.17s 3.37s
Total Time 11.82s (± 0.44%) 11.89s (± 0.41%) +0.07s (+ 0.63%) 11.80s 12.04s
TFS - node (v10.16.3, x64)
Memory used 306,112k (± 0.02%) 305,992k (± 0.02%) -120k (- 0.04%) 305,906k 306,143k
Parse Time 1.29s (± 0.76%) 1.30s (± 0.58%) +0.01s (+ 0.70%) 1.28s 1.31s
Bind Time 0.67s (± 0.60%) 0.77s (± 0.72%) +0.10s (+15.05%) 0.76s 0.78s
Check Time 5.52s (± 0.62%) 5.55s (± 0.44%) +0.03s (+ 0.49%) 5.48s 5.59s
Emit Time 3.43s (± 0.94%) 3.46s (± 1.04%) +0.03s (+ 0.96%) 3.37s 3.54s
Total Time 10.91s (± 0.45%) 11.08s (± 0.31%) +0.17s (+ 1.55%) 11.00s 11.16s
material-ui - node (v10.16.3, x64)
Memory used 458,185k (± 0.01%) 458,120k (± 0.02%) -65k (- 0.01%) 457,920k 458,341k
Parse Time 1.84s (± 0.58%) 1.84s (± 0.78%) -0.00s (- 0.16%) 1.82s 1.88s
Bind Time 0.57s (± 1.52%) 0.64s (± 1.37%) +0.07s (+13.20%) 0.62s 0.66s
Check Time 15.80s (± 0.77%) 15.65s (± 0.69%) -0.16s (- 0.99%) 15.49s 15.84s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 18.22s (± 0.68%) 18.13s (± 0.63%) -0.09s (- 0.47%) 17.97s 18.33s
xstate - node (v10.16.3, x64)
Memory used 580,981k (± 0.02%) 581,052k (± 0.02%) +71k (+ 0.01%) 580,842k 581,245k
Parse Time 2.61s (± 0.39%) 2.62s (± 0.35%) +0.01s (+ 0.46%) 2.60s 2.64s
Bind Time 0.91s (± 0.52%) 1.03s (± 0.51%) +0.12s (+13.45%) 1.02s 1.04s
Check Time 1.61s (± 0.65%) 1.61s (± 0.77%) +0.01s (+ 0.31%) 1.59s 1.64s
Emit Time 0.07s (± 4.66%) 0.07s (± 3.14%) -0.00s (- 2.74%) 0.07s 0.08s
Total Time 5.19s (± 0.35%) 5.33s (± 0.22%) +0.14s (+ 2.70%) 5.31s 5.36s
Angular - node (v12.1.0, x64)
Memory used 348,863k (± 0.03%) 348,833k (± 0.02%) -30k (- 0.01%) 348,615k 348,971k
Parse Time 2.09s (± 0.36%) 2.10s (± 0.70%) +0.00s (+ 0.00%) 2.05s 2.12s
Bind Time 0.77s (± 0.95%) 0.88s (± 0.86%) +0.11s (+14.06%) 0.86s 0.89s
Check Time 5.96s (± 0.40%) 5.98s (± 0.61%) +0.03s (+ 0.47%) 5.91s 6.09s
Emit Time 6.31s (± 0.66%) 6.33s (± 0.94%) +0.02s (+ 0.25%) 6.23s 6.53s
Total Time 15.13s (± 0.36%) 15.29s (± 0.48%) +0.15s (+ 1.01%) 15.14s 15.47s
Compiler-Unions - node (v12.1.0, x64)
Memory used 193,792k (± 0.17%) 193,569k (± 0.42%) -223k (- 0.12%) 191,313k 194,313k
Parse Time 0.84s (± 0.80%) 0.84s (± 0.92%) +0.00s (+ 0.24%) 0.82s 0.85s
Bind Time 0.48s (± 1.25%) 0.53s (± 0.94%) +0.05s (+10.50%) 0.52s 0.54s
Check Time 6.74s (± 0.65%) 6.74s (± 0.54%) +0.00s (+ 0.01%) 6.68s 6.86s
Emit Time 2.49s (± 0.98%) 2.48s (± 1.05%) -0.01s (- 0.56%) 2.43s 2.55s
Total Time 10.54s (± 0.44%) 10.57s (± 0.46%) +0.04s (+ 0.35%) 10.47s 10.68s
Monaco - node (v12.1.0, x64)
Memory used 327,780k (± 0.02%) 327,772k (± 0.02%) -8k (- 0.00%) 327,533k 327,841k
Parse Time 1.60s (± 1.08%) 1.59s (± 0.93%) -0.00s (- 0.31%) 1.57s 1.63s
Bind Time 0.70s (± 0.99%) 0.82s (± 0.92%) +0.13s (+18.56%) 0.81s 0.84s
Check Time 5.86s (± 0.51%) 5.86s (± 0.38%) -0.00s (- 0.03%) 5.81s 5.91s
Emit Time 3.33s (± 1.00%) 3.31s (± 0.72%) -0.02s (- 0.48%) 3.26s 3.35s
Total Time 11.48s (± 0.53%) 11.59s (± 0.30%) +0.11s (+ 0.93%) 11.51s 11.65s
TFS - node (v12.1.0, x64)
Memory used 290,661k (± 0.06%) 290,650k (± 0.05%) -12k (- 0.00%) 290,135k 290,866k
Parse Time 1.30s (± 0.91%) 1.30s (± 0.89%) -0.00s (- 0.15%) 1.28s 1.34s
Bind Time 0.68s (± 1.07%) 0.79s (± 0.82%) +0.11s (+16.81%) 0.78s 0.80s
Check Time 5.43s (± 0.51%) 5.41s (± 0.75%) -0.03s (- 0.55%) 5.32s 5.49s
Emit Time 3.52s (± 0.68%) 3.50s (± 1.09%) -0.01s (- 0.40%) 3.45s 3.61s
Total Time 10.93s (± 0.47%) 11.00s (± 0.69%) +0.07s (+ 0.64%) 10.84s 11.19s
material-ui - node (v12.1.0, x64)
Memory used 437,437k (± 0.01%) 437,487k (± 0.01%) +50k (+ 0.01%) 437,372k 437,581k
Parse Time 1.84s (± 0.57%) 1.84s (± 0.49%) -0.00s (- 0.16%) 1.82s 1.86s
Bind Time 0.55s (± 0.95%) 0.63s (± 0.75%) +0.08s (+14.75%) 0.62s 0.64s
Check Time 12.85s (± 0.64%) 12.79s (± 0.74%) -0.06s (- 0.48%) 12.63s 13.02s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.24s (± 0.56%) 15.26s (± 0.70%) +0.02s (+ 0.10%) 15.06s 15.53s
xstate - node (v12.1.0, x64)
Memory used 546,384k (± 0.01%) 549,671k (± 1.28%) +3,287k (+ 0.60%) 546,317k 578,066k
Parse Time 2.56s (± 0.68%) 2.56s (± 0.43%) +0.00s (+ 0.00%) 2.53s 2.58s
Bind Time 0.88s (± 0.54%) 1.04s (± 0.59%) +0.16s (+17.89%) 1.03s 1.06s
Check Time 1.49s (± 0.49%) 1.49s (± 0.64%) +0.01s (+ 0.40%) 1.46s 1.51s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.00s (± 0.38%) 5.16s (± 0.22%) +0.16s (+ 3.16%) 5.14s 5.19s
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 (v14.15.1, x64)
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
Scenarios
  • Angular - node (v14.15.1, x64)
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Compiler-Unions - node (v10.16.3, x64)
  • Compiler-Unions - node (v12.1.0, x64)
  • Monaco - node (v14.15.1, x64)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • TFS - node (v14.15.1, x64)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • material-ui - node (v14.15.1, x64)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • xstate - node (v14.15.1, x64)
  • xstate - node (v10.16.3, x64)
  • xstate - node (v12.1.0, x64)
Benchmark Name Iterations
Current 50069 10
Baseline main 10

Developer Information:

Download Benchmark

@jakebailey
Copy link
Member Author

Ouch, 10-18% slower to do this check.

@jakebailey
Copy link
Member Author

jakebailey commented Oct 6, 2022

Removing that one bindEachChild fixes most of the errors (without failing any tests), leaving only double binds in delayedBindJSDocTypedefTag.

@jakebailey jakebailey closed this Mar 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants