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

Set impliedNodeFormat based on redirectedReference options #60039

Draft
wants to merge 19 commits into
base: main
Choose a base branch
from

Conversation

andrewbranch
Copy link
Member

Fixes #57553

@typescript-bot typescript-bot added Author: Team For Milestone Bug PRs that fix a bug with a specific milestone labels Sep 23, 2024
@andrewbranch
Copy link
Member Author

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 23, 2024

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

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

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Collaborator

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

Everything looks good!

@andrewbranch andrewbranch marked this pull request as draft September 23, 2024 23:18
@typescript-bot
Copy link
Collaborator

@andrewbranch
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 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,153 62,153 ~ ~ ~ p=1.000 n=6
Types 50,242 50,242 ~ ~ ~ p=1.000 n=6
Memory used 194,850k (± 0.97%) 192,487k (± 0.07%) ~ 192,367k 192,751k p=0.128 n=6
Parse Time 1.57s (± 0.48%) 1.57s (± 0.52%) ~ 1.56s 1.58s p=0.306 n=6
Bind Time 0.86s (± 1.27%) 0.86s (± 1.04%) ~ 0.85s 0.87s p=1.000 n=6
Check Time 11.35s (± 0.31%) 11.38s (± 0.54%) ~ 11.28s 11.45s p=0.226 n=6
Emit Time 3.24s (± 0.98%) 3.22s (± 0.95%) ~ 3.17s 3.24s p=0.280 n=6
Total Time 17.02s (± 0.38%) 17.03s (± 0.52%) ~ 16.87s 17.11s p=0.810 n=6
angular-1 - node (v18.15.0, x64)
Errors 7 7 ~ ~ ~ p=1.000 n=6
Symbols 945,734 945,734 ~ ~ ~ p=1.000 n=6
Types 410,049 410,049 ~ ~ ~ p=1.000 n=6
Memory used 1,222,792k (± 0.00%) 1,222,786k (± 0.00%) ~ 1,222,730k 1,222,824k p=0.748 n=6
Parse Time 6.67s (± 0.27%) 6.64s (± 0.37%) ~ 6.61s 6.67s p=0.120 n=6
Bind Time 1.86s (± 0.40%) 1.86s (± 0.40%) ~ 1.85s 1.87s p=1.000 n=6
Check Time 31.25s (± 0.44%) 31.26s (± 0.41%) ~ 31.12s 31.47s p=0.810 n=6
Emit Time 15.02s (± 0.40%) 15.06s (± 0.30%) ~ 14.98s 15.11s p=0.228 n=6
Total Time 54.79s (± 0.27%) 54.83s (± 0.25%) ~ 54.68s 55.07s p=0.419 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,521,513 2,521,513 ~ ~ ~ p=1.000 n=6
Types 936,002 936,002 ~ ~ ~ p=1.000 n=6
Memory used 2,351,490k (± 0.00%) 2,351,526k (± 0.00%) ~ 2,351,421k 2,351,569k p=0.066 n=6
Parse Time 9.28s (± 0.34%) 9.29s (± 0.23%) ~ 9.26s 9.31s p=0.567 n=6
Bind Time 2.13s (± 0.49%) 2.13s (± 0.46%) ~ 2.12s 2.14s p=0.315 n=6
Check Time 73.53s (± 0.64%) 73.63s (± 0.23%) ~ 73.44s 73.88s p=0.810 n=6
Emit Time 0.28s (± 1.47%) 0.28s (± 1.47%) ~ 0.27s 0.28s p=1.000 n=6
Total Time 85.22s (± 0.58%) 85.32s (± 0.18%) ~ 85.14s 85.55s p=0.810 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,246,933 1,246,934 +1 (+ 0.00%) ~ ~ p=0.001 n=6
Types 264,605 264,605 ~ ~ ~ p=1.000 n=6
Memory used 2,399,827k (± 0.04%) 2,399,584k (± 0.02%) ~ 2,398,990k 2,399,941k p=0.810 n=6
Parse Time 5.04s (± 1.01%) 5.10s (± 0.68%) ~ 5.06s 5.15s p=0.092 n=6
Bind Time 1.91s (± 0.61%) 1.91s (± 0.63%) ~ 1.89s 1.92s p=0.933 n=6
Check Time 34.86s (± 0.14%) 34.81s (± 0.30%) ~ 34.69s 34.99s p=0.148 n=6
Emit Time 3.03s (± 4.84%) 3.23s (± 5.20%) 🔻+0.21s (+ 6.88%) 3.02s 3.42s p=0.037 n=6
Total Time 44.86s (± 0.31%) 45.06s (± 0.18%) +0.20s (+ 0.44%) 44.96s 45.18s p=0.045 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,246,933 1,246,934 +1 (+ 0.00%) ~ ~ p=0.001 n=6
Types 264,605 264,605 ~ ~ ~ p=1.000 n=6
Memory used 2,474,586k (± 0.02%) 2,474,130k (± 0.02%) ~ 2,473,691k 2,474,898k p=0.128 n=6
Parse Time 5.26s (± 0.37%) 5.28s (± 1.45%) ~ 5.18s 5.37s p=0.423 n=6
Bind Time 1.72s (± 1.20%) 1.73s (± 0.99%) ~ 1.70s 1.75s p=0.216 n=6
Check Time 35.34s (± 0.33%) 35.24s (± 0.27%) ~ 35.14s 35.40s p=0.149 n=6
Emit Time 2.99s (± 1.03%) 3.08s (± 5.16%) ~ 2.94s 3.35s p=0.574 n=6
Total Time 45.34s (± 0.18%) 45.33s (± 0.39%) ~ 45.07s 45.57s p=0.936 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 260,157 260,158 +1 (+ 0.00%) ~ ~ p=0.001 n=6
Types 106,293 106,293 ~ ~ ~ p=1.000 n=6
Memory used 436,080k (± 0.03%) 435,980k (± 0.02%) ~ 435,901k 436,108k p=0.378 n=6
Parse Time 3.45s (± 0.85%) 3.44s (± 0.66%) ~ 3.42s 3.48s p=0.746 n=6
Bind Time 1.29s (± 1.24%) 1.30s (± 0.42%) ~ 1.30s 1.31s p=0.055 n=6
Check Time 18.12s (± 0.31%) 18.14s (± 0.35%) ~ 18.07s 18.26s p=0.520 n=6
Emit Time 1.52s (± 0.99%) 1.52s (± 1.40%) ~ 1.49s 1.54s p=0.413 n=6
Total Time 24.37s (± 0.25%) 24.41s (± 0.13%) ~ 24.36s 24.46s p=0.226 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,018 225,018 ~ ~ ~ p=1.000 n=6
Types 94,249 94,249 ~ ~ ~ p=1.000 n=6
Memory used 370,282k (± 0.02%) 370,303k (± 0.02%) ~ 370,199k 370,397k p=0.689 n=6
Parse Time 3.44s (± 1.21%) 3.44s (± 0.81%) ~ 3.40s 3.47s p=1.000 n=6
Bind Time 1.94s (± 1.97%) 1.93s (± 2.02%) ~ 1.87s 1.99s p=0.518 n=6
Check Time 19.49s (± 0.29%) 19.49s (± 0.54%) ~ 19.38s 19.62s p=1.000 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.88s (± 0.43%) 24.86s (± 0.60%) ~ 24.66s 25.05s p=0.629 n=6
vscode - node (v18.15.0, x64)
Errors 1 1 ~ ~ ~ p=1.000 n=6
Symbols 3,094,498 3,094,498 ~ ~ ~ p=1.000 n=6
Types 1,066,739 1,066,739 ~ ~ ~ p=1.000 n=6
Memory used 3,192,396k (± 0.00%) 3,192,389k (± 0.00%) ~ 3,192,355k 3,192,447k p=0.630 n=6
Parse Time 13.92s (± 0.25%) 13.97s (± 0.40%) ~ 13.89s 14.02s p=0.168 n=6
Bind Time 4.42s (± 2.20%) 4.36s (± 0.28%) ~ 4.34s 4.37s p=0.360 n=6
Check Time 82.44s (± 0.46%) 82.15s (± 0.40%) ~ 81.72s 82.67s p=0.128 n=6
Emit Time 22.38s (± 0.35%) 22.49s (± 0.94%) ~ 22.28s 22.87s p=0.575 n=6
Total Time 123.17s (± 0.26%) 122.97s (± 0.30%) ~ 122.54s 123.49s p=0.378 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 277,129 277,129 ~ ~ ~ p=1.000 n=6
Types 113,106 113,106 ~ ~ ~ p=1.000 n=6
Memory used 426,977k (± 0.01%) 426,996k (± 0.02%) ~ 426,936k 427,104k p=1.000 n=6
Parse Time 3.95s (± 0.37%) 3.93s (± 0.30%) ~ 3.91s 3.94s p=0.079 n=6
Bind Time 1.72s (± 1.13%) 1.72s (± 0.44%) ~ 1.71s 1.73s p=0.396 n=6
Check Time 17.53s (± 0.35%) 17.54s (± 0.20%) ~ 17.48s 17.58s p=0.747 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 23.20s (± 0.28%) 23.20s (± 0.13%) ~ 23.14s 23.23s p=0.872 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 539,981 539,981 ~ ~ ~ p=1.000 n=6
Types 181,270 181,270 ~ ~ ~ p=1.000 n=6
Memory used 483,418k (± 0.02%) 483,397k (± 0.01%) ~ 483,358k 483,439k p=0.521 n=6
Parse Time 3.21s (± 0.58%) 3.23s (± 0.51%) ~ 3.21s 3.25s p=0.462 n=6
Bind Time 1.16s (± 0.85%) 1.16s (± 1.09%) ~ 1.14s 1.18s p=0.801 n=6
Check Time 18.63s (± 0.27%) 18.62s (± 0.26%) ~ 18.54s 18.67s p=0.628 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 23.01s (± 0.29%) 23.00s (± 0.25%) ~ 22.93s 23.07s p=0.687 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

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

