Skip to content

Conversation

jakebailey
Copy link
Member

Not all of our stat calls went through the "faster" error stack path, so I fixed that. But, since we support only Node 14.17, we don't even need it since throwIfNoEntry: false is available.

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

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 14, 2024

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

Command Status Results
perf test this ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@jakebailey
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,444k (± 1.02%) 192,143k (± 0.02%) ~ 192,105k 192,206k p=0.173 n=6
Parse Time 1.96s (± 0.95%) 1.95s (± 0.70%) ~ 1.94s 1.98s p=0.410 n=6
Bind Time 1.06s (± 1.58%) 1.06s (± 1.41%) ~ 1.04s 1.08s p=0.870 n=6
Check Time 13.80s (± 0.56%) 13.82s (± 0.39%) ~ 13.74s 13.89s p=0.872 n=6
Emit Time 4.04s (± 0.85%) 4.03s (± 1.00%) ~ 3.99s 4.09s p=0.629 n=6
Total Time 20.87s (± 0.48%) 20.86s (± 0.21%) ~ 20.81s 20.91s p=1.000 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 944,114 944,114 ~ ~ ~ p=1.000 n=6
Types 407,050 407,050 ~ ~ ~ p=1.000 n=6
Memory used 1,218,388k (± 0.00%) 1,218,371k (± 0.00%) ~ 1,218,310k 1,218,404k p=0.810 n=6
Parse Time 8.04s (± 0.39%) 7.98s (± 1.27%) ~ 7.78s 8.07s p=0.145 n=6
Bind Time 2.23s (± 0.34%) 2.23s (± 0.38%) ~ 2.21s 2.23s p=0.652 n=6
Check Time 35.90s (± 0.47%) 35.88s (± 0.31%) ~ 35.69s 36.01s p=0.936 n=6
Emit Time 16.22s (± 0.24%) 16.16s (± 0.30%) -0.06s (- 0.38%) 16.08s 16.23s p=0.037 n=6
Total Time 62.39s (± 0.30%) 62.24s (± 0.26%) ~ 62.01s 62.42s p=0.128 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,248,864 2,248,864 ~ ~ ~ p=1.000 n=6
Types 937,090 937,090 ~ ~ ~ p=1.000 n=6
Memory used 2,162,627k (± 0.00%) 2,162,675k (± 0.00%) ~ 2,162,576k 2,162,767k p=0.093 n=6
Parse Time 7.80s (± 0.17%) 7.81s (± 0.20%) ~ 7.79s 7.83s p=0.498 n=6
Bind Time 2.75s (± 0.54%) 2.75s (± 0.46%) ~ 2.73s 2.76s p=0.869 n=6
Check Time 84.63s (± 0.54%) 84.31s (± 0.44%) ~ 83.76s 84.88s p=0.173 n=6
Emit Time 0.16s (± 4.99%) 0.17s (± 3.10%) ~ 0.16s 0.17s p=0.235 n=6
Total Time 95.34s (± 0.47%) 95.03s (± 0.41%) ~ 94.46s 95.64s p=0.173 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,948 1,225,947 -1 (- 0.00%) ~ ~ p=0.001 n=6
Types 261,589 261,597 +8 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 2,339,275k (± 0.02%) 2,338,958k (± 0.02%) ~ 2,338,286k 2,339,352k p=0.689 n=6
Parse Time 6.05s (± 0.84%) 6.08s (± 0.29%) ~ 6.06s 6.11s p=0.261 n=6
Bind Time 2.24s (± 1.26%) 2.25s (± 1.10%) ~ 2.22s 2.29s p=0.468 n=6
Check Time 39.98s (± 0.23%) 40.09s (± 0.29%) ~ 39.94s 40.23s p=0.127 n=6
Emit Time 3.84s (± 1.03%) 3.83s (± 0.65%) ~ 3.80s 3.86s p=0.471 n=6
Total Time 52.12s (± 0.26%) 52.26s (± 0.27%) ~ 52.05s 52.45s p=0.093 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,948 1,225,947 -1 (- 0.00%) ~ ~ p=0.001 n=6
Types 261,589 261,597 +8 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 2,413,503k (± 0.02%) 2,413,428k (± 0.04%) ~ 2,411,867k 2,415,135k p=0.810 n=6
Parse Time 7.87s (± 0.68%) 7.88s (± 0.45%) ~ 7.85s 7.94s p=1.000 n=6
Bind Time 2.51s (± 1.20%) 2.51s (± 0.70%) ~ 2.48s 2.53s p=1.000 n=6
Check Time 50.13s (± 0.34%) 50.18s (± 0.20%) ~ 50.08s 50.34s p=0.422 n=6
Emit Time 4.82s (± 0.61%) 4.86s (± 1.46%) ~ 4.75s 4.94s p=0.296 n=6
Total Time 65.34s (± 0.22%) 65.46s (± 0.11%) ~ 65.35s 65.57s p=0.092 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 258,230 258,229 -1 (- 0.00%) ~ ~ p=0.001 n=6
Types 104,789 104,797 +8 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 427,076k (± 0.01%) 427,073k (± 0.02%) ~ 427,000k 427,180k p=0.810 n=6
Parse Time 4.10s (± 0.46%) 4.11s (± 0.26%) ~ 4.09s 4.12s p=0.742 n=6
Bind Time 1.63s (± 0.98%) 1.63s (± 0.92%) ~ 1.60s 1.64s p=0.801 n=6
Check Time 22.09s (± 0.22%) 21.96s (± 0.31%) -0.13s (- 0.58%) 21.86s 22.05s p=0.010 n=6
Emit Time 2.04s (± 1.79%) 2.03s (± 0.85%) ~ 2.01s 2.06s p=0.570 n=6
Total Time 29.86s (± 0.23%) 29.72s (± 0.30%) -0.14s (- 0.47%) 29.59s 29.86s p=0.020 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,448k (± 0.01%) 369,476k (± 0.02%) ~ 369,382k 369,627k p=0.575 n=6
Parse Time 2.76s (± 0.63%) 2.76s (± 0.79%) ~ 2.73s 2.79s p=0.867 n=6
Bind Time 1.59s (± 0.76%) 1.59s (± 0.51%) ~ 1.58s 1.60s p=0.787 n=6
Check Time 15.51s (± 0.34%) 15.50s (± 0.26%) ~ 15.43s 15.54s p=0.872 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 19.86s (± 0.28%) 19.85s (± 0.29%) ~ 19.75s 19.90s p=0.630 n=6
vscode - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,891,160 2,891,160 ~ ~ ~ p=1.000 n=6
Types 978,184 978,184 ~ ~ ~ p=1.000 n=6
Memory used 3,054,965k (± 0.00%) 3,054,983k (± 0.00%) ~ 3,054,878k 3,055,107k p=0.936 n=6
Parse Time 16.93s (± 0.27%) 16.93s (± 0.24%) ~ 16.88s 16.99s p=0.936 n=6
Bind Time 5.13s (± 0.34%) 5.10s (± 0.37%) ~ 5.08s 5.13s p=0.102 n=6
Check Time 90.66s (± 2.49%) 90.46s (± 2.18%) ~ 89.18s 94.39s p=0.689 n=6
Emit Time 28.51s (± 6.54%) 28.44s (± 6.82%) ~ 24.48s 29.32s p=0.688 n=6
Total Time 141.22s (± 0.37%) 140.92s (± 0.35%) ~ 140.39s 141.58s p=0.298 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 267,239 267,239 ~ ~ ~ p=1.000 n=6
Types 108,815 108,815 ~ ~ ~ p=1.000 n=6
Memory used 411,890k (± 0.02%) 411,776k (± 0.01%) ~ 411,724k 411,857k p=0.054 n=6
Parse Time 4.75s (± 0.63%) 4.76s (± 0.25%) ~ 4.74s 4.77s p=1.000 n=6
Bind Time 2.08s (± 0.66%) 2.09s (± 0.68%) ~ 2.07s 2.11s p=0.510 n=6
Check Time 20.78s (± 0.28%) 20.73s (± 0.41%) ~ 20.58s 20.83s p=0.296 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.62s (± 0.20%) 27.57s (± 0.31%) ~ 27.45s 27.70s p=0.376 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 510,479 510,479 ~ ~ ~ p=1.000 n=6
Types 161,600 161,600 ~ ~ ~ p=1.000 n=6
Memory used 448,318k (± 0.03%) 448,356k (± 0.03%) ~ 448,177k 448,561k p=0.810 n=6
Parse Time 2.63s (± 0.59%) 2.62s (± 0.57%) ~ 2.60s 2.64s p=0.351 n=6
Bind Time 0.97s (± 0.53%) 0.98s (± 0.64%) ~ 0.97s 0.99s p=0.091 n=6
Check Time 14.46s (± 0.48%) 14.44s (± 0.42%) ~ 14.37s 14.51s p=0.630 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.06s (± 0.34%) 18.04s (± 0.31%) ~ 17.99s 18.12s p=0.418 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,296ms (± 0.15%) 2,294ms (± 0.11%) ~ 2,290ms 2,298ms p=0.377 n=6
Req 2 - geterr 5,071ms (± 0.55%) 5,065ms (± 0.58%) ~ 5,018ms 5,091ms p=0.810 n=6
Req 3 - references 265ms (± 0.37%) 265ms (± 0.44%) ~ 263ms 266ms p=1.000 n=6
Req 4 - navto 228ms (± 0.55%) 228ms (± 0.82%) ~ 225ms 230ms p=0.677 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 90ms (± 4.84%) 90ms (± 4.91%) ~ 81ms 92ms p=0.718 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,401ms (± 1.58%) 2,420ms (± 1.26%) ~ 2,385ms 2,461ms p=0.229 n=6
Req 2 - geterr 3,783ms (± 0.36%) 3,803ms (± 0.33%) ~ 3,781ms 3,815ms p=0.077 n=6
Req 3 - references 276ms (± 0.36%) 276ms (± 0.49%) ~ 274ms 278ms p=0.457 n=6
Req 4 - navto 226ms (± 0.33%) 226ms (± 0.18%) ~ 225ms 226ms p=0.389 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 70ms (± 2.85%) 72ms (± 3.34%) ~ 68ms 74ms p=0.194 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 5,271ms (± 0.58%) 5,248ms (± 0.42%) ~ 5,214ms 5,271ms p=0.471 n=6
Req 2 - geterr 1,120ms (± 1.43%) 1,120ms (± 0.97%) ~ 1,108ms 1,139ms p=0.810 n=6
Req 3 - references 84ms (± 2.87%) 79ms (± 4.47%) 🟩-5ms (- 6.13%) 76ms 83ms p=0.020 n=6
Req 4 - navto 472ms (± 2.44%) 460ms (± 2.75%) ~ 451ms 485ms p=0.199 n=6
Req 5 - completionInfo count 3,413 3,413 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 849ms (± 1.57%) 837ms (± 1.94%) ~ 817ms 852ms p=0.423 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 157.21ms (± 0.19%) 157.05ms (± 0.16%) -0.15ms (- 0.10%) 155.99ms 160.18ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 231.71ms (± 0.16%) 231.69ms (± 0.15%) ~ 230.18ms 237.30ms p=0.935 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 227.82ms (± 0.16%) 227.78ms (± 0.16%) ~ 226.34ms 232.09ms p=0.255 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 225.90ms (± 0.15%) 225.74ms (± 0.15%) -0.15ms (- 0.07%) 224.17ms 227.98ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@jakebailey jakebailey marked this pull request as ready for review July 18, 2024 22:39
Comment on lines 1628 to 1629
// throwIfNoEntry is available in Node 14.17 and above, which matches our supported range.
return _fs.statSync(path, { throwIfNoEntry: false });
Copy link
Member Author

