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

Always write tsbuildInfo when running tsc -b #58626

Merged
merged 3 commits into from
Jun 12, 2024
Merged

Conversation

sheetalkamat
Copy link
Member

@sheetalkamat sheetalkamat commented May 22, 2024

For now it only contains version but with plan to add more info about program for tsc -b uptodateness.

In future this can be used to:

  • Remove necessity that composite must list all files (probably)
  • Remove noEmitOnError mandate when running tsc -b
  • Experiment with building downstream projects irrespective of errors (or some type of errors)
  • Handle noCheck on commandLine
  • Add extra files to check for uptodate (that are not listed in by config file like packageJson or additional program files)

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels May 22, 2024
@sheetalkamat sheetalkamat force-pushed the alwaysBuildInfo branch 10 times, most recently from 7dc0b38 to 49286d6 Compare May 24, 2024 21:34
@sheetalkamat sheetalkamat force-pushed the alwaysBuildInfo branch 12 times, most recently from 7356020 to d8b4a76 Compare June 5, 2024 23:44
@sheetalkamat
Copy link
Member Author

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 5, 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 @sheetalkamat, the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Collaborator

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

Everything looks good!

@typescript-bot
Copy link
Collaborator

@sheetalkamat
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 193,556k (± 0.97%) 193,590k (± 0.92%) ~ 192,332k 195,896k p=0.689 n=6
Parse Time 1.30s (± 0.76%) 1.30s (± 0.90%) ~ 1.28s 1.31s p=1.000 n=6
Bind Time 0.72s 0.72s ~ ~ ~ p=1.000 n=6
Check Time 9.57s (± 0.33%) 9.59s (± 0.36%) ~ 9.55s 9.65s p=0.687 n=6
Emit Time 2.76s (± 0.67%) 2.75s (± 0.84%) ~ 2.72s 2.78s p=0.292 n=6
Total Time 14.36s (± 0.27%) 14.35s (± 0.24%) ~ 14.31s 14.41s p=0.872 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 944,109 944,109 ~ ~ ~ p=1.000 n=6
Types 407,049 407,049 ~ ~ ~ p=1.000 n=6
Memory used 1,222,154k (± 0.00%) 1,222,170k (± 0.00%) ~ 1,222,142k 1,222,202k p=0.810 n=6
Parse Time 8.11s (± 0.47%) 8.12s (± 0.50%) ~ 8.08s 8.19s p=0.686 n=6
Bind Time 2.24s (± 0.67%) 2.25s (± 0.54%) +0.02s (+ 0.75%) 2.23s 2.26s p=0.048 n=6
Check Time 36.58s (± 0.52%) 36.48s (± 0.52%) ~ 36.19s 36.72s p=0.336 n=6
Emit Time 18.08s (± 0.43%) 18.07s (± 0.72%) ~ 17.95s 18.32s p=0.378 n=6
Total Time 65.01s (± 0.30%) 64.92s (± 0.48%) ~ 64.51s 65.43s p=0.575 n=6
mui-docs - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 2,063,460 2,063,460 ~ ~ ~ p=1.000 n=6
Types 905,285 905,285 ~ ~ ~ p=1.000 n=6
Memory used 2,072,745k (± 0.01%) 2,072,748k (± 0.01%) ~ 2,072,529k 2,072,912k p=0.936 n=6
Parse Time 8.10s (± 0.26%) 8.12s (± 0.41%) ~ 8.09s 8.18s p=0.212 n=6
Bind Time 2.76s (± 1.39%) 2.75s (± 0.82%) ~ 2.73s 2.78s p=0.870 n=6
Check Time 82.69s (± 0.71%) 82.80s (± 0.23%) ~ 82.57s 83.08s p=1.000 n=6
Emit Time 0.16s (± 2.52%) 0.17s (± 3.32%) ~ 0.16s 0.17s p=0.282 n=6
Total Time 93.71s (± 0.64%) 93.83s (± 0.20%) ~ 93.57s 94.06s p=1.000 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,230,675 1,230,875 +200 (+ 0.02%) ~ ~ p=0.001 n=6
Types 261,178 261,238 +60 (+ 0.02%) ~ ~ p=0.001 n=6
Memory used 2,376,884k (± 2.62%) 2,378,101k (± 2.59%) ~ 2,351,637k 2,503,758k p=0.230 n=6
Parse Time 7.50s (± 0.95%) 7.50s (± 0.59%) ~ 7.44s 7.57s p=0.936 n=6
Bind Time 2.81s (± 0.69%) 2.79s (± 0.66%) ~ 2.77s 2.81s p=0.091 n=6
Check Time 49.51s (± 0.86%) 49.36s (± 0.61%) ~ 48.85s 49.67s p=1.000 n=6
Emit Time 3.96s (± 5.79%) 3.83s (± 4.23%) ~ 3.64s 4.03s p=0.378 n=6
Total Time 63.78s (± 0.83%) 63.48s (± 0.66%) ~ 62.82s 63.95s p=0.471 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,230,675 1,230,875 +200 (+ 0.02%) ~ ~ p=0.001 n=6
Types 261,178 261,238 +60 (+ 0.02%) ~ ~ p=0.001 n=6
Memory used 2,428,979k (± 0.05%) 2,479,612k (± 3.17%) ~ 2,427,716k 2,581,877k p=0.689 n=6
Parse Time 7.71s (± 0.66%) 7.69s (± 0.58%) ~ 7.61s 7.74s p=0.378 n=6
Bind Time 2.48s (± 0.91%) 2.48s (± 0.51%) ~ 2.46s 2.49s p=0.331 n=6
Check Time 49.93s (± 0.37%) 50.12s (± 0.33%) ~ 49.91s 50.37s p=0.093 n=6
Emit Time 3.83s (± 2.88%) 3.79s (± 1.31%) ~ 3.76s 3.89s p=0.688 n=6
Total Time 63.97s (± 0.39%) 64.07s (± 0.30%) ~ 63.76s 64.31s p=0.298 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 259,200 259,207 +7 (+ 0.00%) ~ ~ p=0.001 n=6
Types 105,174 105,190 +16 (+ 0.02%) ~ ~ p=0.001 n=6
Memory used 428,852k (± 0.02%) 428,881k (± 0.02%) ~ 428,768k 428,974k p=0.630 n=6
Parse Time 3.30s (± 0.45%) 3.28s (± 0.87%) ~ 3.25s 3.33s p=0.257 n=6
Bind Time 1.35s (± 0.56%) 1.34s (± 0.94%) ~ 1.32s 1.35s p=0.301 n=6
Check Time 18.09s (± 0.35%) 18.07s (± 0.29%) ~ 18.00s 18.13s p=0.423 n=6
Emit Time 1.38s (± 0.85%) 1.37s (± 1.57%) ~ 1.35s 1.40s p=0.410 n=6
Total Time 24.12s (± 0.29%) 24.06s (± 0.21%) ~ 24.01s 24.13s p=0.148 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,565 224,565 ~ ~ ~ p=1.000 n=6
Types 93,734 93,734 ~ ~ ~ p=1.000 n=6
Memory used 369,749k (± 0.02%) 369,750k (± 0.02%) ~ 369,642k 369,842k p=0.810 n=6
Parse Time 2.80s (± 0.64%) 2.79s (± 0.95%) ~ 2.76s 2.83s p=0.871 n=6
Bind Time 1.58s (± 0.86%) 1.59s (± 1.26%) ~ 1.57s 1.62s p=0.676 n=6
Check Time 15.71s (± 0.25%) 15.67s (± 0.24%) ~ 15.63s 15.72s p=0.196 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.10s (± 0.31%) 20.06s (± 0.37%) ~ 19.96s 20.15s p=0.297 n=6
vscode - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,849,404 2,849,404 ~ ~ ~ p=1.000 n=6
Types 965,633 965,633 ~ ~ ~ p=1.000 n=6
Memory used 3,021,440k (± 0.00%) 3,021,425k (± 0.00%) ~ 3,021,356k 3,021,593k p=0.298 n=6
Parse Time 17.03s (± 0.29%) 17.06s (± 0.29%) ~ 17.02s 17.14s p=0.335 n=6
Bind Time 5.07s (± 0.33%) 5.09s (± 0.25%) ~ 5.08s 5.11s p=0.088 n=6
Check Time 89.73s (± 1.26%) 89.40s (± 0.21%) ~ 89.16s 89.64s p=0.810 n=6
Emit Time 28.83s (± 4.13%) 29.15s (± 0.40%) ~ 29.05s 29.35s p=0.575 n=6
Total Time 140.65s (± 0.12%) 140.69s (± 0.10%) ~ 140.58s 140.94s p=0.520 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 266,400 266,400 ~ ~ ~ p=1.000 n=6
Types 108,576 108,576 ~ ~ ~ p=1.000 n=6
Memory used 411,466k (± 0.01%) 411,473k (± 0.01%) ~ 411,446k 411,536k p=0.468 n=6
Parse Time 3.21s (± 0.54%) 3.22s (± 0.66%) ~ 3.20s 3.26s p=0.277 n=6
Bind Time 1.40s (± 0.98%) 1.39s (± 0.59%) ~ 1.38s 1.40s p=0.865 n=6
Check Time 14.49s (± 0.36%) 14.49s (± 0.20%) ~ 14.43s 14.51s p=0.935 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 19.10s (± 0.30%) 19.10s (± 0.21%) ~ 19.03s 19.15s p=0.808 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 526,436 526,436 ~ ~ ~ p=1.000 n=6
Types 179,425 179,425 ~ ~ ~ p=1.000 n=6
Memory used 464,043k (± 0.08%) 463,912k (± 0.08%) ~ 463,509k 464,292k p=0.689 n=6
Parse Time 3.16s (± 0.65%) 3.16s (± 0.68%) ~ 3.14s 3.20s p=0.739 n=6
Bind Time 1.19s 1.19s (± 0.53%) ~ 1.18s 1.20s p=1.000 n=6
Check Time 18.15s (± 0.62%) 18.17s (± 0.45%) ~ 18.03s 18.23s p=0.871 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.50s (± 0.52%) 22.52s (± 0.39%) ~ 22.37s 22.62s p=1.000 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

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

