Skip to content

Always write tsbuildInfo when running tsc -b - #58626

Merged
Sheetal Nandi (sheetalkamat) merged 3 commits into
mainfrom
alwaysBuildInfo
Jun 12, 2024
Merged

Always write tsbuildInfo when running tsc -b#58626
Sheetal Nandi (sheetalkamat) merged 3 commits into
mainfrom
alwaysBuildInfo

Conversation

@sheetalkamat

@sheetalkamatSheetal Nandi (sheetalkamat) commented May 22, 2024

Copy link
Copy Markdown
Member

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)

@sheetalkamat

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) test it

@typescript-bot

TypeScript Bot (typescript-bot) commented Jun 5, 2024

Copy link
Copy Markdown
Contributor

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

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

@typescript-bot

Copy link
Copy Markdown
Contributor

Hey Sheetal Nandi (@sheetalkamat), the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot

Copy link
Copy Markdown
Contributor

Sheetal Nandi (@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
Copy Markdown
Contributor

Sheetal Nandi (@sheetalkamat)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-Unions - node (v18.15.0, x64)
Errors3030~~~p=1.000 n=6
Symbols62,15362,153~~~p=1.000 n=6
Types50,24250,242~~~p=1.000 n=6
Memory used193,556k (± 0.97%)193,590k (± 0.92%)~192,332k195,896kp=0.689 n=6
Parse Time1.30s (± 0.76%)1.30s (± 0.90%)~1.28s1.31sp=1.000 n=6
Bind Time0.72s0.72s~~~p=1.000 n=6
Check Time9.57s (± 0.33%)9.59s (± 0.36%)~9.55s9.65sp=0.687 n=6
Emit Time2.76s (± 0.67%)2.75s (± 0.84%)~2.72s2.78sp=0.292 n=6
Total Time14.36s (± 0.27%)14.35s (± 0.24%)~14.31s14.41sp=0.872 n=6
angular-1 - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols944,109944,109~~~p=1.000 n=6
Types407,049407,049~~~p=1.000 n=6
Memory used1,222,154k (± 0.00%)1,222,170k (± 0.00%)~1,222,142k1,222,202kp=0.810 n=6
Parse Time8.11s (± 0.47%)8.12s (± 0.50%)~8.08s8.19sp=0.686 n=6
Bind Time2.24s (± 0.67%)2.25s (± 0.54%)+0.02s (+ 0.75%)2.23s2.26sp=0.048 n=6
Check Time36.58s (± 0.52%)36.48s (± 0.52%)~36.19s36.72sp=0.336 n=6
Emit Time18.08s (± 0.43%)18.07s (± 0.72%)~17.95s18.32sp=0.378 n=6
Total Time65.01s (± 0.30%)64.92s (± 0.48%)~64.51s65.43sp=0.575 n=6
mui-docs - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols2,063,4602,063,460~~~p=1.000 n=6
Types905,285905,285~~~p=1.000 n=6
Memory used2,072,745k (± 0.01%)2,072,748k (± 0.01%)~2,072,529k2,072,912kp=0.936 n=6
Parse Time8.10s (± 0.26%)8.12s (± 0.41%)~8.09s8.18sp=0.212 n=6
Bind Time2.76s (± 1.39%)2.75s (± 0.82%)~2.73s2.78sp=0.870 n=6
Check Time82.69s (± 0.71%)82.80s (± 0.23%)~82.57s83.08sp=1.000 n=6
Emit Time0.16s (± 2.52%)0.17s (± 3.32%)~0.16s0.17sp=0.282 n=6
Total Time93.71s (± 0.64%)93.83s (± 0.20%)~93.57s94.06sp=1.000 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,230,6751,230,875+200 (+ 0.02%)~~p=0.001 n=6
Types261,178261,238+60 (+ 0.02%)~~p=0.001 n=6
Memory used2,376,884k (± 2.62%)2,378,101k (± 2.59%)~2,351,637k2,503,758kp=0.230 n=6
Parse Time7.50s (± 0.95%)7.50s (± 0.59%)~7.44s7.57sp=0.936 n=6
Bind Time2.81s (± 0.69%)2.79s (± 0.66%)~2.77s2.81sp=0.091 n=6
Check Time49.51s (± 0.86%)49.36s (± 0.61%)~48.85s49.67sp=1.000 n=6
Emit Time3.96s (± 5.79%)3.83s (± 4.23%)~3.64s4.03sp=0.378 n=6
Total Time63.78s (± 0.83%)63.48s (± 0.66%)~62.82s63.95sp=0.471 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,230,6751,230,875+200 (+ 0.02%)~~p=0.001 n=6
Types261,178261,238+60 (+ 0.02%)~~p=0.001 n=6
Memory used2,428,979k (± 0.05%)2,479,612k (± 3.17%)~2,427,716k2,581,877kp=0.689 n=6
Parse Time7.71s (± 0.66%)7.69s (± 0.58%)~7.61s7.74sp=0.378 n=6
Bind Time2.48s (± 0.91%)2.48s (± 0.51%)~2.46s2.49sp=0.331 n=6
Check Time49.93s (± 0.37%)50.12s (± 0.33%)~49.91s50.37sp=0.093 n=6
Emit Time3.83s (± 2.88%)3.79s (± 1.31%)~3.76s3.89sp=0.688 n=6
Total Time63.97s (± 0.39%)64.07s (± 0.30%)~63.76s64.31sp=0.298 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols259,200259,207+7 (+ 0.00%)~~p=0.001 n=6
Types105,174105,190+16 (+ 0.02%)~~p=0.001 n=6
Memory used428,852k (± 0.02%)428,881k (± 0.02%)~428,768k428,974kp=0.630 n=6
Parse Time3.30s (± 0.45%)3.28s (± 0.87%)~3.25s3.33sp=0.257 n=6
Bind Time1.35s (± 0.56%)1.34s (± 0.94%)~1.32s1.35sp=0.301 n=6
Check Time18.09s (± 0.35%)18.07s (± 0.29%)~18.00s18.13sp=0.423 n=6
Emit Time1.38s (± 0.85%)1.37s (± 1.57%)~1.35s1.40sp=0.410 n=6
Total Time24.12s (± 0.29%)24.06s (± 0.21%)~24.01s24.13sp=0.148 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors3535~~~p=1.000 n=6
Symbols224,565224,565~~~p=1.000 n=6
Types93,73493,734~~~p=1.000 n=6
Memory used369,749k (± 0.02%)369,750k (± 0.02%)~369,642k369,842kp=0.810 n=6
Parse Time2.80s (± 0.64%)2.79s (± 0.95%)~2.76s2.83sp=0.871 n=6
Bind Time1.58s (± 0.86%)1.59s (± 1.26%)~1.57s1.62sp=0.676 n=6
Check Time15.71s (± 0.25%)15.67s (± 0.24%)~15.63s15.72sp=0.196 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time20.10s (± 0.31%)20.06s (± 0.37%)~19.96s20.15sp=0.297 n=6
vscode - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,849,4042,849,404~~~p=1.000 n=6
Types965,633965,633~~~p=1.000 n=6
Memory used3,021,440k (± 0.00%)3,021,425k (± 0.00%)~3,021,356k3,021,593kp=0.298 n=6
Parse Time17.03s (± 0.29%)17.06s (± 0.29%)~17.02s17.14sp=0.335 n=6
Bind Time5.07s (± 0.33%)5.09s (± 0.25%)~5.08s5.11sp=0.088 n=6
Check Time89.73s (± 1.26%)89.40s (± 0.21%)~89.16s89.64sp=0.810 n=6
Emit Time28.83s (± 4.13%)29.15s (± 0.40%)~29.05s29.35sp=0.575 n=6
Total Time140.65s (± 0.12%)140.69s (± 0.10%)~140.58s140.94sp=0.520 n=6
webpack - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols266,400266,400~~~p=1.000 n=6
Types108,576108,576~~~p=1.000 n=6
Memory used411,466k (± 0.01%)411,473k (± 0.01%)~411,446k411,536kp=0.468 n=6
Parse Time3.21s (± 0.54%)3.22s (± 0.66%)~3.20s3.26sp=0.277 n=6
Bind Time1.40s (± 0.98%)1.39s (± 0.59%)~1.38s1.40sp=0.865 n=6
Check Time14.49s (± 0.36%)14.49s (± 0.20%)~14.43s14.51sp=0.935 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time19.10s (± 0.30%)19.10s (± 0.21%)~19.03s19.15sp=0.808 n=6
xstate-main - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols526,436526,436~~~p=1.000 n=6
Types179,425179,425~~~p=1.000 n=6
Memory used464,043k (± 0.08%)463,912k (± 0.08%)~463,509k464,292kp=0.689 n=6
Parse Time3.16s (± 0.65%)3.16s (± 0.68%)~3.14s3.20sp=0.739 n=6
Bind Time1.19s1.19s (± 0.53%)~1.18s1.20sp=1.000 n=6
Check Time18.15s (± 0.62%)18.17s (± 0.45%)~18.03s18.23sp=0.871 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time22.50s (± 0.52%)22.52s (± 0.39%)~22.37s22.62sp=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)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@typescript-bot

Copy link
Copy Markdown
Contributor

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

Everything looks good!

@sheetalkamat
Sheetal Nandi (sheetalkamat)force-pushed the alwaysBuildInfo branch 2 times, most recently from d0723b8 to e15f648CompareJune 6, 2024 21:48
commonOptionsWithBuild.forEach(option => {
if (hasProperty(buildOptions, option.name)) result[option.name] = buildOptions[option.name];
});
result.tscBuild = true;

Copy link
Copy Markdown
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
Copy Markdown
MemberAuthor

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
Copy Markdown
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.

commonOptionsWithBuild.forEach(option => {
if (hasProperty(buildOptions, option.name)) result[option.name] = buildOptions[option.name];
});
result.tscBuild = true;

Copy link
Copy Markdown
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
Sheetal Nandi (sheetalkamat) deleted the alwaysBuildInfo branch June 12, 2024 20:46
@microsoftMicrosoft (microsoft) locked as resolved and limited conversation to collaborators Oct 16, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: TeamFor Uncommitted BugPR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@sheetalkamat@typescript-bot@andrewbranch@jakebailey