Skip to content

In tsc --b mode detect if root file of compilation is not root any more #52417

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 3 commits into from
Jan 27, 2023

Conversation

sheetalkamat
Copy link
Member

  • Store the roots in BuildInfo. To make this compact, the roots is array that has elements as either [start, end] where fileIds from start to end are roots or single fileId.
  • In tsc -b detect if file was root before but not any more and trigger compilation based on that.
    Fixes Deleted source file not detected in composite mode #51866

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

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jan 26, 2023

Heya @jakebailey, I've started to run the perf test suite on this PR at 8d3cb6c. 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:

Compiler

Comparison Report - main..52417
Metric main 52417 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 359,846k (± 0.01%) 359,801k (± 0.01%) -45k (- 0.01%) 359,780k 359,835k
Parse Time 3.95s (± 0.94%) 3.96s (± 1.03%) +0.01s (+ 0.17%) 3.89s 4.01s
Bind Time 1.17s (± 0.35%) 1.18s (± 0.88%) +0.00s (+ 0.43%) 1.16s 1.19s
Check Time 8.64s (± 0.18%) 8.63s (± 0.45%) -0.01s (- 0.12%) 8.61s 8.71s
Emit Time 7.61s (± 0.55%) 7.61s (± 0.71%) +0.00s (+ 0.02%) 7.57s 7.71s
Total Time 21.38s (± 0.25%) 21.38s (± 0.53%) +0.00s (+ 0.01%) 21.30s 21.61s
Compiler-Unions - node (v18.10.0, x64)
Memory used 194,483k (± 1.49%) 192,592k (± 0.02%) -1,891k (- 0.97%) 192,541k 192,679k
Parse Time 1.65s (± 1.58%) 1.65s (± 1.53%) 0.00s ( 0.00%) 1.60s 1.67s
Bind Time 0.79s (± 0.52%) 0.79s (± 0.69%) +0.00s (+ 0.42%) 0.79s 0.80s
Check Time 9.69s (± 1.15%) 9.69s (± 0.78%) +0.00s (+ 0.03%) 9.59s 9.80s
Emit Time 2.81s (± 1.38%) 2.79s (± 0.90%) -0.02s (- 0.71%) 2.77s 2.84s
Total Time 14.95s (± 0.86%) 14.93s (± 0.53%) -0.02s (- 0.10%) 14.83s 15.03s
Monaco - node (v18.10.0, x64)
Memory used 343,983k (± 0.02%) 343,976k (± 0.01%) -7k (- 0.00%) 343,944k 344,033k
Parse Time 2.95s (± 0.84%) 2.95s (± 0.70%) -0.01s (- 0.23%) 2.92s 2.98s
Bind Time 1.03s (± 1.29%) 1.04s (± 0.86%) +0.01s (+ 1.13%) 1.03s 1.05s
Check Time 7.06s (± 0.45%) 7.06s (± 0.33%) -0.00s (- 0.02%) 7.03s 7.09s
Emit Time 4.31s (± 0.85%) 4.33s (± 0.63%) +0.03s (+ 0.66%) 4.31s 4.38s
Total Time 15.34s (± 0.22%) 15.37s (± 0.41%) +0.03s (+ 0.18%) 15.29s 15.46s
TFS - node (v18.10.0, x64)
Memory used 300,373k (± 0.01%) 300,375k (± 0.00%) +3k (+ 0.00%) 300,354k 300,394k
Parse Time 2.28s (± 1.10%) 2.26s (± 1.39%) -0.02s (- 0.88%) 2.22s 2.30s
Bind Time 1.17s (± 0.44%) 1.17s (± 0.35%) +0.00s (+ 0.43%) 1.17s 1.18s
Check Time 6.52s (± 0.25%) 6.51s (± 0.32%) -0.02s (- 0.28%) 6.48s 6.53s
Emit Time 3.91s (± 0.64%) 3.92s (± 0.64%) +0.00s (+ 0.09%) 3.89s 3.96s
Total Time 13.88s (± 0.20%) 13.86s (± 0.37%) -0.03s (- 0.19%) 13.78s 13.91s
material-ui - node (v18.10.0, x64)
Memory used 476,734k (± 0.02%) 476,735k (± 0.00%) +2k (+ 0.00%) 476,714k 476,773k
Parse Time 3.56s (± 0.42%) 3.57s (± 0.77%) +0.01s (+ 0.28%) 3.53s 3.60s
Bind Time 0.97s (± 0.65%) 0.97s (± 0.84%) -0.00s (- 0.34%) 0.96s 0.98s
Check Time 17.05s (± 0.29%) 17.16s (± 0.52%) +0.11s (+ 0.65%) 17.02s 17.25s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.57s (± 0.21%) 21.69s (± 0.47%) +0.12s (+ 0.56%) 21.52s 21.80s
xstate - node (v18.10.0, x64)
Memory used 548,529k (± 0.02%) 548,683k (± 0.02%) +154k (+ 0.03%) 548,498k 548,787k
Parse Time 4.56s (± 0.83%) 4.59s (± 0.38%) +0.02s (+ 0.51%) 4.56s 4.61s
Bind Time 1.72s (± 1.91%) 1.72s (± 1.14%) -0.00s (- 0.19%) 1.68s 1.73s
Check Time 2.71s (± 1.31%) 2.71s (± 0.51%) 0.00s ( 0.00%) 2.69s 2.73s
Emit Time 0.08s (± 4.99%) 0.09s (± 6.44%) +0.00s (+ 4.08%) 0.08s 0.09s
Total Time 9.08s (± 0.91%) 9.11s (± 0.38%) +0.02s (+ 0.22%) 9.06s 9.15s
Angular - node (v16.17.1, x64)
Memory used 359,206k (± 0.01%) 359,210k (± 0.01%) +4k (+ 0.00%) 359,163k 359,261k
Parse Time 4.17s (± 0.55%) 4.17s (± 0.35%) +0.00s (+ 0.04%) 4.15s 4.19s
Bind Time 1.22s (± 0.52%) 1.23s (± 0.45%) +0.01s (+ 0.41%) 1.22s 1.23s
Check Time 9.40s (± 0.35%) 9.40s (± 0.29%) -0.00s (- 0.00%) 9.35s 9.43s
Emit Time 8.06s (± 0.65%) 8.08s (± 0.47%) +0.03s (+ 0.31%) 8.03s 8.13s
Total Time 22.85s (± 0.25%) 22.88s (± 0.20%) +0.03s (+ 0.13%) 22.85s 22.97s
Compiler-Unions - node (v16.17.1, x64)
Memory used 194,205k (± 0.04%) 194,810k (± 0.70%) +606k (+ 0.31%) 194,158k 197,578k
Parse Time 1.80s (± 0.29%) 1.81s (± 0.78%) +0.01s (+ 0.37%) 1.79s 1.83s
Bind Time 0.85s (± 0.00%) 0.84s (± 0.61%) -0.01s (- 0.78%) 0.84s 0.85s
Check Time 10.36s (± 0.57%) 10.36s (± 0.40%) +0.00s (+ 0.05%) 10.30s 10.40s
Emit Time 3.06s (± 1.52%) 3.05s (± 0.53%) -0.01s (- 0.22%) 3.03s 3.08s
Total Time 16.07s (± 0.52%) 16.07s (± 0.31%) +0.00s (+ 0.00%) 15.99s 16.14s
Monaco - node (v16.17.1, x64)
Memory used 343,261k (± 0.01%) 343,261k (± 0.01%) -1k (- 0.00%) 343,225k 343,294k
Parse Time 3.15s (± 1.40%) 3.18s (± 0.78%) +0.03s (+ 0.95%) 3.15s 3.21s
Bind Time 1.11s (± 0.37%) 1.11s (± 0.46%) +0.00s (+ 0.45%) 1.11s 1.12s
Check Time 7.71s (± 0.07%) 7.71s (± 0.28%) -0.01s (- 0.11%) 7.68s 7.74s
Emit Time 4.50s (± 0.77%) 4.51s (± 0.57%) +0.02s (+ 0.37%) 4.49s 4.55s
Total Time 16.48s (± 0.22%) 16.52s (± 0.26%) +0.04s (+ 0.25%) 16.46s 16.58s
TFS - node (v16.17.1, x64)
Memory used 299,768k (± 0.01%) 299,761k (± 0.01%) -7k (- 0.00%) 299,726k 299,797k
Parse Time 2.49s (± 1.47%) 2.48s (± 1.50%) -0.00s (- 0.20%) 2.44s 2.53s
Bind Time 1.26s (± 0.41%) 1.26s (± 0.78%) +0.00s (+ 0.13%) 1.25s 1.27s
Check Time 7.18s (± 0.20%) 7.18s (± 0.33%) +0.00s (+ 0.02%) 7.14s 7.21s
Emit Time 4.23s (± 0.83%) 4.22s (± 0.52%) -0.01s (- 0.12%) 4.19s 4.25s
Total Time 15.15s (± 0.30%) 15.14s (± 0.26%) -0.01s (- 0.06%) 15.10s 15.20s
material-ui - node (v16.17.1, x64)
Memory used 476,092k (± 0.02%) 476,002k (± 0.01%) -90k (- 0.02%) 475,957k 476,050k
Parse Time 3.70s (± 0.33%) 3.73s (± 0.28%) +0.02s (+ 0.63%) 3.72s 3.74s
Bind Time 1.02s (± 0.74%) 1.02s (± 0.40%) 0.00s ( 0.00%) 1.01s 1.02s
Check Time 18.06s (± 0.23%) 18.08s (± 0.24%) +0.02s (+ 0.09%) 18.02s 18.14s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.78s (± 0.18%) 22.82s (± 0.20%) +0.04s (+ 0.18%) 22.76s 22.88s
xstate - node (v16.17.1, x64)
Memory used 546,227k (± 0.01%) 546,244k (± 0.01%) +17k (+ 0.00%) 546,142k 546,365k
Parse Time 4.75s (± 0.25%) 4.76s (± 0.47%) +0.02s (+ 0.39%) 4.72s 4.78s
Bind Time 1.81s (± 3.84%) 1.83s (± 0.56%) +0.02s (+ 1.20%) 1.82s 1.85s
Check Time 3.00s (± 2.69%) 2.98s (± 0.46%) -0.02s (- 0.72%) 2.96s 2.99s
Emit Time 0.09s (± 5.53%) 0.09s (± 0.00%) 🟩-0.00s (- 3.57%) 0.09s 0.09s
Total Time 9.65s (± 0.19%) 9.67s (± 0.27%) +0.02s (+ 0.21%) 9.62s 9.69s
Angular - node (v14.15.1, x64)
Memory used 352,833k (± 0.00%) 352,857k (± 0.01%) +24k (+ 0.01%) 352,820k 352,905k
Parse Time 4.23s (± 0.28%) 4.24s (± 0.38%) +0.01s (+ 0.32%) 4.23s 4.27s
Bind Time 1.28s (± 0.59%) 1.28s (± 0.81%) -0.01s (- 0.39%) 1.26s 1.29s
Check Time 9.70s (± 0.36%) 9.70s (± 0.21%) +0.00s (+ 0.03%) 9.68s 9.74s
Emit Time 8.34s (± 0.66%) 8.37s (± 0.64%) +0.03s (+ 0.32%) 8.31s 8.47s
Total Time 23.55s (± 0.32%) 23.60s (± 0.26%) +0.05s (+ 0.21%) 23.53s 23.71s
Compiler-Unions - node (v14.15.1, x64)
Memory used 189,081k (± 0.02%) 189,788k (± 0.68%) +708k (+ 0.37%) 189,095k 192,410k
Parse Time 1.84s (± 0.44%) 1.84s (± 1.01%) +0.00s (+ 0.00%) 1.82s 1.86s
Bind Time 0.86s (± 0.48%) 0.87s (± 1.62%) +0.01s (+ 1.36%) 0.85s 0.89s
Check Time 10.37s (± 0.58%) 10.41s (± 0.36%) +0.04s (+ 0.40%) 10.37s 10.47s
Emit Time 3.48s (± 1.16%) 3.30s (± 5.88%) 🟩-0.17s (- 4.94%) 3.10s 3.49s
Total Time 16.55s (± 0.47%) 16.43s (± 1.09%) -0.12s (- 0.72%) 16.23s 16.64s
Monaco - node (v14.15.1, x64)
Memory used 338,020k (± 0.00%) 338,020k (± 0.01%) +1k (+ 0.00%) 338,003k 338,051k
Parse Time 3.25s (± 1.22%) 3.24s (± 1.71%) -0.01s (- 0.21%) 3.19s 3.32s
Bind Time 1.11s (± 1.14%) 1.11s (± 0.89%) -0.00s (- 0.15%) 1.10s 1.12s
Check Time 8.02s (± 0.30%) 8.04s (± 0.45%) +0.02s (+ 0.29%) 8.01s 8.11s
Emit Time 4.75s (± 0.64%) 4.76s (± 0.78%) +0.01s (+ 0.28%) 4.71s 4.82s
Total Time 17.13s (± 0.34%) 17.16s (± 0.57%) +0.03s (+ 0.18%) 17.02s 17.26s
TFS - node (v14.15.1, x64)
Memory used 294,589k (± 0.01%) 294,580k (± 0.00%) -8k (- 0.00%) 294,571k 294,593k
Parse Time 2.75s (± 0.44%) 2.75s (± 0.38%) 0.00s ( 0.00%) 2.73s 2.76s
Bind Time 1.10s (± 0.74%) 1.10s (± 0.68%) -0.00s (- 0.15%) 1.09s 1.11s
Check Time 7.52s (± 0.86%) 7.52s (± 0.45%) +0.01s (+ 0.11%) 7.48s 7.57s
Emit Time 4.62s (± 0.71%) 4.61s (± 0.30%) -0.01s (- 0.29%) 4.59s 4.63s
Total Time 15.99s (± 0.48%) 15.98s (± 0.20%) -0.00s (- 0.02%) 15.94s 16.03s
material-ui - node (v14.15.1, x64)
Memory used 471,556k (± 0.00%) 471,564k (± 0.01%) +9k (+ 0.00%) 471,523k 471,594k
Parse Time 3.92s (± 0.44%) 3.95s (± 0.65%) +0.03s (+ 0.76%) 3.91s 3.97s
Bind Time 1.04s (± 0.52%) 1.04s (± 0.99%) -0.00s (- 0.16%) 1.03s 1.05s
Check Time 19.04s (± 0.46%) 19.08s (± 0.54%) +0.04s (+ 0.22%) 18.98s 19.27s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 24.00s (± 0.40%) 24.08s (± 0.46%) +0.07s (+ 0.31%) 23.97s 24.28s
xstate - node (v14.15.1, x64)
Memory used 534,457k (± 0.01%) 534,482k (± 0.01%) +25k (+ 0.00%) 534,442k 534,529k
Parse Time 5.16s (± 0.55%) 5.17s (± 0.86%) +0.01s (+ 0.16%) 5.10s 5.23s
Bind Time 1.71s (± 0.86%) 1.71s (± 0.83%) -0.00s (- 0.10%) 1.69s 1.73s
Check Time 3.09s (± 0.60%) 3.10s (± 0.56%) +0.01s (+ 0.38%) 3.07s 3.12s
Emit Time 0.10s (± 0.00%) 0.10s (± 0.00%) 0.00s ( 0.00%) 0.10s 0.10s
Total Time 10.06s (± 0.39%) 10.07s (± 0.40%) +0.01s (+ 0.08%) 10.02s 10.12s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 52417 6
Baseline main 6