Everything looks good!

@Andarist
Copy link
Contributor

I have a strong suspicion that redirected references and impliedNodeFormat are behind crashes like this one. In the cal.com's case, we can bisect the crash to #59479 but those kind of crashes were present way before that PR.

I'm still trying to reduce that repro case but I figured out it might be an interesting info to you. I have confirmed that this PR doesn't fix that issue right now.

@andrewbranch
Copy link
Member Author

andrewbranch commented Sep 24, 2024

I think our strategy here is going to have to change significantly. The fix in this PR as it stands breaks the scenario tested in 100f939. We can’t actually skip setting impliedNodeFormat on source files in any case; we can only choose how to interpret the value there.

@sheetalkamat
Copy link
Member

I feel like this value should be in program instead of on sourceFile because sourceFiles are shared across programs. Eg thats what we did for module resolution as it causes issues otherwise. Otherwise sourceFile with given options "OptionsAffectingSourceFile" need to handle these cases and then it starts depending on ModuleResolution options again? (we removed that dependency)

@andrewbranch
Copy link
Member Author

That’s one option I thought about. moduleResolution is already correctly marked as affecting source files. Unfortunately, impliedNodeFormat is public on SourceFile. But internally, most if not all accesses happen through Program now, so I think we could just always set impliedNodeFormat on source files and let the Program-based accesses decide whether to return anything.