Everything looks good!

@sheetalkamat sheetalkamat force-pushed the alwaysBuildInfo branch 2 times, most recently from d0723b8 to e15f648 Compare June 6, 2024 21:48
@@ -328,6 +326,7 @@ function getCompilerOptionsOfBuildOptions(buildOptions: BuildOptions): CompilerO
commonOptionsWithBuild.forEach(option => {
if (hasProperty(buildOptions, option.name)) result[option.name] = buildOptions[option.name];
});
result.tscBuild = true;
Copy link
Member

Choose a reason for hiding this comment

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

How will this flag affect people using our APIs to implement build mode like tsc? Will it be set for them? Or can we just assume it's always true?

Copy link
Member Author

Choose a reason for hiding this comment

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

If they use our SolutionBuilder API this where we set it so it should work.

Copy link
Member

Choose a reason for hiding this comment

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

Alrighty; just verifying so people are not surprised.

@@ -328,6 +326,7 @@ function getCompilerOptionsOfBuildOptions(buildOptions: BuildOptions): CompilerO
commonOptionsWithBuild.forEach(option => {
if (hasProperty(buildOptions, option.name)) result[option.name] = buildOptions[option.name];
});
result.tscBuild = true;
Copy link
Member

Choose a reason for hiding this comment

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

Alrighty; just verifying so people are not surprised.

@sheetalkamat sheetalkamat merged commit dca9182 into main Jun 12, 2024
28 checks passed
@sheetalkamat sheetalkamat deleted the alwaysBuildInfo branch June 12, 2024 20:46
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.

4 participants