TSServer

Comparison Report - main..52417
Metric main 52417 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,493ms (± 1.17%) 2,494ms (± 1.43%) +2ms (+ 0.06%) 2,462ms 2,552ms
Req 2 - geterr 5,502ms (± 0.71%) 5,495ms (± 0.31%) -7ms (- 0.12%) 5,469ms 5,513ms
Req 3 - references 367ms (± 1.04%) 366ms (± 1.08%) -1ms (- 0.18%) 361ms 373ms
Req 4 - navto 284ms (± 0.18%) 284ms (± 0.76%) 0ms ( 0.00%) 280ms 286ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 68ms (± 3.52%) 66ms (± 1.57%) 🟩-3ms (- 3.67%) 64ms 67ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,729ms (± 1.73%) 2,746ms (± 1.52%) +17ms (+ 0.62%) 2,691ms 2,792ms
Req 2 - geterr 4,054ms (± 0.36%) 4,053ms (± 0.28%) -0ms (- 0.01%) 4,038ms 4,067ms
Req 3 - references 370ms (± 0.70%) 368ms (± 0.85%) -2ms (- 0.45%) 365ms 373ms
Req 4 - navto 297ms (± 0.80%) 297ms (± 1.08%) -1ms (- 0.17%) 291ms 299ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 78ms (± 6.38%) 79ms (± 8.37%) +1ms (+ 0.85%) 66ms 83ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,494ms (± 0.72%) 3,495ms (± 0.51%) +1ms (+ 0.01%) 3,469ms 3,516ms
Req 2 - geterr 1,426ms (± 0.96%) 1,432ms (± 1.55%) +6ms (+ 0.42%) 1,410ms 1,472ms
Req 3 - references 103ms (± 0.73%) 105ms (± 1.20%) +2ms (+ 2.11%) 103ms 106ms
Req 4 - navto 355ms (± 0.66%) 356ms (± 0.68%) +1ms (+ 0.28%) 353ms 359ms
Req 5 - completionInfo count 3,171 (± 0.00%) 3,171 (± 0.00%) 0 ( 0.00%) 3,171 3,171
Req 5 - completionInfo 467ms (± 1.21%) 465ms (± 1.01%) -3ms (- 0.61%) 457ms 470ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,770ms (± 0.61%) 2,785ms (± 0.42%) +15ms (+ 0.55%) 2,766ms 2,796ms
Req 2 - geterr 5,861ms (± 0.39%) 5,892ms (± 0.48%) +31ms (+ 0.53%) 5,850ms 5,930ms
Req 3 - references 378ms (± 1.35%) 376ms (± 1.41%) -2ms (- 0.44%) 369ms 384ms
Req 4 - navto 277ms (± 0.63%) 277ms (± 1.22%) +1ms (+ 0.18%) 273ms 281ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 74ms (±10.05%) 74ms (± 4.52%) -0ms (- 0.45%) 70ms 78ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,926ms (± 0.29%) 2,928ms (± 0.34%) +2ms (+ 0.08%) 2,913ms 2,940ms
Req 2 - geterr 4,397ms (± 0.48%) 4,402ms (± 0.18%) +6ms (+ 0.13%) 4,390ms 4,413ms
Req 3 - references 379ms (± 0.63%) 380ms (± 0.81%) +1ms (+ 0.31%) 376ms 383ms
Req 4 - navto 288ms (± 0.53%) 288ms (± 0.46%) +1ms (+ 0.23%) 286ms 290ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 72ms (± 1.63%) 72ms (± 1.47%) -0ms (- 0.46%) 70ms 73ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,627ms (± 0.36%) 3,633ms (± 0.33%) +7ms (+ 0.18%) 3,617ms 3,644ms
Req 2 - geterr 1,562ms (± 0.95%) 1,557ms (± 0.59%) -5ms (- 0.33%) 1,546ms 1,572ms
Req 3 - references 112ms (± 1.22%) 111ms (± 2.27%) -2ms (- 1.63%) 107ms 113ms
Req 4 - navto 344ms (± 1.07%) 342ms (± 1.39%) -1ms (- 0.39%) 337ms 350ms
Req 5 - completionInfo count 3,171 (± 0.00%) 3,171 (± 0.00%) 0 ( 0.00%) 3,171 3,171
Req 5 - completionInfo 479ms (± 0.34%) 478ms (± 0.71%) -2ms (- 0.38%) 472ms 481ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,903ms (± 0.41%) 2,906ms (± 0.25%) +3ms (+ 0.11%) 2,895ms 2,913ms
Req 2 - geterr 6,278ms (± 0.58%) 6,255ms (± 0.90%) -23ms (- 0.37%) 6,146ms 6,311ms
Req 3 - references 390ms (± 0.43%) 390ms (± 0.34%) +0ms (+ 0.04%) 388ms 392ms
Req 4 - navto 280ms (± 1.18%) 281ms (± 0.42%) +1ms (+ 0.24%) 279ms 282ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 91ms (± 2.59%) 88ms (± 5.24%) 🟩-3ms (- 3.31%) 79ms 92ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,067ms (± 0.27%) 3,070ms (± 0.35%) +3ms (+ 0.09%) 3,056ms 3,086ms
Req 2 - geterr 4,681ms (± 0.38%) 4,700ms (± 0.15%) +20ms (+ 0.42%) 4,689ms 4,707ms
Req 3 - references 408ms (± 1.61%) 406ms (± 1.11%) -3ms (- 0.69%) 402ms 414ms
Req 4 - navto 292ms (± 0.85%) 290ms (± 0.51%) -2ms (- 0.68%) 288ms 292ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 81ms (± 3.44%) 81ms (± 0.50%) -1ms (- 0.61%) 80ms 81ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,961ms (± 0.69%) 3,962ms (± 0.56%) +1ms (+ 0.03%) 3,927ms 3,994ms
Req 2 - geterr 1,502ms (± 0.56%) 1,512ms (± 0.49%) +11ms (+ 0.72%) 1,506ms 1,527ms
Req 3 - references 134ms (± 3.30%) 133ms (± 2.66%) -1ms (- 0.62%) 128ms 137ms
Req 4 - navto 375ms (± 0.88%) 376ms (± 0.57%) +1ms (+ 0.22%) 374ms 380ms
Req 5 - completionInfo count 3,171 (± 0.00%) 3,171 (± 0.00%) 0 ( 0.00%) 3,171 3,171
Req 5 - completionInfo 502ms (± 2.07%) 503ms (± 1.91%) +1ms (+ 0.10%) 489ms 514ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 52417 6
Baseline main 6