@Andarist
Copy link
Contributor

I can confirm that this now fixes #60029 (comment) . I'm still working on creating a test based on that crash though.

@andrewbranch
Copy link
Member Author

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 24, 2024

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

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

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Collaborator

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

Everything looks good!

@typescript-bot
Copy link
Collaborator

Looks like you're introducing a change to the public API surface area. If this includes breaking changes, please document them on our wiki's API Breaking Changes page.

Also, please make sure @DanielRosenwasser and @RyanCavanaugh are aware of the changes, just as a heads up.

@typescript-bot
Copy link
Collaborator

@andrewbranch
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 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,340 62,340 ~ ~ ~ p=1.000 n=6
Types 50,378 50,378 ~ ~ ~ p=1.000 n=6
Memory used 194,485k (± 1.00%) 194,026k (± 0.94%) ~ 192,698k 196,426k p=0.575 n=6
Parse Time 1.30s (± 1.52%) 1.30s (± 0.97%) ~ 1.29s 1.32s p=0.934 n=6
Bind Time 0.71s 0.71s (± 0.57%) ~ 0.71s 0.72s p=0.405 n=6
Check Time 9.49s (± 0.37%) 9.54s (± 0.26%) +0.04s (+ 0.46%) 9.50s 9.57s p=0.044 n=6
Emit Time 2.72s (± 0.49%) 2.73s (± 0.52%) ~ 2.71s 2.75s p=0.180 n=6
Total Time 14.22s (± 0.31%) 14.28s (± 0.28%) +0.06s (+ 0.45%) 14.22s 14.34s p=0.030 n=6
angular-1 - node (v18.15.0, x64)
Errors 7 7 ~ ~ ~ p=1.000 n=6
Symbols 947,102 947,100 -2 (- 0.00%) ~ ~ p=0.001 n=6
Types 410,738 410,736 -2 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 1,224,022k (± 0.00%) 1,226,017k (± 0.00%) +1,995k (+ 0.16%) 1,225,985k 1,226,081k p=0.005 n=6
Parse Time 6.59s (± 0.41%) 6.71s (± 0.33%) +0.12s (+ 1.77%) 6.69s 6.75s p=0.005 n=6
Bind Time 1.87s (± 0.22%) 1.86s (± 0.28%) ~ 1.86s 1.87s p=0.112 n=6
Check Time 31.41s (± 0.36%) 31.39s (± 0.65%) ~ 31.12s 31.59s p=1.000 n=6
Emit Time 15.04s (± 0.48%) 15.42s (± 0.43%) +0.38s (+ 2.53%) 15.31s 15.50s p=0.005 n=6
Total Time 54.91s (± 0.31%) 55.38s (± 0.34%) +0.47s (+ 0.86%) 55.09s 55.61s p=0.008 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,521,651 2,524,911 +3,260 (+ 0.13%) ~ ~ p=0.001 n=6
Types 936,037 939,429 +3,392 (+ 0.36%) ~ ~ p=0.001 n=6
Memory used 2,351,711k (± 0.00%) 2,451,724k (± 0.00%) 🔻+100,014k (+ 4.25%) 2,451,612k 2,451,780k p=0.005 n=6
Parse Time 9.28s (± 0.16%) 9.60s (± 0.27%) +0.32s (+ 3.45%) 9.56s 9.64s p=0.005 n=6
Bind Time 2.13s (± 0.38%) 2.14s (± 0.38%) ~ 2.13s 2.15s p=0.666 n=6
Check Time 73.47s (± 0.49%) 74.43s (± 0.77%) +0.96s (+ 1.30%) 73.59s 75.13s p=0.013 n=6
Emit Time 0.28s 0.28s (± 2.26%) ~ 0.27s 0.29s p=1.000 n=6
Total Time 85.17s (± 0.43%) 86.45s (± 0.65%) +1.28s (+ 1.50%) 85.59s 87.10s p=0.010 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,250,056 1,250,052 -4 (- 0.00%) ~ ~ p=0.001 n=6
Types 264,970 264,969 -1 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 2,404,460k (± 0.01%) 2,404,510k (± 0.01%) ~ 2,404,182k 2,404,942k p=0.810 n=6
Parse Time 5.13s (± 0.81%) 5.16s (± 0.36%) ~ 5.13s 5.18s p=0.199 n=6
Bind Time 1.91s (± 0.72%) 1.91s (± 0.51%) ~ 1.90s 1.92s p=0.677 n=6
Check Time 34.93s (± 0.22%) 34.98s (± 0.25%) ~ 34.87s 35.09s p=0.423 n=6
Emit Time 2.97s (± 1.32%) 2.99s (± 0.98%) ~ 2.96s 3.03s p=0.748 n=6
Total Time 44.95s (± 0.27%) 45.06s (± 0.20%) ~ 44.91s 45.15s p=0.128 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,250,056 1,250,052 -4 (- 0.00%) ~ ~ p=0.001 n=6
Types 264,970 264,969 -1 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 2,479,136k (± 0.02%) 2,479,235k (± 0.03%) ~ 2,478,452k 2,480,713k p=0.936 n=6
Parse Time 6.34s (± 0.93%) 6.34s (± 0.38%) ~ 6.31s 6.38s p=0.688 n=6
Bind Time 2.06s (± 0.53%) 2.06s (± 0.86%) ~ 2.03s 2.08s p=0.454 n=6
Check Time 41.59s (± 0.19%) 41.86s (± 0.65%) ~ 41.57s 42.23s p=0.066 n=6
Emit Time 3.80s (± 5.51%) 3.55s (± 2.30%) ~ 3.41s 3.62s p=0.109 n=6
Total Time 53.83s (± 0.35%) 53.83s (± 0.60%) ~ 53.47s 54.26s p=0.936 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 260,936 260,932 -4 (- 0.00%) ~ ~ p=0.001 n=6
Types 106,385 106,384 -1 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 436,643k (± 0.03%) 436,625k (± 0.03%) ~ 436,496k 436,844k p=0.470 n=6
Parse Time 3.45s (± 0.68%) 3.44s (± 0.98%) ~ 3.40s 3.49s p=0.571 n=6
Bind Time 1.31s (± 0.64%) 1.30s (± 0.49%) ~ 1.29s 1.31s p=0.226 n=6
Check Time 18.23s (± 0.25%) 18.14s (± 0.49%) ~ 18.04s 18.26s p=0.108 n=6
Emit Time 1.53s (± 1.06%) 1.52s (± 1.73%) ~ 1.48s 1.56s p=0.212 n=6
Total Time 24.51s (± 0.21%) 24.41s (± 0.42%) ~ 24.28s 24.55s p=0.065 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,916 225,916 ~ ~ ~ p=1.000 n=6
Types 94,414 94,414 ~ ~ ~ p=1.000 n=6
Memory used 370,906k (± 0.01%) 371,019k (± 0.01%) +113k (+ 0.03%) 370,942k 371,087k p=0.008 n=6
Parse Time 2.77s (± 0.82%) 2.79s (± 0.77%) ~ 2.76s 2.81s p=0.258 n=6
Bind Time 1.57s (± 1.48%) 1.56s (± 0.66%) ~ 1.55s 1.58s p=0.162 n=6
Check Time 15.79s (± 0.23%) 15.85s (± 0.40%) +0.06s (+ 0.37%) 15.80s 15.94s p=0.044 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.14s (± 0.31%) 20.21s (± 0.22%) ~ 20.16s 20.26s p=0.053 n=6
vscode - node (v18.15.0, x64)
Errors 1 1 ~ ~ ~ p=1.000 n=6
Symbols 3,099,752 3,099,796 +44 (+ 0.00%) ~ ~ p=0.001 n=6
Types 1,068,965 1,068,870 -95 (- 0.01%) ~ ~ p=0.001 n=6
Memory used 3,196,791k (± 0.00%) 3,201,832k (± 0.00%) +5,040k (+ 0.16%) 3,201,774k 3,201,888k p=0.005 n=6
Parse Time 13.90s (± 0.36%) 14.13s (± 0.41%) +0.23s (+ 1.68%) 14.04s 14.20s p=0.005 n=6
Bind Time 4.34s (± 0.24%) 4.36s (± 1.93%) ~ 4.31s 4.53s p=0.617 n=6
Check Time 81.85s (± 0.18%) 81.97s (± 0.37%) ~ 81.57s 82.31s p=0.688 n=6
Emit Time 22.34s (± 0.31%) 23.27s (± 0.43%) 🔻+0.94s (+ 4.19%) 23.17s 23.45s p=0.005 n=6
Total Time 122.43s (± 0.17%) 123.73s (± 0.18%) +1.31s (+ 1.07%) 123.37s 123.94s p=0.005 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 278,920 278,920 ~ ~ ~ p=1.000 n=6
Types 113,837 113,837 ~ ~ ~ p=1.000 n=6
Memory used 428,434k (± 0.01%) 428,845k (± 0.02%) +411k (+ 0.10%) 428,740k 428,961k p=0.005 n=6
Parse Time 4.89s (± 0.38%) 4.92s (± 0.59%) ~ 4.89s 4.97s p=0.075 n=6
Bind Time 2.13s (± 0.65%) 2.15s (± 0.38%) +0.03s (+ 1.33%) 2.14s 2.16s p=0.011 n=6
Check Time 21.89s (± 0.46%) 21.91s (± 0.33%) ~ 21.84s 22.02s p=0.573 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 28.91s (± 0.40%) 28.99s (± 0.30%) ~ 28.89s 29.14s p=0.230 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 540,027 540,027 ~ ~ ~ p=1.000 n=6
Types 181,292 181,292 ~ ~ ~ p=1.000 n=6
Memory used 483,541k (± 0.01%) 483,566k (± 0.01%) ~ 483,518k 483,621k p=0.471 n=6
Parse Time 4.01s (± 0.34%) 4.01s (± 0.32%) ~ 4.00s 4.03s p=0.510 n=6
Bind Time 1.43s (± 0.72%) 1.42s (± 0.72%) ~ 1.41s 1.44s p=0.134 n=6
Check Time 22.89s (± 0.32%) 22.88s (± 0.15%) ~ 22.84s 22.94s p=1.000 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 28.33s (± 0.21%) 28.31s (± 0.15%) ~ 28.26s 28.39s p=0.685 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