Choose a reason for hiding this comment

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

Potentially I can leave a try/catch here just in case someone uses something before 14.17; it wouldn't be faster but probably best overall since all supported users will stop needing to modify the stack lengh limit.

@jakebailey

This comment was marked as outdated.

@typescript-bot

This comment was marked as outdated.

@jakebailey
Copy link
Member Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 20, 2024

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

Command Status Results
perf test this ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@jakebailey
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 192,976k (± 0.74%) 192,860k (± 0.76%) ~ 192,177k 195,838k p=0.575 n=6
Parse Time 1.57s (± 0.97%) 1.57s (± 1.54%) ~ 1.53s 1.59s p=0.807 n=6
Bind Time 0.86s (± 1.04%) 0.86s (± 0.60%) ~ 0.85s 0.86s p=0.541 n=6
Check Time 11.33s (± 0.29%) 11.36s (± 0.46%) ~ 11.27s 11.42s p=0.422 n=6
Emit Time 3.27s (± 0.45%) 3.26s (± 0.60%) ~ 3.24s 3.28s p=0.187 n=6
Total Time 17.03s (± 0.12%) 17.03s (± 0.35%) ~ 16.93s 17.11s p=0.514 n=6
angular-1 - node (v18.15.0, x64)
Errors 7 7 ~ ~ ~ p=1.000 n=6
Symbols 945,532 945,532 ~ ~ ~ p=1.000 n=6
Types 409,507 409,507 ~ ~ ~ p=1.000 n=6
Memory used 1,221,051k (± 0.00%) 1,221,040k (± 0.01%) ~ 1,220,891k 1,221,148k p=0.936 n=6
Parse Time 7.89s (± 0.66%) 7.87s (± 1.30%) ~ 7.79s 8.06s p=0.467 n=6
Bind Time 2.20s (± 0.78%) 2.21s (± 0.62%) ~ 2.20s 2.23s p=0.291 n=6
Check Time 36.25s (± 0.42%) 36.28s (± 0.37%) ~ 36.11s 36.46s p=0.810 n=6
Emit Time 17.81s (± 0.63%) 17.75s (± 0.30%) ~ 17.68s 17.82s p=0.294 n=6
Total Time 64.15s (± 0.33%) 64.11s (± 0.28%) ~ 63.82s 64.27s p=0.630 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,276,293 2,276,293 ~ ~ ~ p=1.000 n=6
Types 949,028 949,028 ~ ~ ~ p=1.000 n=6
Memory used 2,208,108k (± 0.00%) 2,208,096k (± 0.00%) ~ 2,208,039k 2,208,160k p=0.689 n=6
Parse Time 9.70s (± 0.39%) 9.65s (± 0.22%) -0.05s (- 0.57%) 9.62s 9.68s p=0.020 n=6
Bind Time 3.36s (± 0.81%) 3.37s (± 1.26%) ~ 3.33s 3.43s p=0.872 n=6
Check Time 105.67s (± 0.67%) 105.73s (± 0.51%) ~ 105.12s 106.43s p=0.936 n=6
Emit Time 0.20s (± 3.73%) 0.21s (± 4.71%) ~ 0.20s 0.22s p=0.300 n=6
Total Time 118.93s (± 0.61%) 118.95s (± 0.48%) ~ 118.31s 119.71s p=0.936 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,230,884 1,230,888 +4 (+ 0.00%) ~ ~ p=0.001 n=6
Types 266,057 266,074 +17 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 2,526,386k (±11.79%) 2,467,247k (±11.75%) ~ 2,347,913k 3,059,855k p=0.575 n=6
Parse Time 5.11s (± 0.85%) 5.10s (± 0.78%) ~ 5.05s 5.17s p=0.630 n=6
Bind Time 1.90s (± 1.72%) 1.88s (± 0.43%) ~ 1.87s 1.89s p=0.677 n=6
Check Time 34.56s (± 0.88%) 34.65s (± 0.59%) ~ 34.43s 34.92s p=0.688 n=6
Emit Time 3.31s (± 2.16%) 3.30s (± 1.36%) ~ 3.23s 3.35s p=1.000 n=6
Total Time 44.91s (± 0.79%) 44.94s (± 0.49%) ~ 44.74s 45.27s p=0.689 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,230,884 1,230,888 +4 (+ 0.00%) ~ ~ p=0.001 n=6
Types 266,057 266,074 +17 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 2,422,372k (± 0.02%) 2,422,704k (± 0.02%) ~ 2,422,050k 2,423,148k p=0.230 n=6
Parse Time 6.32s (± 0.58%) 6.29s (± 0.36%) ~ 6.27s 6.33s p=0.078 n=6
Bind Time 2.04s (± 0.84%) 2.03s (± 0.54%) ~ 2.02s 2.05s p=0.210 n=6
Check Time 41.31s (± 0.29%) 41.29s (± 0.40%) ~ 41.11s 41.55s p=0.936 n=6
Emit Time 4.04s (± 1.52%) 4.03s (± 0.98%) ~ 3.98s 4.07s p=0.288 n=6
Total Time 53.72s (± 0.28%) 53.65s (± 0.33%) ~ 53.40s 53.92s p=0.575 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 259,185 259,189 +4 (+ 0.00%) ~ ~ p=0.001 n=6
Types 105,823 105,840 +17 (+ 0.02%) ~ ~ p=0.001 n=6
Memory used 429,433k (± 0.02%) 429,453k (± 0.05%) ~ 429,305k 429,916k p=0.471 n=6
Parse Time 3.36s (± 0.59%) 3.37s (± 0.70%) ~ 3.33s 3.39s p=0.570 n=6
Bind Time 1.33s (± 1.03%) 1.32s (± 1.00%) ~ 1.30s 1.34s p=0.566 n=6
Check Time 18.06s (± 0.29%) 18.07s (± 0.43%) ~ 17.98s 18.15s p=1.000 n=6
Emit Time 1.65s (± 1.25%) 1.63s (± 0.85%) -0.03s (- 1.71%) 1.61s 1.64s p=0.043 n=6
Total Time 24.39s (± 0.34%) 24.38s (± 0.28%) ~ 24.32s 24.49s p=1.000 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,931 224,931 ~ ~ ~ p=1.000 n=6
Types 94,146 94,146 ~ ~ ~ p=1.000 n=6
Memory used 370,046k (± 0.03%) 369,976k (± 0.04%) ~ 369,879k 370,266k p=0.230 n=6
Parse Time 3.45s (± 0.44%) 3.43s (± 1.03%) ~ 3.37s 3.46s p=0.465 n=6
Bind Time 1.91s (± 0.39%) 1.92s (± 0.77%) ~ 1.90s 1.94s p=0.241 n=6
Check Time 19.25s (± 0.17%) 19.27s (± 0.33%) ~ 19.17s 19.34s p=0.688 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.61s (± 0.17%) 24.61s (± 0.25%) ~ 24.53s 24.67s p=0.295 n=6
vscode - node (v18.15.0, x64)
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 2,978,923 2,978,923 ~ ~ ~ p=1.000 n=6
Types 1,024,932 1,024,932 ~ ~ ~ p=1.000 n=6
Memory used 3,104,048k (± 0.00%) 3,104,057k (± 0.00%) ~ 3,103,925k 3,104,166k p=0.689 n=6
Parse Time 13.88s (± 0.33%) 13.87s (± 0.30%) ~ 13.82s 13.93s p=0.686 n=6
Bind Time 4.34s (± 2.20%) 4.32s (± 2.02%) ~ 4.27s 4.50s p=0.624 n=6
Check Time 79.21s (± 0.32%) 79.11s (± 0.31%) ~ 78.82s 79.46s p=0.471 n=6
Emit Time 20.43s (± 0.64%) 20.49s (± 0.30%) ~ 20.42s 20.60s p=0.748 n=6
Total Time 117.86s (± 0.26%) 117.79s (± 0.21%) ~ 117.56s 118.07s p=0.810 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 267,602 267,602 ~ ~ ~ p=1.000 n=6
Types 109,105 109,105 ~ ~ ~ p=1.000 n=6
Memory used 412,285k (± 0.01%) 412,318k (± 0.02%) ~ 412,222k 412,405k p=0.471 n=6
Parse Time 3.84s (± 0.67%) 3.85s (± 0.61%) ~ 3.81s 3.87s p=0.571 n=6
Bind Time 1.71s (± 1.72%) 1.71s (± 0.80%) ~ 1.69s 1.73s p=0.870 n=6
Check Time 16.80s (± 0.20%) 16.78s (± 0.48%) ~ 16.67s 16.90s p=0.520 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.35s (± 0.25%) 22.35s (± 0.39%) ~ 22.21s 22.43s p=0.872 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 511,803 511,803 ~ ~ ~ p=1.000 n=6
Types 162,088 162,088 ~ ~ ~ p=1.000 n=6
Memory used 449,092k (± 0.07%) 448,906k (± 0.07%) ~ 448,532k 449,243k p=0.298 n=6
Parse Time 3.90s (± 0.35%) 3.90s (± 0.21%) ~ 3.89s 3.91s p=0.604 n=6
Bind Time 1.44s (± 0.62%) 1.44s (± 1.27%) ~ 1.42s 1.46s p=0.806 n=6
Check Time 21.27s (± 0.34%) 21.31s (± 0.55%) ~ 21.17s 21.43s p=0.936 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 26.62s (± 0.24%) 26.66s (± 0.45%) ~ 26.52s 26.80s p=0.748 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,411ms (± 0.45%) 3,394ms (± 0.77%) ~ 3,361ms 3,424ms p=0.378 n=6
Req 2 - geterr 7,609ms (± 0.42%) 7,600ms (± 0.32%) ~ 7,571ms 7,627ms p=0.575 n=6
Req 3 - references 391ms (± 1.01%) 393ms (± 1.14%) ~ 389ms 399ms p=0.186 n=6
Req 4 - navto 335ms (± 0.67%) 337ms (± 0.29%) ~ 336ms 339ms p=0.152 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 123ms (± 5.60%) 122ms (± 5.67%) ~ 116ms 134ms p=0.809 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,927ms (± 1.18%) 3,086ms (± 8.27%) ~ 2,922ms 3,586ms p=0.109 n=6
Req 2 - geterr 5,152ms (±11.35%) 4,983ms (±11.42%) ~ 4,590ms 5,756ms p=0.873 n=6
Req 3 - references 376ms (±10.71%) 410ms (± 0.18%) ~ 409ms 411ms p=0.141 n=6
Req 4 - navto 342ms (± 1.47%) 342ms (± 1.97%) ~ 334ms 351ms p=0.568 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 117ms (± 7.83%) 110ms (±13.88%) ~ 87ms 124ms p=0.419 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 7,685ms (± 0.32%) 7,683ms (± 0.20%) ~ 7,663ms 7,701ms p=0.873 n=6
Req 2 - geterr 1,657ms (± 0.86%) 1,663ms (± 1.03%) ~ 1,645ms 1,691ms p=0.748 n=6
Req 3 - references 126ms (± 0.41%) 127ms (± 0.81%) ~ 126ms 128ms p=0.774 n=6
Req 4 - navto 599ms (± 1.45%) 596ms (± 2.60%) ~ 574ms 612ms p=1.000 n=6
Req 5 - completionInfo count 3,417 3,417 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 1,238ms (± 1.60%) 1,245ms (± 0.85%) ~ 1,226ms 1,254ms p=0.574 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 189.00ms (± 0.16%) 189.12ms (± 0.18%) +0.12ms (+ 0.06%) 187.28ms 191.67ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 284.62ms (± 0.27%) 284.31ms (± 0.26%) -0.31ms (- 0.11%) 277.09ms 288.15ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 278.49ms (± 0.28%) 278.43ms (± 0.28%) -0.06ms (- 0.02%) 271.95ms 284.78ms p=0.009 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 338.86ms (± 0.28%) 338.75ms (± 0.30%) -0.12ms (- 0.03%) 330.81ms 347.14ms p=0.001 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@jakebailey
Copy link
Member Author