Startup

Comparison Report - main..52417
Metric main 52417 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 142.01ms (± 0.17%) 142.53ms (± 0.22%) +0.51ms (+ 0.36%) 141.80ms 149.45ms
tsserver-startup - node (v16.17.1, x64)
Execution time 225.89ms (± 0.16%) 227.03ms (± 0.17%) +1.14ms (+ 0.51%) 225.89ms 233.35ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 228.21ms (± 0.19%) 229.34ms (± 0.17%) +1.13ms (+ 0.49%) 228.28ms 236.55ms
typescript-startup - node (v16.17.1, x64)
Execution time 209.15ms (± 0.17%) 210.16ms (± 0.18%) +1.01ms (+ 0.48%) 209.10ms 214.43ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 52417 6
Baseline main 6

Developer Information:

Download Benchmark

@jakebailey
Copy link
Member

jakebailey commented Jan 26, 2023

I went and tested this PR using the linked issue's repro (https://github.com/drrnkin/typescript-composite-deleted-file), and it didn't seem to work; I removed all of the child files and reran yarn build (modified to point to my local built folder), and none of the child files were recreated.

@sheetalkamat
Copy link
Member Author

Here is the result from running on the repro:

c:\temp\typescript-composite-deleted-file\main>node C:\TypeScript\built\local\tsc.js -b -v
[1:45:22 PM] Projects in this build:
    * ../child/tsconfig.json
    * tsconfig.json