@andrewbranch
Copy link
Member Author

Pretty sure what I have works, though moving the storage to Program would be more efficient, though also a public API break... I don’t think I’ll have time to get this into 5.7 as I’ll be out on vacation starting tomorrow and returning past the beta deadline.

|| fileExtensionIsOneOf(sourceFile.fileName, [Extension.Cjs, Extension.Cts]))
ModuleKind.Node16 <= moduleKind && moduleKind <= ModuleKind.NodeNext
|| fileExtensionIsOneOf(sourceFile.fileName, [Extension.Cts, Extension.Dcts, Extension.Cjs, Extension.Mts, Extension.Dmts, Extension.Mjs])
|| pathContainsNodeModules(sourceFile.fileName)

This comment was marked as duplicate.

@typescript-bot
Copy link
Collaborator

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

Something interesting changed - please have a look.

Details

blakeblackshear/frigate

web/tsconfig.json

openai-translator/openai-translator

tsconfig.json

@Andarist
Copy link
Contributor

It took me a while to reduce this 🥵 but here's a test case for the crash I mentioned in my previous comments here: andrewbranch#3

andrewbranch and others added 2 commits October 17, 2024 16:48
…e-format-and-document-registry

Add extra test case for a weird situation with symlinks and potential `impliedNodeFormat` clash
@Andarist
Copy link
Contributor

Andarist commented Dec 3, 2024

@jakebailey could you build this one? :) a user would like to test effect of this PR on the VS Code crashes they experience: #60243 (comment)

@jakebailey
Copy link
Member

jakebailey commented Dec 3, 2024

Unfortunately not, as the PR has merge conflicts.

@andrewbranch
Copy link
Member Author

@typescript-bot pack this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 3, 2024

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

Command Status Results
pack this ✅ Started ✅ Results

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 3, 2024

Hey @andrewbranch, I've packed this into an installable tgz. You can install it for testing by referencing it in your package.json like so:

{
    "devDependencies": {
        "typescript": "https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/164262/artifacts?artifactName=tgz&fileId=5C36B3AB96C551B2F152060199F6CA1288F88DF0A9038EE0C59713D67D1C98DE02&fileName=/typescript-5.8.0-insiders.20241203.tgz"
    }
}

and then running npm install.


There is also a playground for this build and an npm module you can use via "typescript": "npm:@typescript-deploys/pr-build@5.8.0-pr-60039-24".;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Milestone Bug PRs that fix a bug with a specific milestone
Projects
Status: Not started
5 participants