Not really helping, honestly. I don't know that this is worth it besides the cleanup...

@sheetalkamat
Copy link
Member

Not really helping, honestly. I don't know that this is worth it besides the cleanup...

If we are keeping the try catch around stat calls then i wouldn't change anything otherwise change before you added try catch block is desirable.

@jakebailey
Copy link
Member Author

If we are keeping the try catch around stat calls then i wouldn't change anything

You mean, you think this PR isn't worth it, or, that this PR is okay in the current state?

@sheetalkamat
Copy link
Member

i am saying this PR is not needed if we arent getting rid of try and catch block.
If we need to make any change: change till ba4e6db should be done That is not including 508530b

@jakebailey
Copy link
Member Author

Hm, maybe I'm not understanding the problem; this at least consolidates the try catching. If we're super confident that no polyfill will get this wrong, I can just revert the try catch. Mainly I was just trying to eliminate the writes to Error.stackTraceLimit, since they wouldn't be needed on a well-behaved system anymore.

@jakebailey jakebailey marked this pull request as draft July 22, 2024 23:05
@jakebailey jakebailey marked this pull request as ready for review August 9, 2024 20:00
@jakebailey
Copy link
Member Author

I've also read a bit and it seems like try/catch is free as long as any error is never thrown, which it won't be unless someone has a bad platform implementation.

@jakebailey jakebailey merged commit 2074657 into microsoft:main Sep 26, 2024
@jakebailey jakebailey deleted the statSync branch September 26, 2024 22:28
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.

3 participants