[1:45:22 PM] Project '../child/tsconfig.json' is out of date because output file '../child/tsconfig.tsbuildinfo' does not exist
[1:45:22 PM] Building project 'c:/temp/typescript-composite-deleted-file/child/tsconfig.json'...

[1:45:25 PM] Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist

[1:45:25 PM] Building project 'c:/temp/typescript-composite-deleted-file/main/tsconfig.json'...


c:\temp\typescript-composite-deleted-file\main>del ..\child\child2.*

c:\temp\typescript-composite-deleted-file\main>dir ..\child\child2*
 Volume in drive C is Local Disk
 Volume Serial Number is 9EF5-3A92

 Directory of c:\temp\typescript-composite-deleted-file\child

File Not Found

c:\temp\typescript-composite-deleted-file\main>node C:\TypeScript\built\local\tsc.js -b -v
[1:45:51 PM] Projects in this build:
    * ../child/tsconfig.json
    * tsconfig.json

[1:45:51 PM] Project '../child/tsconfig.json' is out of date because buildinfo file '../child/tsconfig.tsbuildinfo' indicates that file '../child/child2.ts' was root file of compilation but not any more.

[1:45:51 PM] Building project 'c:/temp/typescript-composite-deleted-file/child/tsconfig.json'...

../child/child.ts:1:24 - error TS2792: Cannot find module '../child/child2.js'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?

1 import { child2 } from "../child/child2.js";
                         ~~~~~~~~~~~~~~~~~~~~

[1:45:52 PM] Project 'tsconfig.json' can't be built because its dependency '../child' has errors

[1:45:52 PM] Skipping build of project 'c:/temp/typescript-composite-deleted-file/main/tsconfig.json' because its dependency 'c:/temp/typescript-composite-deleted-file/child' has errors


Found 1 error.


c:\temp\typescript-composite-deleted-file\main>

@jakebailey
Copy link
Member

Ah, I didn't delete the input files, I only deleted the output files. When delete everything, I get the error. I didn't realize the issue said to literally delete everything and that an error should occur. So, I guess it does work, oops.

I am however confused as to how deleting all of the output files (rm child*.{js,d.ts}) doesn't trigger a rebuild, but maybe that's another issue.

@sheetalkamat
Copy link
Member Author

Thats a long standing design where we dont check all output file timestamps if writing tsbuildInfo for perf reasons. If you are deleting some or all outputs, delete buildInfo and run the build has been our guidance.

@sheetalkamat sheetalkamat merged commit 5a419a2 into main Jan 27, 2023
@sheetalkamat sheetalkamat deleted the fileDelete branch January 27, 2023 00:03
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.

Deleted source file not detected in composite mode
3 participants